protocol - Is this "transaction malleability" really an

does Segwit fix transaction malleability bug for all transaction? Or just Segwit transactions /r/Bitcoin

does Segwit fix transaction malleability bug for all transaction? Or just Segwit transactions /Bitcoin submitted by HiIAMCaptainObvious to BitcoinAll [link] [comments]

Are there any cryptocurrencies that do not suffer from the same "transaction malleability" bug that Bitcoin does?

submitted by MBoudet to CryptoMarkets [link] [comments]

What the 'Bitcoin Bug' Means: A Guide to Transaction Malleability

What the 'Bitcoin Bug' Means: A Guide to Transaction Malleability submitted by JournoDan to Bitcoin [link] [comments]

Bitcoin Foundation Confirms Work on Transaction Malleability-Related Bug Fixes

Bitcoin Foundation Confirms Work on Transaction Malleability-Related Bug Fixes submitted by BTCNews to Bitcoin [link] [comments]

Technical: The Path to Taproot Activation

Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it!
(If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?)
(Pedants: I mostly elide over lockin times)
Briefly, Taproot is that neat new thing that gets us:
So yes, let's activate taproot!

The SegWit Wars

The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions.
So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!

BIP9 Miner-Activated Soft Fork

Basically, BIP9 has a bunch of parameters:
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two.
A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this.
So, first some simple questions and their answers:

The Great Battles of the SegWit Wars

SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain).
So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%.
Thus were the Great SegWit Wars started.

BIP9 Feature Hostage

If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage.
You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever.
With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you.
This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.

Covert ASICBoost

ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere
Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected.
Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway.
Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost!
But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage).
Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit.
Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!

UASF: BIP148 and BIP8

When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit.
Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit.
This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core.
Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout).
BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled.
This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9.
Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.

BIP91, SegWit2X, and The Aftermath

BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community.
One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym.
The text of the NYA was basically:
  1. Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
    • When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
  2. If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91.
Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit.
Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X).
This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists.
Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.

Taproot Activation Proposals

There are two primary proposals I can see for Taproot activation:
  1. BIP8.
  2. Modern Softfork Activation.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout)
So let's take a look at Modern Softfork Activation!

Modern Softfork Activation

This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
  1. First have a 12-month BIP9 (fail at timeout).
  2. If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
  3. Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation.
The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.

PSA: Being Resilient to Upgrades

Software is very birttle.
Anyone who has been using software for a long time has experienced something like this:
  1. You hear a new version of your favorite software has a nice new feature.
  2. Excited, you install the new version.
  3. You find that the new version has subtle incompatibilities with your current workflow.
  4. You are sad and downgrade to the older version.
  5. You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
  6. You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system.
And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk.
Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations.
So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
  1. One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
  2. The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist.
Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems.
When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well).
This recommendation is from gmaxwell on IRC, by the way.
submitted by almkglor to Bitcoin [link] [comments]

TRX Malleability

Just curious, does BCH have a fix for the TRX malleability bug ?
submitted by ClintRichards to btc [link] [comments]

Technical: A Brief History of Payment Channels: from Satoshi to Lightning Network

Who cares about political tweets from some random country's president when payment channels are a much more interesting and are actually capable of carrying value?
So let's have a short history of various payment channel techs!

Generation 0: Satoshi's Broken nSequence Channels

Because Satoshi's Vision included payment channels, except his implementation sucked so hard we had to go fix it and added RBF as a by-product.
Originally, the plan for nSequence was that mempools would replace any transaction spending certain inputs with another transaction spending the same inputs, but only if the nSequence field of the replacement was larger.
Since 0xFFFFFFFF was the highest value that nSequence could get, this would mark a transaction as "final" and not replaceable on the mempool anymore.
In fact, this "nSequence channel" I will describe is the reason why we have this weird rule about nLockTime and nSequence. nLockTime actually only works if nSequence is not 0xFFFFFFFF i.e. final. If nSequence is 0xFFFFFFFF then nLockTime is ignored, because this if the "final" version of the transaction.
So what you'd do would be something like this:
  1. You go to a bar and promise the bartender to pay by the time the bar closes. Because this is the Bitcoin universe, time is measured in blockheight, so the closing time of the bar is indicated as some future blockheight.
  2. For your first drink, you'd make a transaction paying to the bartender for that drink, paying from some coins you have. The transaction has an nLockTime equal to the closing time of the bar, and a starting nSequence of 0. You hand over the transaction and the bartender hands you your drink.
  3. For your succeeding drink, you'd remake the same transaction, adding the payment for that drink to the transaction output that goes to the bartender (so that output keeps getting larger, by the amount of payment), and having an nSequence that is one higher than the previous one.
  4. Eventually you have to stop drinking. It comes down to one of two possibilities:
    • You drink until the bar closes. Since it is now the nLockTime indicated in the transaction, the bartender is able to broadcast the latest transaction and tells the bouncers to kick you out of the bar.
    • You wisely consider the state of your liver. So you re-sign the last transaction with a "final" nSequence of 0xFFFFFFFF i.e. the maximum possible value it can have. This allows the bartender to get his or her funds immediately (nLockTime is ignored if nSequence is 0xFFFFFFFF), so he or she tells the bouncers to let you out of the bar.
Now that of course is a payment channel. Individual payments (purchases of alcohol, so I guess buying coffee is not in scope for payment channels). Closing is done by creating a "final" transaction that is the sum of the individual payments. Sure there's no routing and channels are unidirectional and channels have a maximum lifetime but give Satoshi a break, he was also busy inventing Bitcoin at the time.
Now if you noticed I called this kind of payment channel "broken". This is because the mempool rules are not consensus rules, and cannot be validated (nothing about the mempool can be validated onchain: I sigh every time somebody proposes "let's make block size dependent on mempool size", mempool state cannot be validated by onchain data). Fullnodes can't see all of the transactions you signed, and then validate that the final one with the maximum nSequence is the one that actually is used onchain. So you can do the below:
  1. Become friends with Jihan Wu, because he owns >51% of the mining hashrate (he totally reorged Bitcoin to reverse the Binance hack right?).
  2. Slip Jihan Wu some of the more interesting drinks you're ordering as an incentive to cooperate with you. So say you end up ordering 100 drinks, you split it with Jihan Wu and give him 50 of the drinks.
  3. When the bar closes, Jihan Wu quickly calls his mining rig and tells them to mine the version of your transaction with nSequence 0. You know, that first one where you pay for only one drink.
  4. Because fullnodes cannot validate nSequence, they'll accept even the nSequence=0 version and confirm it, immutably adding you paying for a single alcoholic drink to the blockchain.
  5. The bartender, pissed at being cheated, takes out a shotgun from under the bar and shoots at you and Jihan Wu.
  6. Jihan Wu uses his mystical chi powers (actually the combined exhaust from all of his mining rigs) to slow down the shotgun pellets, making them hit you as softly as petals drifting in the wind.
  7. The bartender mutters some words, clothes ripping apart as he or she (hard to believe it could be a she but hey) turns into a bear, ready to maul you for cheating him or her of the payment for all the 100 drinks you ordered from him or her.
  8. Steely-eyed, you stand in front of the bartender-turned-bear, daring him to touch you. You've watched Revenant, you know Leonardo di Caprio could survive a bear mauling, and if some posh actor can survive that, you know you can too. You make a pose. "Drunken troll logic attack!"
  9. I think I got sidetracked here.
Lessons learned?

Spilman Channels

Incentive-compatible time-limited unidirectional channel; or, Satoshi's Vision, Fixed (if transaction malleability hadn't been a problem, that is).
Now, we know the bartender will turn into a bear and maul you if you try to cheat the payment channel, and now that we've revealed you're good friends with Jihan Wu, the bartender will no longer accept a payment channel scheme that lets one you cooperate with a miner to cheat the bartender.
Fortunately, Jeremy Spilman proposed a better way that would not let you cheat the bartender.
First, you and the bartender perform this ritual:
  1. You get some funds and create a transaction that pays to a 2-of-2 multisig between you and the bartender. You don't broadcast this yet: you just sign it and get its txid.
  2. You create another transaction that spends the above transaction. This transaction (the "backoff") has an nLockTime equal to the closing time of the bar, plus one block. You sign it and give this backoff transaction (but not the above transaction) to the bartender.
  3. The bartender signs the backoff and gives it back to you. It is now valid since it's spending a 2-of-2 of you and the bartender, and both of you have signed the backoff transaction.
  4. Now you broadcast the first transaction onchain. You and the bartender wait for it to be deeply confirmed, then you can start ordering.
The above is probably vaguely familiar to LN users. It's the funding process of payment channels! The first transaction, the one that pays to a 2-of-2 multisig, is the funding transaction that backs the payment channel funds.
So now you start ordering in this way:
  1. For your first drink, you create a transaction spending the funding transaction output and sending the price of the drink to the bartender, with the rest returning to you.
  2. You sign the transaction and pass it to the bartender, who serves your first drink.
  3. For your succeeding drinks, you recreate the same transaction, adding the price of the new drink to the sum that goes to the bartender and reducing the money returned to you. You sign the transaction and give it to the bartender, who serves you your next drink.
  4. At the end:
    • If the bar closing time is reached, the bartender signs the latest transaction, completing the needed 2-of-2 signatures and broadcasting this to the Bitcoin network. Since the backoff transaction is the closing time + 1, it can't get used at closing time.
    • If you decide you want to leave early because your liver is crying, you just tell the bartender to go ahead and close the channel (which the bartender can do at any time by just signing and broadcasting the latest transaction: the bartender won't do that because he or she is hoping you'll stay and drink more).
    • If you ended up just hanging around the bar and never ordering, then at closing time + 1 you broadcast the backoff transaction and get your funds back in full.
