Dice il crittografo Tony Arcieri sui pericoli di una monocultura di blockchain:
If it’s not defined in the Bitcoin paper, what does “blockchain” actually mean?
While not described in the paper as such, I would argue that the overall structure of the Bitcoin “blockchain” is effectively a very flat-looking special case of a Merkle tree. […] That said I think Satoshi’s expertise around Merkle trees is generally questionable: Bitcoin’s Merkle trees previously had oddly broken behavior (CVE-2012-2459) and utilize a “naive” construction without type flags for leaf versus interior nodes, leading me to believe Satoshi is not an academic cryptographer.
The real innovation of Bitcoin, in my opinion, is the use of a lottery-like mechanism to decide the next “block” to insert into the “Merkelized” replicated log, specifically the proof-of-work function and difficulty ratcheting mechanisms that increase the amount of work required in response to the number of miners working on the problem. Indeed the paper talks quite a bit about a “proof-of-work chain”. However, in discussing the definition of “blockchain” with several people, whether or not a “blockchain” necessarily includes a proof-of-work was one of the most contentious topics. There are several reasons why “blockchain” advocates may want to distance themselves from being necessarily tied-by-definition to a proof-of-work function.
Bitcoin uses an elliptic curve practically no one else uses called secp256k1 (the rest of the crypto world has largely moved on to Curve25519). […] I don’t think Bitcoin chose particularly good ones.
“Blockchain technology” as it exists today in Bitcoin is effectively a decentralized reconciliation system which maintains a global transaction ledger without a central authority.
Bitcoin broadcasts all transactions to all nodes in a peer-to-peer system. This […] has inherent scalability limits.
Scripting: a very cool feature I will acknowledge exists and give a quick hat tip to Ethereum, but I will not be discussing it in this post. I think “smart contracts” can exist outside of blockchains and that not everyone using “blockchain technology” is necessarily interested in them.
As far as I’m concerned, as soon as we remove
the “consensus-by-lottery” using proof-of-work part of the “blockchain”, it starts to lose meaning and lapses into a much more general set of ideas which solve a similar class of problems but have been in use for decades, are distinct from Bitcoin, and are in no way “blockchain technology”.
Ironicamente, se si rimuove il punto debole del Bitcoin, le operazioni di proof-of-work, la blockchain diventa una generica implementazione di consensus che abbiamo visto in Rete già da oltre un decennio. Il hype per la blockchain è infondato e la tecnologia che si dovrebbe hypare in suo posto è la classe generica di sistemi distribuiti crittografici, non solo quelli derivati dal mediocre codice del Bitcoin.
Systems which are not transaction ledgers and do not use Bitcoin’s consensus-by-lottery using a proof-of-work function approach are not “blockchains”.
The Bitcoin blockchain: the world’s worst database:
-
Uses approximately the same amount of electricity as could power an average American household for a day per transaction
- Supports 3 transactions / second
- Takes over 10 minutes to “commit” a transaction
- “blockchain technology” cannot by definition tell you if a given write is ever accepted/committed except by reading it out of the blockchain itself
Even MongoDB can do better than this.
As a side-effect, Bitcoin can also be used as a decentralized “timestamping” service, however there are more efficient protocols which can solve the decentralized audit log problem.
Come quelli inclusi in GNUnet appunto…
Bitcoin was a great demonstration of what is possible. But as the entire Bitcoin ecosystem approaches a gross payment volume size nearing about 1/10,000th the transaction volume of VISA, the “publish all transactions to everybody” approach is starting to show its limits.
Despite claims of being “decentralized”, the blockchain represents a single ledger which is global to the entire Bitcoin ecosystem. It seems Satoshi’s back-of-the-napkin math doesn’t really work out, and publishing all transactions to everyone is expensive in terms of bandwidth and storage.
How do we exchange different currencies or other financial instruments between blockchains denominated in different currencies?
- Interledger: “Unlike previous approaches, this protocol requires no global coordinating system or blockchain.”
- Stellar SCP: a formally modeled distributed consensus algorithm designed for Internet-scale operation.
Bitcoin-NG, a protocol that inverts the ordering of Bitcoin consensus: a miner is first elected leader by winning the proof-of-work “lottery” by mining a “key block”, and then once elected leader becomes a transaction broker who can mint “micro-blocks” via digital signature until the next leader is elected. Decoupling leader election from the publishing of transactions allows the overall system to have a much higher throughput as the rate new transactions are published is no-longer coupled to the rate at which the proof-of-work problem is solved.
Google is working on a “General Transparency” key/value store called Trillian.
Cothority is a framework for building collective authority systems using a Merkelized log ala CT, a consensus algorithm, and threshold signatures.
While I think Bitcoin-NG is a brilliant optimization on the original Bitcoin design, Cothority provides many of the same properties without a proof of work function.
Lately I’ve seen a lot of systems of the sort I previously wouldn’t have classified as “blockchains” who previously seemed to be distancing themselves from Bitcoin go FULL BLOCKCHAIN.
Beh si, se definiamo che la blockchain è banalmente un sistema di consensus, allora anche GNUnet possiede una blockchain– anzi, più di una… e in secushare stiamo pianificando di mettere Merkle Trees a capo di ogni dannata chatroom, cioè una blockchain per ogni chat. Basta inflazionare il termine al punto da renderlo assurdo. A quel punto, anche git è una blockchain.
“blockchain” is fast on its way to becoming the new “cloud”: one of those words whose actual meaning is nebulous and unspecific, but whatever it is it must be so important people can’t shut up about it!
The great thing about a nebulous term is that it knows no limits. What can’t you put in the blockchain? Perhaps we could encode Wikipedia into the blockchain, or store the entire archive of Netflix videos in the blockchain. All of archive.org could go in the blockchain. We could move the entire World Wide Web into the blockchain so all web pages are permanent and live forever.
The Bitcoin blockchain’s ability to store data is greatly limited by its “publish everything to everyone everywhere” nature. […] To go beyond that, we need a different protocol. We can’t just throw “blockchain technology” at the problem. The relevant algorithms do not exist in the Bitcoin codebase. We need a different protocol. There have been many pretenders to the throne: Xanadu, FreeNet, GNUnet, MojoNation/MNet, Tahoe-LAFS, OneSwarm, BitSpray, MaidSafe, IPFS.
Conclusion: I feel “blockchain technology” has not delivered a lot of practical value: compared to most payment systems the value Bitcoin moves and the transaction rate are both rather insignificant (all other blockchain systems move practically nothing by comparison). The only thing I think “blockchain technology” has actually delivered on is hype. […] I worry the media are giving undue attention to questionable ideas simply because there’s a lot of “buzz around blockchain”. I worry that the hype surrounding the “blockchain” might lead those who award research budgets to favor blockchain-based solutions over those that are blockchain-free. I worry financial institutions might pick a “blockchain”-based solution where a blockchain-free solution might be by all quantitative metrics better in every regard, simply because they’ve heard what a big deal “blockchain” is. But perhaps my concerns are overblown, and this is just a giant semantic argument. Maybe “blockchain technology” is just becoming a meaningless all-encompassing umbrella term for decentralized protocols. Perhaps “post-blockchain” protocols will start branding themselves as “blockchain technology” just to stay relevant. “Cyber” is starting to grow on me, so why not “blockchain” too? Who needs a metaverse; I’ll see you on the blockchain.