Now, even if you pass 50 drinks to Jihan Wu, you can't give him the first transaction (the one which pays for only one drink) and ask him to mine it: it's spending a 2-of-2 and the copy you have only contains your own signature. You need the bartender's signature to make it valid, but he or she sure as hell isn't going to cooperate in something that would lose him or her money, so a signature from the bartender validating old state where he or she gets paid less isn't going to happen.
So, problem solved, right? Right? Okay, let's try it. So you get your funds, put them in a funding tx, get the backoff tx, confirm the funding tx...
Once the funding transaction confirms deeply, the bartender laughs uproariously. He or she summons the bouncers, who surround you menacingly.
"I'm refusing service to you," the bartender says.
"Fine," you say. "I was leaving anyway;" You smirk. "I'll get back my money with the backoff transaction, and posting about your poor service on reddit so you get negative karma, so there!"
"Not so fast," the bartender says. His or her voice chills your bones. It looks like your exploitation of the Satoshi nSequence payment channel is still fresh in his or her mind. "Look at the txid of the funding transaction that got confirmed."
"What about it?" you ask nonchalantly, as you flip open your desktop computer and open a reputable blockchain explorer.
What you see shocks you.
"What the --- the txid is different! You--- you changed my signature?? But how? I put the only copy of my private key in a sealed envelope in a cast-iron box inside a safe buried in the Gobi desert protected by a clan of nomads who have dedicated their lives and their childrens' lives to keeping my private key safe in perpetuity!"
"Didn't you know?" the bartender asks. "The components of the signature are just very large numbers. The sign of one of the signature components can be changed, from positive to negative, or negative to positive, and the signature will remain valid. Anyone can do that, even if they don't know the private key. But because Bitcoin includes the signatures in the transaction when it's generating the txid, this little change also changes the txid." He or she chuckles. "They say they'll fix it by separating the signatures from the transaction body. They're saying that these kinds of signature malleability won't affect transaction ids anymore after they do this, but I bet I can get my good friend Jihan Wu to delay this 'SepSig' plan for a good while yet. Friendly guy, this Jihan Wu, it turns out all I had to do was slip him 51 drinks and he was willing to mine a tx with the signature signs flipped." His or her grin widens. "I'm afraid your backoff transaction won't work anymore, since it spends a txid that is not existent and will never be confirmed. So here's the deal. You pay me 99% of the funds in the funding transaction, in exchange for me signing the transaction that spends with the txid that you see onchain. Refuse, and you lose 100% of the funds and every other HODLer, including me, benefits from the reduction in coin supply. Accept, and you get to keep 1%. I lose nothing if you refuse, so I won't care if you do, but consider the difference of getting zilch vs. getting 1% of your funds." His or her eyes glow. "GENUFLECT RIGHT NOW."
Lesson learned?

CLTV-protected Spilman Channels

Using CLTV for the backoff branch.
This variation is simply Spilman channels, but with the backoff transaction replaced with a backoff branch in the SCRIPT you pay to. It only became possible after OP_CHECKLOCKTIMEVERIFY (CLTV) was enabled in 2015.
Now as we saw in the Spilman Channels discussion, transaction malleability means that any pre-signed offchain transaction can easily be invalidated by flipping the sign of the signature of the funding transaction while the funding transaction is not yet confirmed.
This can be avoided by simply putting any special requirements into an explicit branch of the Bitcoin SCRIPT. Now, the backoff branch is supposed to create a maximum lifetime for the payment channel, and prior to the introduction of OP_CHECKLOCKTIMEVERIFY this could only be done by having a pre-signed nLockTime transaction.
With CLTV, however, we can now make the branches explicit in the SCRIPT that the funding transaction pays to.
Instead of paying to a 2-of-2 in order to set up the funding transaction, you pay to a SCRIPT which is basically "2-of-2, OR this singlesig after a specified lock time".
With this, there is no backoff transaction that is pre-signed and which refers to a specific txid. Instead, you can create the backoff transaction later, using whatever txid the funding transaction ends up being confirmed under. Since the funding transaction is immutable once confirmed, it is no longer possible to change the txid afterwards.

Todd Micropayment Networks

The old hub-spoke model (that isn't how LN today actually works).
One of the more direct predecessors of the Lightning Network was the hub-spoke model discussed by Peter Todd. In this model, instead of payers directly having channels to payees, payers and payees connect to a central hub server. This allows any payer to pay any payee, using the same channel for every payee on the hub. Similarly, this allows any payee to receive from any payer, using the same channel.
Remember from the above Spilman example? When you open a channel to the bartender, you have to wait around for the funding tx to confirm. This will take an hour at best. Now consider that you have to make channels for everyone you want to pay to. That's not very scalable.
So the Todd hub-spoke model has a central "clearing house" that transport money from payers to payees. The "Moonbeam" project takes this model. Of course, this reveals to the hub who the payer and payee are, and thus the hub can potentially censor transactions. Generally, though, it was considered that a hub would more efficiently censor by just not maintaining a channel with the payer or payee that it wants to censor (since the money it owned in the channel would just be locked uselessly if the hub won't process payments to/from the censored user).
In any case, the ability of the central hub to monitor payments means that it can surveill the payer and payee, and then sell this private transactional data to third parties. This loss of privacy would be intolerable today.
Peter Todd also proposed that there might be multiple hubs that could transport funds to each other on behalf of their users, providing somewhat better privacy.
Another point of note is that at the time such networks were proposed, only unidirectional (Spilman) channels were available. Thus, while one could be a payer, or payee, you would have to use separate channels for your income versus for your spending. Worse, if you wanted to transfer money from your income channel to your spending channel, you had to close both and reshuffle the money between them, both onchain activities.

Poon-Dryja Lightning Network

Bidirectional two-participant channels.
The Poon-Dryja channel mechanism has two important properties:
Both the original Satoshi and the two Spilman variants are unidirectional: there is a payer and a payee, and if the payee wants to do a refund, or wants to pay for a different service or product the payer is providing, then they can't use the same unidirectional channel.
The Poon-Dryjam mechanism allows channels, however, to be bidirectional instead: you are not a payer or a payee on the channel, you can receive or send at any time as long as both you and the channel counterparty are online.
Further, unlike either of the Spilman variants, there is no time limit for the lifetime of a channel. Instead, you can keep the channel open for as long as you want.
Both properties, together, form a very powerful scaling property that I believe most people have not appreciated. With unidirectional channels, as mentioned before, if you both earn and spend over the same network of payment channels, you would have separate channels for earning and spending. You would then need to perform onchain operations to "reverse" the directions of your channels periodically. Secondly, since Spilman channels have a fixed lifetime, even if you never used either channel, you would have to periodically "refresh" it by closing it and reopening.
With bidirectional, indefinite-lifetime channels, you may instead open some channels when you first begin managing your own money, then close them only after your lawyers have executed your last will and testament on how the money in your channels get divided up to your heirs: that's just two onchain transactions in your entire lifetime. That is the potentially very powerful scaling property that bidirectional, indefinite-lifetime channels allow.
I won't discuss the transaction structure needed for Poon-Dryja bidirectional channels --- it's complicated and you can easily get explanations with cute graphics elsewhere.
There is a weakness of Poon-Dryja that people tend to gloss over (because it was fixed very well by RustyReddit):
Another thing I want to emphasize is that while the Lightning Network paper and many of the earlier presentations developed from the old Peter Todd hub-and-spoke model, the modern Lightning Network takes the logical conclusion of removing a strict separation between "hubs" and "spokes". Any node on the Lightning Network can very well work as a hub for any other node. Thus, while you might operate as "mostly a payer", "mostly a forwarding node", "mostly a payee", you still end up being at least partially a forwarding node ("hub") on the network, at least part of the time. This greatly reduces the problems of privacy inherent in having only a few hub nodes: forwarding nodes cannot get significantly useful data from the payments passing through them, because the distance between the payer and the payee can be so large that it would be likely that the ultimate payer and the ultimate payee could be anyone on the Lightning Network.
Lessons learned?

Future

After LN, there's also the Decker-Wattenhofer Duplex Micropayment Channels (DMC). This post is long enough as-is, LOL. But for now, it uses a novel "decrementing nSequence channel", using the new relative-timelock semantics of nSequence (not the broken one originally by Satoshi). It actually uses multiple such "decrementing nSequence" constructs, terminating in a pair of Spilman channels, one in both directions (thus "duplex"). Maybe I'll discuss it some other time.
The realization that channel constructions could actually hold more channel constructions inside them (the way the Decker-Wattenhofer puts a pair of Spilman channels inside a series of "decrementing nSequence channels") lead to the further thought behind Burchert-Decker-Wattenhofer channel factories. Basically, you could host multiple two-participant channel constructs inside a larger multiparticipant "channel" construct (i.e. host multiple channels inside a factory).
Further, we have the Decker-Russell-Osuntokun or "eltoo" construction. I'd argue that this is "nSequence done right". I'll write more about this later, because this post is long enough.
Lessons learned?
submitted by almkglor to Bitcoin [link] [comments]

WARNING: Bitcoin Cash May Introduce Fatal Errors

Hi All,
I am long-term Bitcoin enthusiast and a core developer of PascalCoin, an infinitely scalable and completely original cryptocurrency (https://www.pascalcoin.org). I am also the developer of BlockchainSQL.io, an SQL-backend for Bitcoin.
I have been involved in Bitcoin community for a long time, and was a big supporter of hard-forking on Aug 1 2017 (https://redd.it/6i5qt1).
Due to the recent alarming proposals and the method which they are being pushed, I feel I have a moral duty to speak out to warn against what could be fatal technical errors for BCH.
As a full-time core developer at PascalCoin for last 18 months, I have dealt with DoS attacks, 51% attacks, timewarp attacks, mining centralisation attacks, out-of-consensus bugs, high-orphan rates and various other issues. Suffice to say, Layer-1 cryptocurrency development is hard and you don't really appreciate how fragile everything this until you work on a cryptocurrency codebase and manage a live mainnet (disclaimer: Albert Molina is main genius here, but it is a team effort).
Infinite Block Size: I know there has been much discussion here about the safety of "big blocks", and I generally agree with those arguments. However, the analysis I've seen always assumes the attackers are economically rational actors. On that basis, yes, the laws of economics will incentivise miners to naturally regulate the size of minted blocks. However, this does not include "economically irrational actors" such as competing coins, governments, banks, etc.
Allowing the natural limit of 32mb I think was a sensible move, but adding changes to the network protocol to allow 128mb blocks and then more, does not seem appropriate right now since:
It makes much more sense to leave the blocksize at 32mb until blocks reach ~16mb at which point the technical, security and reliability issues can be better understood and a more informed decision can be made by the BCH community.
Re-Enabling Opcodes: It's important to remember that these opcodes were disabled by Satoshi Nakamoto himself early on in the project due to ongoing bugs and instability arising out of the scripting engine (https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures).
Later as the scripts became standardized, this issue was forgotten/abandoned since it would require a hard-fork to reactivate them and Core developers were against HF's. Personally, I think it's a good idea to re-enable them, but only after:
Infinite Script Size: One of the proposals I've seen that compliments re-enabling opcodes is to enable unbounded script sizes. From local discussions I've had with people promoting this idea, the "belief" is that miners will auto-regulate these as well. However, this is unproven.
Unbounded script-size introduce signficant attack-vectors in the areas of denial of service and stack/memory overflow (especially with all opcodes). One attack I can foresee here is the introduction of quadratic-hashing attack but inside a single transaction!
You have to understand that Ethereum had this problem from the onset and this is why they introduced the concept of "GAS". CPU power is a limited resource and if you don't pay for it, it will be completely abused. From what I've seen, there is no equivalent to GAS inside this proposal.
To understand the seriousness of this issue, think back to Ethereum's network instability before the DAO hacker. It went through many periods of DoS attacks as hackers cleverly found oversights in their opcode/EVM engine. This is a serious, proven and real-world attack-vector and not one to be "solved later". The BCH network could be brought to a grinding halt and easily with unbounded script sizes that do not pay any gas.
Voting/Signaling/Testnet: Even at PascalCoin, we go through a process of voting to enable all changes (https://www.pascalcoin.org/voting). We are barely a 10mill mcap coin and yet show more discipline with Voting, well-defined PIP design guidelines and Testnet releases. There is no excuse for BCH! It is a multi-billion dollar network and changes of this magnitude cannot be released so recklessly in such short time-frames.
I hope these comments are considered by stakeholders of BCH and the community at large. I am not a maximalist and support BCH, but the last week has revealed there is a serious technical void in BCH! The Bitcoin Core devs may not know much about economics, but they did know some things about security & reliability of cryptocurrency software.
PLEASE REMEMBER THERE ARE EXTREMELY TALENTED AND VICIOUS ATTACKERS OUT THERE and you need to be very careful with changes of this magnitude.
submitted by HermanSchoenfeld to btc [link] [comments]

Bitcoin Core version 0.11.1 released.

Bitcoin Core version 0.11.1 released. submitted by Michagogo to Bitcoin [link] [comments]

Who remembers the FlexTrans vs Segwit discussions?!

So I have a friend who is on the BTC side of the fence, and every six months or so we like to get into it. One thing he always seems the bring up is a term called "Transaction Malleability." He claims that this is a "bug" that Segwit fixed and insinuates that BCH is still vulnerable in some way. Well finally I took the time to research and understand what this transaction malleablility thing is all about...
My research led me to lots of interesting places... Jimmy Song's explanation, which is basically the Core narrative A YouTube video by ThomasZander which I skimmed through A page on the Bitcoin Classic website This VERY helpful article by Jonald_Fyookball A Bitcoin Classic page on Flexible Transactions
and Another Bitcoin Classic page Comparing Flex Trans to Segwit
I feel like I really get it now... and I had fun going back into the chat with him and posted this...

I've been doing a lot of research after our conversation and based on what I've found I'm pretty sure transactions are still malleable in bitcoin. Only segwit transactions are not. So about 66% of all btc transactions are still affected by this "bug" as you say 😱. My sky is falling...
My question to this community is this. Who was around and active during these Segwit vs Flex Trans debates and can share with me some of the history of how it went down? Were flexible transactions ever debated as a viable alternative to Segwit with the pros and cons weighed? Were there any sound technical arguments in favor of Segwit over FlexTrans?
And of lesser importance... He's also sold on the idea that Bitmain had to create the BCH fork to maintain their Asicboost advantage. Does fixing transaction malleability break Asicboost? Or was it one of the other Segwit changes that breaks Asicboost? Thx & any input is appreciated.
submitted by Tomayachi to btc [link] [comments]

Google searches for Unconfirmed Transactions up 56% this week - thanks Blockstream!

Google searches for Unconfirmed Transactions up 56% this week - thanks Blockstream! submitted by increaseblocks to btc [link] [comments]

How many coins has lukejr 51% attacked?

BBQ coin and coiledcoin any others ? He also ran a smear campaign against litecoin which he called a crap ponzi scheme on litecoin wiki when he controlled it. Has he stopped this behaviour or does it continue?
submitted by Joeonepack to btc [link] [comments]

A lengthy explanation on why BS really limited the blocksize

I found this explanation in the comments about BS's argument against raising the blocksize which doesn't get much focus here:
In my understanding, allowing Luke to run his node is not the reason, but only an excuse that Blockstream has been using to deny any actual block size limit increase. The actual reason, I guess, is that Greg wants to see his "fee market" working. It all started on Feb/2013. Greg posted to bitcointalk his conclusion that Satoshi's design with unlimited blocks was fatally flawed, because, when the block reward dwindled, miners would undercut each other's transaction fees until they all went bakrupt. But he had a solution: a "layer 2" network that would carry the actual bitcoin payments, with Satoshi's network being only used for large sporadic settlements between elements of that "layer 2".
(At the time, Greg assumed that the layer 2 would consist of another invention of his, "pegged sidechains" -- altcoins that would be backed by bitcoin, with some cryptomagic mechanism to lock the bitcoins in the main blockchain while they were in use by the sidechain. A couple of years later, people concluded that sidechains would not work as a layer 2. Fortunately for him, Poon and Dryja came up with the Lightning Network idea, that could serve as layer 2 instead.)
The layer 1 settlement transactions, being relatively rare and high-valued, supposedly could pay the high fees needed to sustain the miners. Those fees would be imposed by keeping the block sizes limited, so that the layer-1 users woudl have to compete for space by raising their fees. Greg assumed that a "fee market" would develop where users could choose to pay higher fees in exchange of faster confirmation.
Gavin and Mike, who were at the time in control of the Core implementation, dismissed Greg's claims and plans. In fact there were many things wrong with them, technical and economical. Unfortunately, in 2014 Blockstream was created, with 30 M (later 70 M) of venture capital -- which gave Greg the means to hire the key Core developers, push Gavin and Mike out of the way, and make his 2-layer design the official roadmap for the Core project.
Greg never provided any concrete justification, by analysis or simulation, for his claims of eventual hashpower collapse in Satoshi's design or the feasibility of his 2-layer design.
On the other hand, Mike showed, with both means, that Greg's "fee market" would not work. And, indeed, instead of the stable backlog with well-defined fee x delay schedule, that Greg assumed, there is a sequence of huge backlogs separated by periods with no backlog.
During the backlogs, the fees and delays are completely unpredictable, and a large fraction of the transactions are inevitably delayed by days or weeks. During the intemezzos, there is no "fee market' because any transaction that pays the minimum fee (a few cents) gets confirmed in the next block.
That is what Mike predicted, by theory and simulations -- and has been going on since Jan/2016, when the incoming non-spam traffic first hit the 1 MB limit. However, Greg stubbornly insists that it is just a temporary situation, and, as soon as good fee estimators are developed and widely used, the "fee market" will stabilize. He simply ignores all arguments of why fee estimation is a provably unsolvable problem and a stable backlog just cannot exist. He desperately needs his stable "fee market" to appear -- because, if it doesn't, then his entire two-layer redesign collapses.
That, as best as I can understand, is the real reason why Greg -- and hence Blockstream and Core -- cannot absolutely allow the block size limit to be raised. And also why he cannot just raise the minimum fee, which would be a very simple way to reduce frivolous use without the delays and unpredictability of the "fee market". Before the incoming traffic hit the 1 MB limit, it was growing 50-100% per year. Greg already had to accept, grudgingly, the 70% increase that would be a side effect of SegWit. Raising the limit, even to a miser 2 MB, would have delayed his "stable fee market" by another year or two. And, of course, if he allowed a 2 MB increase, others would soon follow.
Hence his insistence that bigger blocks would force the closure of non-mining relays like Luke's, which (he incorrectly claims) are responsible for the security of the network, And he had to convince everybody that hard forks -- needed to increase the limit -- are more dangerous than plutonium contaminated with ebola.
SegWit is another messy imbroglio that resulted from that pile of lies. The "malleability bug" is a flaw of the protocol that lets a third party make cosmetic changes to a transaction ("malleate" it), as it is on its way to the miners, without changing its actual effect.
The malleability bug (MLB) does not bother anyone at present, actually. Its only serious consequence is that it may break chains of unconfirmed transactions, Say, Alice issues T1 to pay Bob and then immediately issues T2 that spends the return change of T1 to pay Carol. If a hacker (or Bob, or Alice) then malleates T1 to T1m, and gets T1m confirmed instead of T1, then T2 will fail.
However, Alice should not be doing those chained unconfirmed transactions anyway, because T1 could fail to be confirmed for several other reasons -- especially if there is a backlog.
On the other hand, the LN depends on chains of the so-called bidirectional payment channels, and these essentially depend on chained unconfirmed transactions. Thus, given the (false but politically necessary) claim that the LN is ready to be deployed, fixing the MB became a urgent goal for Blockstream.
There is a simple and straightforward fix for the MLB, that would require only a few changes to Core and other blockchain software. That fix would require a simple hard fork, that (like raising the limit) would be a non-event if programmed well in advance of its activation.
But Greg could not allow hard forks, for the above reason. If he allowed a hard fork to fix the MLB, he would lose his best excuse for not raising the limit. Fortunately for him, Pieter Wuille and Luke found a convoluted hack -- SegWit -- that would fix the MLB without any hated hard fork.
Hence Blockstream's desperation to get SegWit deployed and activated. If SegWit passes, the big-blockers will lose a strong argument to do hard forks. If it fails to pass, it would be impossible to stop a hard fork with a real limit increase.
On the other hand, SegWit needed to offer a discount in the fee charged for the signatures ("witnesses"). The purpose of that discount seems to be to convince clients to adopt SegWit (since, being a soft fork, clients are not strictly required to use it). Or maybe the discount was motivated by another of Greg's inventions, Confidential Transactions (CT) -- a mixing service that is supposed to be safer and more opaque than the usual mixers. It seems that CT uses larger signatures, so it would especially benefit from the SegWit discount.
Anyway, because of that discount and of the heuristic that the Core miner uses to fill blocks, it was also necessary to increase the effective block size, by counting signatures as 1/4 of their actual size when checking the 1 MB limit. Given today's typical usage, that change means that about 1.7 MB of transactions will fit in a "1 MB" block. If it wasn't for the above political/technical reasons, I bet that Greg woudl have firmly opposed that 70% increase as well.
If SegWit is an engineering aberration, SegWit2X is much worse. Since it includes an increase in the limit from 1 MB to 2 MB, it will be a hard fork. But if it is going to be a hard fork, there is no justification to use SegWit to fix the MLB: that bug could be fixed by the much simpler method mentioned above.
And, anyway, there is no urgency to fix the MLB -- since the LN has not reached the vaporware stage yet, and has yet to be shown to work at all.
I'd like to thank u/iwannabeacypherpunk for pointing this out to me.
submitted by unitedstatian to btc [link] [comments]

Karpeles Declaration - US Bankruptcy Court - 10 March 2014

Karpeles Declaration - US Bankruptcy Court - 10 March 2014 submitted by Redditcoin to Bitcoin [link] [comments]

Slush: Buying into a cryptocurrency that relies on self-interest of miners for security/protocol enforcement and then complaining about miners acting in their self-interest - has this guy gone off the rails?

Slush: Buying into a cryptocurrency that relies on self-interest of miners for security/protocol enforcement and then complaining about miners acting in their self-interest - has this guy gone off the rails? submitted by mushner to btc [link] [comments]

Is there a chance we see SegwitWoof on Dogecoin?

Lighting Network between DOGE/BTC/LTC and other coins with functional segwit would be heaven. All hail shibe
submitted by Damulin to dogecoin [link] [comments]

Long live decentralized bitcoin(!) A reading list

Newbs might not know this, but bitcoin recently came out of an intense internal drama. Between July 2015 and August 2017 bitcoin was attacked by external forces who were hoping to destroy the very properties that made bitcoin valuable in the first place. This culminated in the creation of segwit and the UASF (user activated soft fork) movement. The UASF was successful, segwit was added to bitcoin and with that the anti-decentralization side left bitcoin altogether and created their own altcoin called bcash. Bitcoin's price was $2500, soon after segwit was activated the price doubled to $5000 and continued rising until a top of $20000 before correcting to where we are today.
During this drama, I took time away from writing open source code to help educate and argue on reddit, twitter and other social media. I came up with a reading list for quickly copypasting things. It may be interesting today for newbs or anyone who wants a history lesson on what exactly happened during those two years when bitcoin's very existence as a decentralized low-trust currency was questioned. Now the fight has essentially been won, I try not to comment on reddit that much anymore. There's nothing left to do except wait for Lightning and similar tech to become mature (or better yet, help code it and test it)
In this thread you can learn about block sizes, latency, decentralization, segwit, ASICBOOST, lightning network and all the other issues that were debated endlessly for over two years. So when someone tries to get you to invest in bcash, remind them of the time they supported Bitcoin Unlimited.
For more threads like this see UASF

Summary / The fundamental tradeoff

A trip to the moon requires a rocket with multiple stages by gmaxwell (must read) https://www.reddit.com/Bitcoin/comments/438hx0/a_trip_to_the_moon_requires_a_rocket_with/
Bram Cohen, creator of bittorrent, argues against a hard fork to a larger block size https://medium.com/@bramcohen/bitcoin-s-ironic-crisis-32226a85e39f#.558vetum4
gmaxwell's summary of the debate https://bitcointalk.org/index.php?topic=1343716.msg13701818#msg13701818
Core devs please explain your vision (see luke's post which also argues that blocks are already too big) https://www.reddit.com/Bitcoin/comments/61yvvv/request_to_core_devs_please_explain_your_vision/
Mod of btc speaking against a hard fork https://www.reddit.com/btc/comments/57hd14/core_reaction_to_viabtc_this_week/d8scokm/
It's becoming clear to me that a lot of people don't understand how fragile bitcoin is https://www.reddit.com/Bitcoin/comments/59kflj/its_becoming_clear_to_me_that_a_lot_of_people/
Blockchain space must be costly, it can never be free https://www.reddit.com/Bitcoin/comments/4og24h/i_just_attended_the_distributed_trade_conference/
Charlie Lee with a nice analogy about the fundamental tradeoff https://medium.com/@SatoshiLite/eating-the-bitcoin-cake-fc2b4ebfb85e#.444vr8shw
gmaxwell on the tradeoffs https://bitcointalk.org/index.php?topic=1520693.msg15303746#msg15303746
jratcliff on the layering https://www.reddit.com/btc/comments/59upyh/segwit_the_poison_pill_for_bitcoin/d9bstuw/

Scaling on-chain will destroy bitcoin's decentralization

Peter Todd: How a floating blocksize limit inevitably leads towards centralization [Feb 2013] https://bitcointalk.org/index.php?topic=144895.0 mailing list https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2013-February/002176.html with discussion on reddit in Aug 2015 https://www.reddit.com/Bitcoin/comments/3hnvi8/just_a_little_history_lesson_for_everyone_new_the/
Nick Szabo's blog post on what makes bitcoin so special http://unenumerated.blogspot.com/2017/02/money-blockchains-and-social-scalability.html
There is academic research showing that even small (2MB) increases to the blocksize results in drastic node dropoff counts due to the non-linear increase of RAM needed. http://bravenewcoin.com/assets/Whitepapers/block-size-1.1.1.pdf
Reddit summary of above link. In this table, you can see it estimates a 40% drop immediately in node count with a 2MB upgrade and a 50% over 6 months. At 4mb, it becomes 75% immediately and 80% over 6 months. At 8, it becomes 90% and 95%. https://www.reddit.com/Bitcoin/comments/5qw2wa_future_led_by_bitcoin_unlimited_is_a/dd442pw/
Larger block sizes make centralization pressures worse (mathematical) https://petertodd.org/2016/block-publication-incentives-for-miners
Talk at scalingbitcoin montreal, initial blockchain synchronization puts serious constraints on any increase in the block size https://www.youtube.com/watch?v=TgjrS-BPWDQ&t=2h02m06s with transcript https://scalingbitcoin.org/transcript/montreal2015/block-synchronization-time
Bitcoin's P2P Network: The Soft Underbelly of Bitcoin https://www.youtube.com/watch?v=Y6kibPzbrIc someone's notes: https://gist.github.com/romyilano/5e22394857a39889a1e5 reddit discussion https://www.reddit.com/Bitcoin/comments/4py5df/so_f2pool_antpool_btcc_pool_are_actually_one_pool/
In adversarial environments blockchains dont scale https://scalingbitcoin.org/transcript/hongkong2015/in-adversarial-environments-blockchains-dont-scale
Why miners will not voluntarily individually produce smaller blocks https://scalingbitcoin.org/transcript/hongkong2015/why-miners-will-not-voluntarily-individually-produce-smaller-blocks
Hal Finney: bitcoin's blockchain can only be a settlement layer (mostly interesting because it's hal finney and its in 2010) https://www.reddit.com/Bitcoin/comments/3sb5nj/most_bitcoin_transactions_will_occur_between/
petertodd's 2013 video explaining this https://www.youtube.com/watch?v=cZp7UGgBR0I
luke-jr's summary https://www.reddit.com/Bitcoin/comments/61yvvv/request_to_core_devs_please_explain_your_vision/dficjhj/
Another jratcliff thread https://www.reddit.com/Bitcoin/comments/6lmpll/explaining_why_big_blocks_are_bad/

Full blocks are not a disaster

Blocks must be always full, there must always be a backlog https://medium.com/@bergealex4/bitcoin-is-unstable-without-the-block-size-size-limit-70db07070a54#.kh2vi86lr
Same as above, the mining gap means there must always be a backlog talk: https://www.youtube.com/watch?time_continue=2453&v=iKDC2DpzNbw transcript: https://scalingbitcoin.org/transcript/montreal2015/security-of-diminishing-block-subsidy
Backlogs arent that bad https://www.reddit.com/Bitcoin/comments/49p011/was_the_fee_event_really_so_bad_my_mind_is/
Examples where scarce block space causes people to use precious resources more efficiently https://www.reddit.com/Bitcoin/comments/4kxxvj/i_just_singlehandedly_increased_bitcoin_network/
https://www.reddit.com/Bitcoin/comments/47d4m2/why_does_coinbase_make_2_transactions_pe
https://www.reddit.com/Bitcoin/comments/53wucs/why_arent_blocks_full_yet/d7x19iv
Full blocks are fine https://www.reddit.com/Bitcoin/comments/5uld1a/misconception_full_blocks_mean_bitcoin_is_failing/
High miner fees imply a sustainable future for bitcoin https://www.reddit.com/BitcoinMarkets/comments/680tvf/fundamentals_friday_week_of_friday_april_28_2017/dgwmhl7/
gmaxwell on why full blocks are good https://www.reddit.com/Bitcoin/comments/6b57ca/full_blocks_good_or_bad/dhjxwbz/
The whole idea of the mempool being "filled" is wrong headed. The mempool doesn't "clog" or get stuck, or anything like that. https://www.reddit.com/Bitcoin/comments/7cusnx/to_the_people_still_doubting_that_this_congestion/dpssokf/

Segwit

What is segwit

luke-jr's longer summary https://www.reddit.com/Bitcoin/comments/6033h7/today_is_exactly_4_months_since_the_segwit_voting/df3tgwg/?context=1
Charlie Shrem's on upgrading to segwit https://twitter.com/CharlieShrem/status/842711238853513220
Original segwit talk at scalingbitcoin hong kong + transcript https://youtu.be/zchzn7aPQjI?t=110
https://scalingbitcoin.org/transcript/hongkong2015/segregated-witness-and-its-impact-on-scalability
Segwit is not too complex https://www.reddit.com/btc/comments/57vjin/segwit_is_not_great/d8vos33/
Segwit does not make it possible for miners to steal coins, contrary to what some people say https://www.reddit.com/btc/comments/5e6bt0/concerns_with_segwit_and_anyone_can_spend/daa5jat/?context=1
https://keepingstock.net/segwit-eli5-misinformation-faq-19908ceacf23#.r8hlzaquz
Segwit is required for a useful lightning network It's now known that without a malleability fix useful indefinite channels are not really possible.
https://www.reddit.com/Bitcoin/comments/5tzqtc/gentle_reminder_the_ln_doesnt_require_segwit/ddqgda7/
https://www.reddit.com/Bitcoin/comments/5tzqtc/gentle_reminder_the_ln_doesnt_require_segwit/ddqbukj/
https://www.reddit.com/Bitcoin/comments/5x2oh0/olaoluwa_osuntokun_all_active_lightning_network/deeto14/?context=3
Clearing up SegWit Lies and Myths: https://achow101.com/2016/04/Segwit-FUD-Clearup
Segwit is bigger blocks https://www.reddit.com/Bitcoin/comments/5pb8vs/misinformation_is_working_54_incorrectly_believe/dcpz3en/
Typical usage results in segwit allowing capacity equivalent to 2mb blocks https://www.reddit.com/Bitcoin/comments/69i2md/observe_for_yourself_segwit_allows_2_mb_blocks_in/

Why is segwit being blocked

Jihan Wu (head of largest bitcoin mining group) is blocking segwit because of perceived loss of income https://www.reddit.com/Bitcoin/comments/60mb9e/complete_high_quality_translation_of_jihans/
Witness discount creates aligned incentives https://segwit.org/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e#.h36odthq0 https://medium.com/@SegWit.co/what-is-behind-the-segwit-discount-988f29dc1edf#.sr91dg406
or because he wants his mining enterprise to have control over bitcoin https://www.reddit.com/Bitcoin/comments/6jdyk8/direct_report_of_jihan_wus_real_reason_fo

Segwit is being blocked because it breaks ASICBOOST, a patented optimization used by bitmain ASIC manufacturer

Details and discovery by gmaxwell https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013996.html
Reddit thread with discussion https://www.reddit.com/Bitcoin/comments/63otrp/gregory_maxwell_major_asic_manufacturer_is/
Simplified explaination by jonny1000 https://www.reddit.com/Bitcoin/comments/64qq5g/attempted_explanation_of_the_alleged_asicboost/
http://www.mit.edu/~jlrubin/public/pdfs/Asicboost.pdf
https://medium.com/@jimmysong/examining-bitmains-claims-about-asicboost-1d61118c678d
Evidence https://www.reddit.com/Bitcoin/comments/63yo27/some_circumstantial_evidence_supporting_the_claim/
https://www.reddit.com/Bitcoin/comments/63vn5g/please_dont_stop_us_from_using_asicboost_which/dfxmm75/
https://www.reddit.com/Bitcoin/comments/63soe3/reverse_engineering_an_asic_is_a_significant_task/dfx9nc
Bitmain admits their chips have asicboost but they say they never used it on the network (haha a likely story) https://blog.bitmain.com/en/regarding-recent-allegations-smear-campaigns/
Worth $100m per year to them (also in gmaxwell's original email) https://twitter.com/petertoddbtc/status/849798529929424898
Other calculations show less https://medium.com/@vcorem/the-real-savings-from-asicboost-to-bitmaintech-ff265c2d305b
This also blocks all these other cool updates, not just segwit https://www.reddit.com/Bitcoin/comments/63otrp/gregory_maxwell_major_asic_manufacturer_is/dfw0ej3/
Summary of bad consequences of asicboost https://www.reddit.com/Bitcoin/comments/64qq5g/attempted_explanation_of_the_alleged_asicboost/dg4hyqk/?context=1
Luke's summary of the entire situation https://www.reddit.com/Bitcoin/comments/6ego3s/why_is_killing_asicboost_not_a_priority/diagkkb/?context=1
Prices goes up because now segwit looks more likely https://twitter.com/TuurDemeestestatus/849846845425799168
Asicboost discovery made the price rise https://twitter.com/TuurDemeestestatus/851520094677200901
A pool was caught red handed doing asicboost, by this time it seemed fairly certain that segwit would get activated so it didnt produce as much interest as earlier https://www.reddit.com/Bitcoin/comments/6p7lr5/1hash_pool_has_mined_2_invalid_blocks/ and https://www.reddit.com/Bitcoin/comments/6p95dl/interesting_1hash_pool_mined_some_invalid_blocks/ and https://twitter.com/petertoddbtc/status/889475196322811904
This btc user is outraged at the entire forum because they support Bitmain and ASICBOOST https://www.reddit.com/btc/comments/67t43y/dragons_den_planned_smear_campaign_of_bitmain/dgtg9l2/
Antbleed, turns out Bitmain can shut down all its ASICs by remote control: http://www.antbleed.com/

What if segwit never activates

What if segwit never activates? https://www.reddit.com/Bitcoin/comments/6ab8js/transaction_fees_are_now_making_btc_like_the_banks/dhdq3id/ with https://www.reddit.com/Bitcoin/comments/5ksu3o/blinded_bearer_certificates/ and https://www.reddit.com/Bitcoin/comments/4xy0fm/scaling_quickly/

Lightning

bitcoinmagazine's series on what lightning is and how it works https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791/ https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-creating-the-network-1465326903/ https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-completing-the-puzzle-and-closing-the-channel-1466178980/
The Lightning Network ELIDHDICACS (Explain Like I Don’t Have Degrees in Cryptography and Computer Science) https://letstalkbitcoin.com/blog/post/the-lightning-network-elidhdicacs
Ligtning will increases fees for miners, not lower them https://medium.com/lightning-resources/the-lightning-paradox-f15ce0e8e374#.erfgunumh
Cost-benefit analysis of lightning from the point of view of miners https://medium.com/@rusty_lightning/miners-and-bitcoin-lightning-a133cd550310#.x42rovlg8
Routing blog post by rusty https://medium.com/@rusty_lightning/routing-dijkstra-bellman-ford-and-bfg-7715840f004 and reddit comments https://www.reddit.com/Bitcoin/comments/4lzkz1/rusty_russell_on_lightning_routing_routing/
Lightning protocol rfc https://github.com/lightningnetwork/lightning-rfc
Blog post with screenshots of ln being used on testnet https://medium.com/@btc_coach/lightning-network-in-action-b18a035c955d video https://www.youtube.com/watch?v=mxGiMu4V7ns
Video of sending and receiving ln on testnet https://twitter.com/alexbosworth/status/844030573131706368
Lightning tradeoffs http://www.coindesk.com/lightning-technical-challenges-bitcoin-scalability/
Beer sold for testnet lightning https://www.reddit.com/Bitcoin/comments/62uw23/lightning_network_is_working_room77_is_accepting/ and https://twitter.com/MrHodl/status/848265171269283845
Lightning will result in far fewer coins being stored on third parties because it supports instant transactions https://medium.com/@thecryptoconomy/the-barely-discussed-incredible-benefit-of-the-lightning-network-4ce82c75eb58
jgarzik argues strongly against LN, he owns a coin tracking startup https://twitter.com/petertoddbtc/status/860826532650123264 https://twitter.com/Beautyon_/status/886128801926795264
luke's great debunking / answer of some misinformation questions https://www.reddit.com/Bitcoin/comments/6st4eq/questions_about_lightning_network/dlfap0u/
Lightning centralization doesnt happen https://www.reddit.com/Bitcoin/comments/6vzau5/reminder_bitcoins_key_strength_is_in_being/dm4ou3v/?context=1
roasbeef on hubs and charging fees https://twitter.com/roasbeef/status/930209165728825344 and https://twitter.com/roasbeef/status/930210145790976000

Immutability / Being a swiss bank in your pocket / Why doing a hard fork (especially without consensus) is damaging

A downside of hard forks is damaging bitcoin's immutability https://www.reddit.com/Bitcoin/comments/5em6vu/what_happens_if_segwit_doesnt_activate/dae1r6c/?context=3
Interesting analysis of miners incentives and how failure is possible, don't trust the miners for long term https://www.reddit.com/Bitcoin/comments/5gtew4/why_an_increased_block_size_increases_the_cost_of/daybazj/?context=2
waxwing on the meaning of cash and settlement https://www.reddit.com/Bitcoin/comments/5ei7m3/unconfirmed_transactions_60k_total_fees_14btc/dad001v/
maaku on the cash question https://www.reddit.com/Bitcoin/comments/5i5iq5/we_are_spoiled/db5luiv/?context=1
Digital gold funamentalists gain nothing from supporting a hard fork to larger block sizes https://www.reddit.com/Bitcoin/comments/5xzunq/core_please_compromise_before_we_end_up_with_bu/dem73xg/?context=1
Those asking for a compromise don't understand the underlying political forces https://www.reddit.com/Bitcoin/comments/6ef7wb/some_comments_on_the_bip148_uasf_from_the/dia236b/?context=3
Nobody wants a contentious hard fork actually, anti-core people got emotionally manipulated https://www.reddit.com/Bitcoin/comments/5sq5ocontentious_forks_vs_incremental_progress/ddip57o/
The hard work of the core developers has kept bitcoin scalable https://www.reddit.com/Bitcoin/comments/3hfgpo/an_initiative_to_bring_advanced_privacy_features/cu7mhw8?context=9
Recent PRs to improve bitcoin scaleability ignored by the debate https://twitter.com/jfnewbery/status/883001356168167425
gmaxwell against hard forks since 2013 https://bitcointalk.org/index.php?topic=140233.20
maaku: hard forks are really bad https://www.reddit.com/Bitcoin/comments/5zxjza/adam_greg_core_devs_and_big_blockers_now_is_the/df275yk/?context=2

Some metrics on what the market thinks of decentralization and hostile hard forks

The price history shows that the exchange rate drops every time a hard fork threatens: https://i.imgur.com/EVPYLR8.jpg
and this example from 2017 https://twitter.com/WhalePanda/status/845562763820912642
http://imgur.com/a/DuHAn btc users lose money
price supporting theymos' moderation https://i.imgur.com/0jZdF9h.png
old version https://i.imgur.com/BFTxTJl.png
older version https://pbs.twimg.com/media/CxqtUakUQAEmC0d.jpg
about 50% of nodes updated to the soft fork node quite quickly https://imgur.com/O0xboVI

Bitcoin Unlimited / Emergent Consensus is badly designed, changes the game theory of bitcoin

Bitcoin Unlimited was a proposed hard fork client, it was made with the intention to stop segwit from activating
A Future Led by Bitcoin Unlimited is a Centralized Future https://blog.sia.tech/a-future-led-by-bitcoin-unlimited-is-a-centralized-future-e48ab52c817a#.p1ly6hldk
Flexible transactions are bugged https://www.reddit.com/Bitcoin/comments/57tf5g/bitcoindev_bluematt_on_flexible_transactions/
Bugged BU software mines an invalid block, wasting 13 bitcoins or $12k
https://www.reddit.com/Bitcoin/comments/5qwtr2/bitcoincom_loses_132btc_trying_to_fork_the/
https://www.reddit.com/btc/comments/5qx18i/bitcoincom_loses_132btc_trying_to_fork_the/
bitcoin.com employees are moderators of btc https://medium.com/@WhalePanda/the-curious-relation-between-bitcoin-com-anti-segwit-propaganda-26c877249976#.vl02566k4
miners don't control stuff like the block size http://hackingdistributed.com/2016/01/03/time-for-bitcoin-user-voice/
even gavin agreed that economic majority controls things https://www.reddit.com/Bitcoin/comments/5ywoi9/in_2010_gavin_predicted_that_exchanges_ie_the/
fork clients are trying to steal bitcoin's brand and network effect, theyre no different from altcoins https://medium.com/@Coinosphere/why-bitcoin-unlimited-should-be-correctly-classified-as-an-attempted-robbery-of-bitcoin-not-a-9355d075763c#.qeaynlx5m
BU being active makes it easier to reverse payments, increases wasted work making the network less secure and giving an advantage to bigger miners https://www.reddit.com/Bitcoin/comments/5g1x84/bitcoin_unlimited_bu_median_value_of_miner_eb/
bitcoin unlimited takes power away from users and gives it to miners https://medium.com/@alpalpalp/bitcoin-unlimiteds-placebo-controls-6320cbc137d4#.q0dv15gd5
bitcoin unlimited's accepted depth https://twitter.com/tdryja/status/804770009272696832
BU's lying propaganda poster https://imgur.com/osrViDE

BU is bugged, poorly-reviewed and crashes

bitcoin unlimited allegedly funded by kraken stolen coins
https://www.reddit.com/btc/comments/55ajuh/taint_analysis_on_bitcoin_stolen_from_kraken_on/
https://www.reddit.com/btc/comments/559miz/taint_analysis_on_btc_allegedly_stolen_from_kraken/
Other funding stuff
https://www.reddit.com/Bitcoin/comments/5zozmn/damning_evidence_on_how_bitcoin_unlimited_pays/
A serious bug in BU https://www.reddit.com/Bitcoin/comments/5h70s3/bitcoin_unlimited_bu_the_developers_have_realized/
A summary of what's wrong with BU: https://www.reddit.com/Bitcoin/comments/5z3wg2/jihanwu_we_will_switch_the_entire_pool_to/devak98/

Bitcoin Unlimited Remote Exploit Crash 14/3/2017

https://www.reddit.com/Bitcoin/comments/5zdkv3/bitcoin_unlimited_remote_exploit_crash/ https://www.reddit.com/Bitcoin/comments/5zeb76/timbe https://www.reddit.com/btc/comments/5zdrru/peter_todd_bu_remote_crash_dos_wtf_bug_assert0_in/
BU devs calling it as disaster https://twitter.com/SooMartindale/status/841758265188966401 also btc deleted a thread about the exploit https://i.imgur.com/lVvFRqN.png
Summary of incident https://www.reddit.com/Bitcoin/comments/5zf97j/i_was_undecided_now_im_not/
More than 20 exchanges will list BTU as an altcoin
https://www.reddit.com/Bitcoin/comments/5zyg6g/bitcoin_exchanges_unveil_emergency_hard_fork/
Again a few days later https://www.reddit.com/Bitcoin/comments/60qmkt/bu_is_taking_another_shit_timberrrrr

User Activated Soft Fork (UASF)

site for it, including list of businesses supporting it http://www.uasf.co/
luke's view
https://www.reddit.com/Bitcoin/comments/5zsk45/i_am_shaolinfry_author_of_the_recent_usedf1dqen/?context=3
threat of UASF makes the miner fall into line in litecoin
https://www.reddit.com/litecoin/comments/66omhlitecoin_global_roundtable_resolution/dgk2thk/?context=3
UASF delivers the goods for vertcoin
https://www.reddit.com/Bitcoin/comments/692mi3/in_test_case_uasf_results_in_miner_consensus/dh3cm34/?context=1
UASF coin is more valuable https://www.reddit.com/Bitcoin/comments/6cgv44/a_uasf_chain_will_be_profoundly_more_valuable/
All the links together in one place https://www.reddit.com/Bitcoin/comments/6dzpew/hi_its_mkwia_again_maintainer_of_uasfbitcoin_on/
p2sh was a uasf https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/main.cpp#L1281-L1283
jgarzik annoyed at the strict timeline that segwit2x has to follow because of bip148 https://twitter.com/jgarzik/status/886605836902162432
Committed intolerant minority https://www.reddit.com/Bitcoin/comments/6d7dyt/a_plea_for_rational_intolerance_extremism_and/
alp on the game theory of the intolerant minority https://medium.com/@alpalpalp/user-activated-soft-forks-and-the-intolerant-minority-a54e57869f57
The risk of UASF is less than the cost of doing nothing https://www.reddit.com/Bitcoin/comments/6bof7a/were_getting_to_the_point_where_a_the_cost_of_not/
uasf delivered the goods for bitcoin, it forced antpool and others to signal (May 2016) https://bitcoinmagazine.com/articles/antpool-will-not-run-segwit-without-block-size-increase-hard-fork-1464028753/ "When asked specifically whether Antpool would run SegWit code without a hard fork increase in the block size also included in a release of Bitcoin Core, Wu responded: “No. It is acceptable that the hard fork code is not activated, but it needs to be included in a ‘release’ of Bitcoin Core. I have made it clear about the definition of ‘release,’ which is not ‘public.’”"
Screenshot of peter rizun capitulating https://twitter.com/chris_belcher_/status/905231603991007232

Fighting off 2x HF

https://twitter.com/MrHodl/status/895089909723049984
https://www.reddit.com/Bitcoin/comments/6h612o/can_someone_explain_to_me_why_core_wont_endorse/?st=j6ic5n17&sh=cc37ee23
https://www.reddit.com/Bitcoin/comments/6smezz/segwit2x_hard_fork_is_completely_useless_its_a/?st=j6ic2aw3&sh=371418dd
https://www.reddit.com/Bitcoin/comments/6sbspv/who_exactly_is_segwit2x_catering_for_now_segwit/?st=j6ic5nic&sh=1f86cadd
https://medium.com/@elliotolds/lesser-known-reasons-to-keep-blocks-small-in-the-words-of-bitcoin-core-developers-44861968185e
b2x is most of all about firing core https://twitter.com/WhalePanda/status/912664487135760384
https://medium.com/@StopAndDecrypt/thats-not-bitcoin-this-is-bitcoin-95f05a6fd6c2

Misinformation / sockpuppets

https://www.reddit.com/Bitcoin/comments/6uqz6k/markets_update_bitcoin_cash_rallies_for_three/dlurbpx/
three year old account, only started posting today https://archive.is/3STjH
Why we should not hard fork after the UASF worked: https://www.reddit.com/Bitcoin/comments/6sl1qf/heres_why_we_should_not_hard_fork_in_a_few_months/

History

Good article that covers virtually all the important history https://bitcoinmagazine.com/articles/long-road-segwit-how-bitcoins-biggest-protocol-upgrade-became-reality/
Interesting post with some history pre-2015 https://btcmanager.com/the-long-history-of-the-fight-over-scaling-bitcoin/
The core scalabality roadmap + my summary from 3/2017 https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-Decembe011865.html my summary https://www.reddit.com/Bitcoin/comments/5xa5fa/the_core_development_scalability_roadmap/
History from summer 2015 https://www.reddit.com/Bitcoin/comments/5xg7f8/the_origins_of_the_blocksize_debate/
Brief reminders of the ETC situation https://www.reddit.com/Bitcoin/comments/6nvlgo/simple_breakdown_of_bip91_its_simply_the_miners/dkcycrz/
Longer writeup of ethereum's TheDAO bailout fraud https://www.reddit.com/ethereumfraud/comments/6bgvqv/faq_what_exactly_is_the_fraud_in_ethereum/
Point that the bigblocker side is only blocking segwit as a hostage https://www.reddit.com/BitcoinMarkets/comments/5sqhcq/daily_discussion_wednesday_february_08_2017/ddi3ctv/?context=3
jonny1000's recall of the history of bitcoin https://www.reddit.com/Bitcoin/comments/6s34gg/rbtc_spreading_misinformation_in_rbitcoinmarkets/dl9wkfx/

Misc (mostly memes)

libbitcoin's Understanding Bitcoin series (another must read, most of it) https://github.com/libbitcoin/libbitcoin/wiki/Understanding-Bitcoin
github commit where satoshi added the block size limit https://www.reddit.com/Bitcoin/comments/63859l/github_commit_where_satoshi_added_the_block_size/
hard fork proposals from some core devs https://bitcoinhardforkresearch.github.io/
blockstream hasnt taken over the entire bitcoin core project https://www.reddit.com/Bitcoin/comments/622bjp/bitcoin_core_blockstream/
blockstream is one of the good guys https://www.reddit.com/Bitcoin/comments/6cttkh/its_happening_blockstream_opens_liquid_sidechain/dhxu4e
Forkers, we're not raising a single byte! Song lyrics by belcher https://gist.github.com/chris-belche7264cd6750a86f8b4a9a
Some stuff here along with that cool photoshopped poster https://medium.com/@jimmysong/bitcoin-realism-or-how-i-learned-to-stop-worrying-and-love-1mb-blocks-c191c35e74cb
Nice graphic https://twitter.com/RNR_0/status/871070843698380800
gmaxwell saying how he is probably responsible for the most privacy tech in bitcoin, while mike hearn screwed up privacy https://www.reddit.com/btc/comments/6azyme/hey_bu_wheres_your_testnet/dhiq3xo/?context=6
Fairly cool propaganda poster https://twitter.com/urbanarson/status/880476631583924225
btc tankman https://i.redd.it/gxjqenzpr27z.png https://twitter.com/DanDarkPill/status/853653168151986177
asicboost discovery meme https://twitter.com/allenscottoshi/status/849888189124947971
https://twitter.com/urbanarson/status/882020516521013250
gavin wanted to kill the bitcoin chain https://twitter.com/allenscottoshi/status/849888189124947971
stuff that btc believes https://www.reddit.com/Bitcoin/comments/6ld4a5/serious_is_the_rbtc_and_the_bu_crowd_a_joke_how/djszsqu/
after segwit2x NYA got agreed all the fee pressure disappeared, laurenmt found they were artificial spam https://twitter.com/i/moments/885827802775396352
theymos saying why victory isnt inevitable https://www.reddit.com/Bitcoin/comments/6lmpll/explaining_why_big_blocks_are_bad/djvxv2o/
with ignorant enemies like these its no wonder we won https://bitco.in/forum/threads/gold-collapsing-bitcoin-up.16/page-999 ""So, once segwit2x activates, from that moment on it will require a coordinated fork to avoid the up coming "baked in" HF. ""
a positive effect of bcash, it made blockchain utxo spammers move away from bitcoin https://www.reddit.com/btc/comments/76lv0b/cryptograffitiinfo_now_accepts_bitcoin_cash/dof38gw/
summary of craig wright, jihan wu and roger ver's positions https://medium.com/@HjalmarPeters/the-big-blockers-bead6027deb2
Why is bitcoin so strong against attack?!?! (because we're motivated and awesome) https://www.reddit.com/btc/comments/64wo1h/bitcoin_unlimited_is_being_blocked_by_antivirus/dg5n00x/
what happened to #oldjeffgarzik https://www.reddit.com/Bitcoin/comments/6ufv5x/a_reminder_of_some_of_jeff_garziks_greatest/
big blockers fully deserve to lose every last bitcoin they ever had and more https://www.reddit.com/BitcoinMarkets/comments/756nxf/daily_discussion_monday_october_09_2017/do5ihqi/
gavinandresen brainstorming how to kill bitcoin with a 51% in a nasty way https://twitter.com/btcdrak/status/843914877542567937
Roger Ver as bitcoin Judas https://imgur.com/a/Rf1Pi
A bunch of tweets and memes celebrating UASF
https://twitter.com/shaolinfry/status/842457019286188032 | https://twitter.com/SatoshiLite/status/888335092560441345 | https://twitter.com/btcArtGallery/status/887485162925285377 | https://twitter.com/Beautyon_/status/888109901611802624 | https://twitter.com/Excellion/status/889211512966873088 | https://twitter.com/lopp/status/888200452197801984 | https://twitter.com/AlpacaSW/status/886988980524396544 | https://twitter.com/BashCo_/status/877253729531162624 | https://twitter.com/tdryja/status/865212300361379840 | https://twitter.com/Excellion/status/871179040157179904 | https://twitter.com/TraceMayestatus/849856343074902016 | https://twitter.com/TraceMayestatus/841855022640033792 | https://fs.bitcoinmagazine.com/img/images/Screen_Shot_2017-08-18_at_01.36.47.original.png
submitted by belcher_ to Bitcoin [link] [comments]

Long-run favors BTC over BCH, here's why...

There are many reasons why BTC will remain the gold standard and not BCH.
BTC Advantages over BCH:
BCH has:
I have been watching Bitcoin for a long time, and the main thing I've learned is don't overreact to flashes in the pan, weak hands, and anytime a "panic" is happening. What really pays in the long-run is sticking with things that have a proven track record, a high quality set of software engineers and computer scientists, and a critical mass of ecosystem. Nothing compares to Bitcoin in these regards!!
Bitcoin has a very bright future ahead!
submitted by fortunative to Bitcoin [link] [comments]

Maleability issue of bitcoin: Big opportunity for LiteCoin

If the BTC foundation is not able to fix the maleability issue found by MtGox today within 1y, well it is a big opportunity for the LTC as it appears that the LTC dev team fixed plenty of bugs for bitcoin last year. What do guys think?
submitted by cryptog to litecoin [link] [comments]

Lightning Network Will Likely Fail Due To Several Possible Reasons

ECONOMIC CASE IS ABSENT FOR MANY TRANSACTIONS
The median Bitcoin (BTC) fee is $14.41 currently. This has gone parabolic in the past few days. So, let’s use a number before this parabolic rise, which was $3.80. Using this number, opening and closing a Lightning Network (LN) channel means that you will pay $7.60 in fees. Most likely, the fee will be much higher for two reasons:
  1. BTC fees have been trending higher all year and will be higher by the time LN is ready
  2. When you are in the shoe store or restaurant, you will likely pay a higher fee so that you are not waiting there for one or more hours for confirmation.
Let’s say hypothetically that Visa or Paypal charges $1 per transaction. This means that Alice and Carol would need to do 8 or more LN transactions, otherwise it would be cheaper to use Visa or Paypal.
But it gets worse. Visa doesn’t charge the customer. To you, Visa and Cash are free. You would have no economic incentive to use BTC and LN.
Also, Visa does not charge $1 per transaction. They charge 3%, which is 60 cents on a $20 widget. Let’s say that merchants discount their widgets by 60 cents for non-Visa purchases, to pass the savings onto the customer. Nevertheless, no one is going to use BTC and LN to buy the widget unless 2 things happen:
  1. they buy more than 13 widgets from the same store ($7.60 divided by 60 cents)
  2. they know ahead of time that they will do this with that same store
This means that if you’re traveling, or want to tip content producers on the internet, you will likely not use BTC and LN. If you and your spouse want to try out a new restaurant, you will not use BTC and LN. If you buy shoes, you will not use BTC and LN.
ROAD BLOCKS FROM INSUFFICIENT FUNDS
Some argue that you do not need to open a channel to everyone, if there’s a route to that merchant. This article explains that if LN is a like a distributed mesh network, then another problem exists:
"third party needs to possess the necessary capital to process the transaction. If Alice and Bob do not have an open channel, and Alice wants to send Bob .5 BTC, they'll both need to be connected to a third party (or a series of 3rd parties). Say if Charles (the third party) only possesses .4 BTC in his respective payment channels with the other users, the transaction will not be able to go through that route. The longer the route, the more likely that a third party does not possess the requisite amount of BTC, thereby making it a useless connection.”
CENTRALIZATION
According to this visualization of LN on testnet, LN will be centralized around major hubs. It might be even more centralized than this visualization if the following are true:
  1. Users will want to connect to large hubs to minimize the number of times they need to open/close channels, which incur fees
  2. LN’s security and usability relies on 100% uptime of relaying parties
  3. Only large hubs with a lot of liquidity will be able to make money
  4. Hubs or intermediary nodes will need to be licensed as money transmitters, centralizing LN to exchanges and banks as large hubs
What will the impact be on censorship-resistance, trust-less and permission-less?
NEED TO BE LICENSED AS MONEY TRANSMITTER
Advocates for LN seem to talk a lot about the technology, but ignore the legalities.
FinCEN defines money transmitters. LN hubs and intermediary nodes seem to satisfy this definition.
Application of FinCEN's Regulations to Persons Administering, Exchanging, or Using Virtual Currencies
“…applicability of the regulations … to persons creating, obtaining, distributing, exchanging, accepting, or transmitting virtual currencies.”
“…an administrator or exchanger is an MSB under FinCEN's regulations, specifically, a money transmitter…”
"An administrator or exchanger that (1) accepts and transmits a convertible virtual currency or (2) buys or sells convertible virtual currency for any reason is a money transmitter under FinCEN's regulations…”
"FinCEN's regulations define the term "money transmitter" as a person that provides money transmission services, or any other person engaged in the transfer of funds. The term "money transmission services" means "the acceptance of currency, funds, or other value that substitutes for currency from one person and the transmission of currency, funds, or other value that substitutes for currency to another location or person by any means.””
"The definition of a money transmitter does not differentiate between real currencies and convertible virtual currencies.”
FinCEN’s regulations for IVTS:
"An “informal value transfer system” refers to any system, mechanism, or network of people that receives money for the purpose of making the funds or an equivalent value payable to a third party in another geographic location, whether or not in the same form.”
“…IVTS… must comply with all BSA registration, recordkeeping, reporting and AML program requirements.
“Money transmitting” occurs when funds are transferred on behalf of the public by any and all means including, but not limited to, transfers within the United States or to locations abroad…regulations require all money transmitting businesses…to register with FinCEN."
Mike Caldwell used to accept and mail bitcoins. Customers sent him bitcoins and he mailed physical bitcoins back or to a designated recipient. There is no exchange from one type of currency to another. FinCEN told him that he needed to be licensed as money transmitter, after which Caldwell stopped mailing out bitcoins.
ARGUMENTS AGAINST NEED FOR LICENSING
Some have argued that LN does not transfer BTC until the channel is closed on the blockchain. This is not a defence, since channels will close on the blockchain.
Some have argued that LN nodes do not take ownership of funds. Is this really true? Is this argument based on a technicality or hoping for a loophole? It seems intuitive that a good prosecutor can easily defeat this argument. Even if this loophole exists, can we count on the government to never close this loophole?
So, will LN hubs and intermediary nodes need to be licensed as money transmitters? If so, then Bob, who is the intermediary between Alice and Carol, will need a license. But Bob won’t have the money nor qualifications. Money transmitters need to pay $25,000 to $1 million, maintain capital levels and are subject to KYC/AML regulations1. In which case, LN will have mainly large hubs, run by financial firms, such as banks and exchanges.
Will the banks want this? Likely. Will they lobby the government to get it? Likely.
Some may be wondering about miners. FinCEN has declared that miners are not money transmitters:
https://coincenter.org/entry/aml-kyc-tokens :
"Subsequent administrative rulings clarified several remaining ambiguities: miners are not money transmitters…"
FinCEN Declares Bitcoin Miners, Investors Aren't Money Transmitters
Some argue that LN nodes will go through Tor and be anonymous. For this to work, will all of the nodes connecting to it, need to run Tor? If so, then how likely will this happen and will all of these people need to run Tor on every device (laptop, phone and tablet)? Furthermore, everyone of these people will be need to be sufficiently tech savvy to download, install and set up Tor. Will the common person be able to do this? Also, will law-abiding nodes, such as retailers or banks, risk their own livelihood by connecting to an illegal node? What is the likelihood of this?
Some argue that unlicensed LN hubs can run in foreign countries. Not true. According to FinCEN: "“Money transmitting” occurs when funds are…transfers within the United States or to locations abroad…” Also, foreign companies are not immune from the laws of other countries which have extradition agreements. The U.S. government has sued European banks over the LIBOR scandal. The U.S. government has charged foreign banks for money laundering and two of those banks pleaded guilty. Furthermore, most countries have similar laws. It is no coincidence that European exchanges comply with KYC/AML.
Will licensed, regulated LN hubs connect to LN nodes behind Tor or in foreign countries? Unlikely. Will Amazon or eBay connect to LN nodes behind Tor or in foreign countries? Unlikely. If you want to buy from Amazon, you’ll likely need to register yourself at a licensed, regulated LN hub, which means you’ll need to provide your identification photo.
Say goodbye to a censorship-resistant, trust-less and permission-less coin.
For a preview of what LN will probably look like, look at Coinbase or other large exchanges. It’s a centralized, regulated and censored hub. Coinbase allows users to send to each other off-chain. Coinbase provides user data to the IRS and disallows users from certain countries to sell BTC. You need to trust that no rogue employee in the exchange will steal your funds, or that a bank will not confiscate your funds as banks did in Cyprus. What if the government provides a list of users, who are late with their tax returns, to Coinbase and tells Coinbase to block those users from making transactions? You need Coinbase’s permission.
This would be the antithesis of why Satoshi created Bitcoin.
NEED TO REPORT TO IRS
The IRS has a definition for “third party settlement organization” and these need to report transactions to the IRS.
Though we do not know for sure yet, it can be argued that LN hubs satisfies this definition. If this is the case, who will be willing to be LN hubs, other than banks and exchanges?
To read about the discussion, go to:
Lightning Hubs Will Need To Report To IRS
COMPLEXITY
All cryptocurrencies are complicated for the common person. You may be tech savvy enough to find a secure wallet and use cryptocurrencies, but the masses are not as tech savvy as you.
LN adds a very complicated and convoluted layer to cryptocurrencies. It is bound to have bugs for years to come and it’s complicated to use. This article provides a good explanation of the complexity. Just from the screenshot of the app, the user now needs to learn additional terms and commands:
“On Chain”
“In Channels”
“In Limbo”
“Your Channel”
“Create Channel”
“CID”
“OPENING”
“PENDING-OPEN”
“Available to Receive”
“PENDING-FORCE-CLOSE”
There are also other things to learn, such as how funds need to be allocated to channels and time locks. Compare this to using your current wallet.
Recently, LN became even more complicated and convoluted. It needs a 3rd layer as well:
Scaling Bitcoin Might Require A Whole 'Nother Layer
How many additional steps does a user need to learn?
ALL COINS PLANNING OFF-CHAIN SCALING ARE AT RISK
Bitcoin Segwit, Litecoin, Vertcoin and possibly others (including Bitcoin Cash) are planning to implement LN or layer 2 scaling. Ethereum is planning to use Raiden Network, which is very similar to LN. If the above is true about LN, then the scaling roadmap for these coins is questionable at best, nullified at worst.
BLOCKSTREAM'S GAME PLAN IS ON TRACK
Blockstream employs several of the lead Bitcoin Core developers. Blockstream has said repeatedly that they want high fees. Quotes and source links can be found here.
Why is Blockstream so adamant on small blocks, high fees and off-chain scaling?
Small blocks, high fees and slow confirmations create demand for off-chain solutions, such as Liquid. Blockstream sells Liquid to exchanges to move Bitcoin quickly on a side-chain. LN will create liquidity hubs, such as exchanges, which will generate traffic and fees for exchanges. With this, exchanges will have a higher need for Liquid. This will be the main way that Blockstream will generate revenue for its investors, who invested $76 million. Otherwise, they can go bankrupt and die.
One of Blockstream’s investors/owners is AXA. AXA’s CEO and Chairman until 2016 was also the Chairman of Bilderberg Group. The Bilderberg Group is run by bankers and politicians (former prime ministers and nation leaders). According to GlobalResearch, Bilderberg Group wants “a One World Government (World Company) with a single, global marketplace…and financially regulated by one ‘World (Central) Bank’ using one global currency.” LN helps Bilderberg Group get one step closer to its goal.
Luke-Jr is one of the lead BTC developers in Core/Blockstream. Regulation of BTC is in-line with his beliefs. He is a big believer in the government, as he believes that the government should tax you and the “State has authority from God”. In fact, he has other radical beliefs as well:
So, having only large, regulated LN hubs is not a failure for Blockstream/Bilderberg. It’s a success. The title of this article should be changed to: "Lightning Will Fail Or Succeed, Depending On Whether You Are Satoshi Or Blockstream/Bilderberg".
SIGNIFICANT ADVANCEMENTS WITH ON-CHAIN SCALING
Meanwhile, some coins such as Ethereum and Bitcoin Cash are pushing ahead with on-chain scaling. Both are looking at Sharding.
Visa handles 2,000 transactions per second on average. Blockstream said that on-chain scaling will not work. The development teams for Bitcoin Cash have shown significant on-chain scaling:
1 GB block running on testnet demonstrates over 10,000 transactions per second:
"we are not going from 1MB to 1GB tomorrow — The purpose of going so high is to prove that it can be done — no second layer is necessary”
"Preliminary Findings Demonstrate Over 10,000 Transactions Per Second"
"Gigablock testnet initiative will likely be implemented first on Bitcoin Cash”
Peter Rizun, Andrew Stone -- 1 GB Block Tests -- Scaling Bitcoin Stanford At 13:55 in this video, Rizun said that he thinks that Visa level can be achieved with a 4-core/16GB machine with better implementations (modifying the code to take advantage of parallelization.)
Bitcoin Cash plans to fix malleability and enable layer 2 solutions:
The Future of “Bitcoin Cash:” An Interview with Bitcoin ABC lead developer Amaury Séchet:
"fixing malleability and enabling Layer 2 solutions will happen”
However, it is questionable if layer 2 will work or is needed.
GOING FORWARD
The four year scaling debate and in-fighting is what caused small blockers (Blockstream) to fork Bitcoin by adding Segwit and big blockers to fork Bitcoin into Bitcoin Cash. Read:
Bitcoin Divorce - Bitcoin [Legacy] vs Bitcoin Cash Explained
It will be interesting to see how they scale going forward.
Scaling will be instrumental in getting network effect and to be widely adopted as a currency. Whichever Coin Has The Most Network Effect Will Take All (Or Most) (BTC has little network effect, and it's shrinking.)
The ability to scale will be key to the long term success of any coin.
submitted by curt00 to btc [link] [comments]

A reminder of the main advantages of SegWit

As a reminder, the reason to support SegWit is because it is clearly the best blocksize limit increase proposal, based on technical merit, not because of who proposed it.
SegWit is the fastest and least disruptive onchain capacity increase proposed
Third party transaction malleability fixes
Fixing the quadratic scaling of sighash operations bug, making a further bocksize limit increase both safer and more likley
Signing of input values, making Bitcoin easier for hardware devices
Not requiring wallets to download the signature data to check the transaction hash
Introducing script versioning makes upgrades to increase onchain capacity even further far easier
submitted by jonny1000 to Bitcoin [link] [comments]

Regulated ETH Futures? Not So Fast

Noelle Acheson is a veteran of company analysis and CoinDesk’s Director of Research. The opinions expressed in this article are the author’s own.
The following article originally appeared in Institutional Crypto by CoinDesk, a weekly newsletter focused on institutional investment in crypto assets. Sign up for free here.
Earlier this month, Heath Tarbert – the new chairman of the U.S. Commodity Futures Trading Commission (CFTC) – declared that ether, the token of the ethereum blockchain, was a commodity.
This is significant, coming from the regulator of one of the largest derivatives markets in the world. Why? Because it opens the door to the possibility of regulated ether derivatives in the near future. The chairman was even more specific: “I’d say it is likely that you would see a futures contract in the next six months to a year.”
The market got excited because this would enhance the token’s appeal to institutional investors. Derivatives enable hedging, which is a significant part of portfolio management and a solid support for long positions. A lively derivatives market, the reasoning goes, will encourage more investment, which will boost the price, which will encourage more investment, and so on.
Yet, with respect, I believe the chairman is mistaken. We will not see ether futures in significant volume on a regulated U.S. exchange any time soon. If ever.

Reputation risk

Although it’s not just about the lack of demand, let’s look at that first.
Ether futures currently trade on exchanges based outside the U.S., but volumes have been thin relative to the spot market. On BitMEX, Huobi and Deribit, three of the largest crypto platforms that offer ether futures, the average 24-hour volume is less than 10% that of bitcoin, while the equivalent ratio in the spot market is almost 25%.
The difference could be due to ethereum’s relative youth, and the gap could close as the network matures. Or it could be that bitcoin will always be the institutional-grade asset of choice, rendering ether derivative demand too insignificant for major markets to profitably develop.
Either way, demand can be flexible. The real barriers to a successful launch of ether derivatives go much deeper.

Underlying risk

Last week ethereum developers announced the target date for the next system-wide upgrade: December 4. This will be executed via a hard fork, in which the entire ecosystem needs to change – blocks processed on the old version will not be valid on the new. There are several of these coming up.
This introduces an additional element of risk into the market. Earlier this year, an upgrade was delayed just 48 hours before it was due to launch, due to a “critical vulnerability.” And while it is extremely likely that bugs will be found and fixed in time, there is always the “what if?” that risk-takers have to focus on.
Even more worrying for ether derivative watchers is the upcoming consensus algorithm shift. Ethereum currently runs on a proof-of-work consensus algorithm similar to that of bitcoin. It has long been working on a migration to a different system, called proof-of-stake, in which the amount of ether you “stake” gives you the credentials to validate transactions and append new blocks on the blockchain.
This is like changing the motor of your car while it is speeding along the highway. No matter how much testing is done and no matter how many parallel systems are in operation, it’s risky.
True, risk is precisely what derivatives were invented to mitigate – but the creators of derivative products like to have that risk reasonably quantifiable. While derivatives can help investors control risk, they don’t eliminate it; they redistribute it. The extra risk for exchanges will need to be compensated, and uncertainty of this magnitude could make ether derivatives prohibitively expensive.
What’s more, when ethereum hard forks over to its new algorithm, there is always a risk that not all miners will switch. The current ethereum network could continue to exist and perhaps even thrive if enough participants wish it. Which token would derivative contracts track?

Existential risk

Another risk looming over ethereum is that of a network rewind. In 2016, in response to a ~$60 million hack of an ethereum-based application, ethereum’s core participants decided to rewind the blockchain to its pre-hack state, restoring the stolen funds and creating a split in the ecosystem that persists to this day.
This was a few years ago, when ethereum was still young and many believed that such a large hack would stunt its growth prospects – few expect it to be able to successfully execute something similar today. But last weekend, ethereum’s creator Vitalik Buterin posted the following poll on Twitter.
Thankfully, the “never rewind” majority should reassure the market of the blockchain’s integrity and stability. But almost 40% of voters think ethereum should be able to, and the fact that Vitalik is even asking the question is a reminder that it is possible.
Ether may be a “commodity” in the eyes of the CFTC – but, traditionally, commodities can’t change their history or their characteristics. Has the regulator ever approved derivatives based on such a malleable asset? How would you even start ensuring that there is no information asymmetry and the risk is fairly priced in?
But there’s an even more existential question.

Regulatory risk

Ethereum’s proposed algorithm change could lead to a bigger adjustment: ether could stop being a commodity and become a security.
Under proof-of-stake, ether holders can “stake” their tokens in order to influence transaction validation and block creation. In exchange for doing so, they earn an income.
This exchange isn’t dissimilar to how miners earn rewards on a proof-of-work blockchain such as bitcoin. In proof-of-stake, however, the rewards are distributed as annualized interest as opposed to randomized payout making for more regular and predictable returns on ether.
Is this enough to make ether a security rather than a commodity? Maybe.
This would not invalidate any outstanding ether derivatives. It would, however, move them into the joint jurisdiction of the CFTC and the U.S. Securities and Exchange Commission (SEC).
This becomes significant when you compare the two securities regulators’ views towards crypto assets. The CFTC has long championed the innovation behind cryptocurrencies – former chairman Chris Giancarlo is affectionately known in the blockchain sector as “Crypto Dad” – and the new chairman’s recent comments referenced earlier show that he seems to feel the same.
The SEC, on the other hand, has repeatedly blocked the issuance of ETFs based on bitcoin, on the grounds that it is too immature a market. If it thinks bitcoin is not ready, it’s a stretch to conclude it will think differently about ethereum.
This is likely to give any regulated derivative platform pause.

Investment risk

So, given ethereum’s development stage and outlook, as well as little evidence of unsatisfied demand, ether derivatives on a U.S.-based regulated exchange are unlikely any time soon. There are a lot of issues to work out, in a sector that is already giving regulators and infrastructure providers more than enough to worry about.
This shouldn’t affect the phenomenal amount of work underway on the platform. It is, however, likely to affect broad institutional acceptance of ether as an investment asset. Large investors rarely take unidirectional bets.
Does that matter? Not necessarily – development will continue, and ethereum could still end up being a new operating system for the economy. Ether was not created as an investment asset.
Then again, nor was bitcoin. Markets have a way of latching on to and commoditizing ideas, and ethereum may one day become the darling of the alternative investment world. It’s still very young, though, has many teething pains ahead of it, and a while to go before traditional financial infrastructure supports its entrance into the mainstream.
Disclosure: The author holds a small amount of bitcoin and ether.
submitted by chrisj9167 to CryptoKami [link] [comments]

What Is Segwit? - D-Central Bitcoin Transaction Malleability Theory in Practice Ripple Cryptographer David Schwartz About Malleability In Bitcoin Bitcoin Transaction Malleability Theory In Practice Demo 12. Transaction Malleability and Segregated Witness

Last week, Mt. Gox, another big exchange, suspended bitcoin transfers from wallets it holds to external bitcoin addresses, as it had noted that a bug in the Bitcoin software could allow fraud. The attack uses "transaction malleability to temporarily disrupt balance checking," Slovenia-based Bitstamp said on its website, This issue was the result of a bug in the bitcoin software that allowed users to alter transaction IDs, sometimes referred to as “transaction malleability.” The exchanged suffered a fatal blow Here’s what this has to do with transaction malleability: SegWit (or Segregated Witness) fixes the transaction malleability bug and also makes versioning of new features possible. Lightning, a planned Bitcoin upgrade that will allow for instant almost unlimited transactions, cannot work until the transaction malleability bug is fixed, as a Gavin Adresen telah menyediakan komuniti bitcoin dengan kemas kini yang berkaitan dengan penyebaran serangan perkhidmatan (DDOS) yang diedarkan secara berterusan yang mengambil keuntungan dari isu keluwesan transaksi yang kami telah dilaporkan begitu banyak pada dua hari terakhir ini. "Sesuatu (atau beberapa somebodies) mengambil kesempatan daripada isu keluwesan transaksi dan menyampaikan In recent days, several Bitcoin exchanges have suspended certain kinds of payments due to “transaction malleability” issues. There has been a lot of talk about why this happened, and some finger-pointing. In this post, I will try to unpack what “transaction malleability” is and why it has proven to be a problem for some companies.

[index] [31253] [18314] [15441] [3628] [204] [4551] [17031] [29714] [11541] [2762]

What Is Segwit? - D-Central

Since February 5th Bitcoin has been hit by a well known, but nevertheless problematic feature of the protocol called "malleability". Even if it doesn't pose a threat to the global distributed ... 🔴 Bitcoin and Stocks LIVE : Saint Patrick's Day Stream 🔴 Ep. 903 Crypto Technical Analysis Mitch Ray 557 watching Live now Blockchain Technology Explained (2 Hour Course) - Duration: 1:54:54. A mysterious vulnerability from 2011 almost made the Bitcoin network collapse. Silk Road, MTGox, and potentially many more trading websites claim to be prone to "Transaction Malleability." In order to understand what segwit does to handle transaction malleability, we are going to need to discuss the terminology and the basics of how Bitcoin transactions work. This is a demo of our presentation "Bitcion Transaction Malleability Theory in Practice". The demo simulates a trading website that is vulnerable to Transaction Malleability, by simply not ...

Flag Counter