10 ms·
The Private Blockchain Fallacy
- sam_goody 8y agoPlease correct me if I am wrong - but when people say private blockchain I think they mean multiple nodes that don't trust other, but not an unlimited number of nodes or the ability for just anyone to mint coins upon it.
- TheDong 8y agoThe majority of the time I see the term "private blockchain" used it's in reference to something not dissimilar to a few companies keeping an append-only ledger. In that case, each company is trusted to at least be authoritative for their entities and to be trusted to the extent that their identities are known and they may be held accountable. In that situation, an append-only log with merkle-tree-like crypto could handle the situation just fine. The key thing that isn't needed there is proof of work; participants do not need to be "rate limited" and, if a conflict arises, they can all be trusted to, say, arbitrarily pick the item with the lowest sequence number rather than needing a proof of work system. In what situations do you think a private blockchain is warranted and specifically why is proof of work necessary in that scenario?
- chrisco255 8y agoBlockchains have consensus built in at the protocol level. Sure, you could share an append only log, but who settles disputes? All that functionality has to move off chain, and that's a bigger risk, in my opinion.
- TheDong 8y ago> Blockchains have consensus built in at the protocol level They have it built in based on picking the chain which the most work has gone into. Arbitrarily assigning a number to a transaction and having everyone to agree to pick the smallest in the case of conflict is easier and works fine if your members are all trusted to not maliciously abuse that facet of the code. Proof of work is throwing away resources to solve a problem you don't have if no one is crafting malicious transactions.
- dboreham 8y ago>Arbitrarily assigning a number to a transaction and having everyone to agree to pick the smallest in the case of conflict is easier and works fine if your members are all trusted to not maliciously abuse that facet of the code. This would be like a traditional eventually consistent distributed database (using total order to resolve conflicts). And we might ask "why did those deploying private blockchains not just use that kind of thing?". I'm not sure, but potential reasons are: 1. That kind of thing doesn't actually exist in a form that they can easily use, so they re-purposed existing, reasonably proven blockchain technology to achieve an equivalent functionality. 2. The parties don't completely trust each other so in fact malicious transactions can be crafted. 3. They don't trust their software to not craft malicious trasnsactions and the blockchain provides a neat way to filter them out.
- lalaland1125 8y agoDon't forget about potential reason number 4. 4. Blockchain is very hyped right now and they want to show that they are hip and cool by keeping up with the latest trends.
- chrisco255 8y agoProof of work is but one consensus algorithm. There is proof of stake, proof of authority, delegated proof of stake, etc. Dozens of different approaches out there different from Bitcoin.
- rickycook 8y agobut why would you? blockchain is a fine solution; why reinvent it? replace POW with POA and there are very few reasons not to use a blockchain here
- berkes 8y agoBecause you are literally wasting resources (PoW/PoS) to resolve conflicts that can be resolved much simpler. And to protect against sybils that cannot exist by nature of being private. Or to protect against Byzantine nodes that cannot exist by the nature of being private.
- askmike 8y agoI've worked on private blockchain solutions for financial firms (in supply chain and commodity trade finance). The reason companies are doing these projects is because in a lot of scenarios no one trusts each other. Even if they do, there are not allowed to for legal and compliance reasons. As such huge parts of the industry are paper based. Because if there was a simple MySQL solution from a company they would have gone with that 2 decades ago. The article talks about reasons for wanting a private blockchain. But I have never heard any of these reasons come up in any of my projects. I'm not sure what projects the author is talking about, but definitely not anything related to what most private blockchain projects companies are doing. That said there is a lot of hype in the space (not denying that). You can make an argument that bitcoin in the whitepaper was defined as an open access system, and as such any closed access system is not a blockchain. Sure, but the developers on these projects (like me) are calling them blockchains nonetheless because most the of the tech is the same (except for things like consensus forming, you probably would never use PoW in a private blockchain). ---- Companies are looking into private blockchains because they allow for systems where not one party is in charge of all the data and the network. But they require more than an append only log.
- lifeisstillgood 8y agoCan you point at any examples / elaborations on the subtleties here - almost a "how / why to write your own private blockchain"? I am interested in esp not using PoW in consensus - what makes consensus??
- askmike 8y agoI'm only involved with proof of concepts, as such I usually work with pre made blockchain solutions with smart contracts slapped on top. Consensus is arguably the hardest part of a blockchain (if you need distributed data storage just use something like IPFS). An example is Quorum (JP morgan fork of Ethereum), this is their take on consensus algorithms: https://github.com/jpmorganchase/quorum/wiki/Quorum-Consensus https://github.com/jpmorganchase/quorum/wiki/Quorum-Consensu...
- 8y ago
- mathnmusic 8y agoIt's a good time to point out that "permissioned" blockchain does not have to mean a "private" blockchain. While the validator nodes may be a whitelisted group, anonymous users can still be allowed to run observer nodes. This is the approach the erstwhile InterPlanetary database was planning to take. IPDB shut down earlier this year. Some of us really wanted this so we're setting up an Ethereum-compatible, permissioned+public blockchain called Indium.Network: https://indium.network/ https://indium.network/
- berkes 8y agoHonestly curious what that solves, and how that would work. If it is permissioned, does that not essentially mean its write-side is "private"? What can an observer now do in case the whitelisted entities decide to change history, other than tweeting about it? I'd argue that if the observer now has power to eject the rogue entity/ies from their power, it is a public system. Just via a separate layer. And if it is permissioned, does that not automatically mean it is centralized?
- dboreham 8y ago>If it is permissioned, does that not essentially mean its write-side is "private"? Not parent, but yes. >And if it is permissioned, does that not automatically mean it is centralized? That depends on your definition of centralized: if you mean "under the control of humans" then yes it does. If you mean "under the control of one human" than no it doesn't. For example a common approach is to designate a set of institutions (e.g. not for profit foundations in several different countries) to be in control of the validating nodes. Under that model a quorum of those institutions would need to be subverted in order to censor transactions.
- berkes 8y agoI consider a consortium of individuals "centralized". At least not "decentralized".
- mathnmusic 8y agoYes, "non-profits with political, jurisdictional, legal diversity" is pretty much the approach we plan to take. In fact, to begin with we'll be borrowing from Sovrin (decentralized identity)'s governance model.
- Uptrenda 8y agoLooks like another overly simple blockchain article. The author lists a bunch of reasons why someone might want to use a private ledger and then dismisses all of them without any argument. Here's a whole bunch of reasons why private ledgers make sense in some context: - Control read / write - A list of companies in a consortium might like to maintain shared settlement resources but don't trust a single party for consensus. A private ledger offers a genuine improvement in security over other technologies during a breach. I.e. imagine if there are machines being controlled by authorized humans working with contracts on the private ledger. Hacking a few servers there isn't going to compromise the contracts which is really cool. - Scale better (scrap the distributed part) - Some of the newer ledgers are doing exactly that. When you cut node count it does reduce decentralization but the trade-offs are on a gradient. Again, not necessarily an incorrect choice. Look at something like Ricardian contracts on Corda for settling bank deals. The actual "settlement" isn't done on the ledger at all. All that occurs on Corda is a beautiful way to craft financial contracts that will be easier to audit by regulators. Private ledgers all help with that and would benefit from not using an entire flooding-based p2p network to do it. - So we can store private data - There are many companies and institutions that need to store private data. One can imagine advertising companies sharing demographics or hospitals sharing medical records. There's nothing novel here about acting as a database. What the author fails to grasp are some of the more subtle aspects of distributed ledgers. Like the more nuanced trust relationships between companies or business requirements (upgrading old technology, sharing the costs, incentivized standardization.) Caveat: distributed ledgers are not blockchains. But my problem with this article is the blockchain fanaticism mixed with the authors seeming inability to think outside of black and white terms. He dismisses everything about enterprise ledger technology that doesn't fit in his narrow definitions and can't see any of the nuances of using them. The result is a person who fails to understand either public blockchains or private ledgers very well (like most people it seems.)
- berkes 8y ago> distributed ledgers are not blockchains. Author here. Thanks for your criticism. I think you are making my point too. And you do touch on the reason why I focused so heavily on the "terminology part". What irritates me, is that anything "crypto" is suddenly called "blockchain". Signing transactions and including a pointer to a predecessor is not a blockchain, it's a DAG and we use it daily (git). "Distributing your data" maybe even using merkle trees, is not a blockchain. Its "distribution". An interesting and broad subject in itself. Distributing a ledger is hardly new, though still a field very much in motion. All the things you describe are really very interesting fields often tremendously complex. They all usepieces of tech found in a blockchain too. But then again: the whole basis of bitcoin is really just a combination of existing tech put together in a novel architecture. Many of the things you describe (like distributed ledgers) require quite novel concepts and most of all leaning heavily on cryptography. But none are "blockchain".
- Flenser 8y agoThere's a similar flow diagram in a 2017 paper titled "Do you need a Blockchain?" [1] which identifies 3 types of blockchain: * Permissionless Blockchain * Public Permissioned Blockchain * Private Permissioned Blockchain [1] https://eprint.iacr.org/2017/375.pdf https://eprint.iacr.org/2017/375.pdf
- berkes 8y agoI (author) have read this paper, and think it is only partly correct. However, the article describes a lot of examples that are clearly not blockchains, but cryptographic interesting solutions like a ledger that gets distributed amongst all observers. It even often concludes that "this is not a blockchain". But then goes on to call it "blockchain solutions like this". If the paper would stop abusing the word "blockchain" for "anything with cryptography", and instead use more precise terms, it would be a very good paper. And it would underwrite what I am trying to say: There's loads of interesting data-structures to solve many interesting problems that industries have. Lets' call them what they are instead: DHTs, DAGs, Merkle Trees, Pub/Sub buses, etc.
- Moodles 8y agoI’ve worked for a company obsessed with blockchains. What really happens in my experience is that some clueless business person tells the boffins to work on it, because they’re super scared of the hype that this new tech might destroy them. But they don’t understand it all. Exercise for the blockchain advocates: explain as simply as possible why a “private blockchain” is better than Git.
- rickycook 8y agoid say because it’s a tool purpose built to provide a distributed ledger between untrusted (or in this case semi trusted maybe) parties... git is not a tool thats built for that. if you reverse the argument, explain why git is a better solution for a write only, transactionally consistent, distributed, trustless ledger. i’m sure you could make something akin to a blockchain with git, but why would you when we have a perfectly viable solution that’s prebuilt for the purpose. they both might be able to perform similar functions with enough customisation, but a blockchain is fit for purpose out of the box. note: i’m thinking here a blockchain with POA where tokens are distributed between known parties, so no overhead of POW. POW has very obvious down sides
- Moodles 8y agoGit with public/private keys is literally that. I don't understand why there's hype around blockchains. Besides, how can people say a private blockchain is "trustless"? You just said "POA" ( = proof of authority). The conversations I often got into at my job were like this. It was so incredibly difficult to pin down exactly why they even wanted a blockchain. Or what a blockchain even was in their heads.
- berkes 8y agoIt's only a little more than that: Git (or a DAG) + priv/pub keys + Proof of Work = blockchain If you remove "PoW" it is just "signing in git". Which is an interesing and complex thing. And it being private removes all the need for PoW or removes the function that PoW fulfills. So a "private blockchain with PoW" is really stupid and (even more so) a waste of energy. Whereas a "private blockchain without PoW" is "just git".
- aepiepaey 8y agoContrary to what is claimed in the final section, BitTorrent is not actually an implementation of Merkle trees. Because there are no trees. The hashing used in BitTorrent metainfo files works by splitting the concatenation of all constituent files into equally sized blocks, individually hashing each block (using SHA1), and concatenating the hashes. Paths and sizes for all the files are also stored, but separately from the hashes.
- deleted 8y ago[deleted]
- alexpi 8y agoBlockchain definition from article: a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions Context from referred Nakamoto pdf: In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions So this is not definition of blockchain by Nakamoto (There is no term blockchain at all in this pdf) Definition from wikipedia (I agree with): A blockchain is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a merkle tree root hash) From this definition git is also kind of blockchain. So its hard to follow article with such vague definition from start.
- berkes 8y agoThere is, this though. > chain of hash-based proof-of-work and > chain of blocks in this paper. His later communication does call this "block chain". So you are right that he/them/she does not use the term "blockchain" in the paper. Nor "block chain" but the term can be extracted from there clearly.
- deleted 8y ago[deleted]
- zzzcpan 8y ago> Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data This thing, however, exists only for the purpose of solving decentralized trust problem and cannot be secure without a popular public cryptocurrency. Hence private blockchain is a fallacy. If trust relies on authority it's just a weird database, not a "private" blockchain. It's similar to how people were annoyed with the commons clause added to an open source license being associated with the same old unrestricted license, that in fact became a completely different license.
- lucozade 8y agoInteresting logic. The author quotes Satoshi's definition of blockchain which doesn't preclude private blockchains at all. He then quotes a "more accessible" definition that explicitly precludes private blockchains. So fine, if you define blockchain as being open then, sure, it can't be private. He then has a flowchart that doesn't refer to either definition and follows that with a set of reasons why people want a private blockchain and refutes them. Two of these are fine: private data and access control. Two of these are just plain strawmen: scaling and confidence. And of the 2 reasons that do make sense he makes clearly incorrect statements: > A blockchain has to be public in order to ensure permanence or immutability. No it doesn't. A restricted group of people can use identically the same features that a public blockchain has to manage eventual immutability. If that weren't true then it would imply that, say, the Bitcoin blockchain would not have it's current immutability properties if only its current users could access it. But that's simply not true. > A blockchain has to be permissionless in order to ensure permanence. Again, no it doesn't. Just because you restrict who writes to the end of the chain says nothing about the rest of the chain. Now, it would be a reasonable argument to say that the useful properties of a blockchain are only available to people who have read access to the whole blockchain. And I'd agree with that. But he's not making that argument, as far as I can see, so his actual argument is either tautological or verifiably wrong.
- berkes 8y ago> the Bitcoin blockchain would not have it's current immutability properties if only its current users could access it. But that's simply not true. Interesting point. But I think this evolves around what makes "private" and what not. Is a network of ~10.000 anonymous nodes "private" if you now close it? I guess it would be called "permissioned" and not "private". Further, my point is that when you would close the current network and disallow anyone to write and read from it, other than the currently online ~10.000 nodes, disallow new wallets and participants (making it private) you'd loose three things, essentially rendering the blockchain unusable: breaking it's immutability: * There would be no new miners. * There will be no increase in usabiltity: no future gain. These two things will logically cause centralisation of the existing mining. After all: no new miners can join, and only miners can drop out. A typical "private blockchain" so not one that started out public, grew large and then turned private, but one that starts out private, therefore has no need for PoW at all: it makes no sense, and adds no security that is not already there (through enforcements of access controls). Hence either the PoW is just nonense and (even more so) a waste of energy. Or it is left out. And a blockchain without a PoW is just a DAG tree. Or cryptographically signed logbook. Which can be useful in itself. But which is not a blockchain.
- trevelyan 8y agoIf the author is reading this, the most interesting thing about your article is that it creeps towards the recognition of something important (i.e. that data ordering and data permanence are quite different things) before it balks at the implications and adds unnecessary properties to its definition of a blockchain. This makes the piece come across ideological. As a case in point, you write that the public aspect of a blockchain is what ensures its permanence but that is not at all the case. The public aspect is what guarantees open access. Open access in turn guarantee decentralization under conditions where decentralization is economically feasible. The only thing that guarantees permanence is the economic incentive structure that pays participants to store and distribute data. We don't have a good taxonomy for discussing these ideas yet, but most people working on scale are beyond this. Ethereum is experimenting with rent. Bitcoin variants exist which have adjusted their genesis block manually. Some layer-two networks are designed be transient, while Saito uses a transient blockchain to put bandwidth-intensive applications directly the first layer. The direction of development in the space is tilting very clearly towards utility networks and disposable data-structures. The disagreement is over at what layer this needs to take place, and how to preserve things like open access while paying for things like bandwidth and storage.
- berkes 8y agoThanks for your summary. Indeed it is very hard to explain these ideas, because so many terms are still vague, missing or explained in often contraditing ways. I think, indeed, that with "permanence" i've made the mistake to pull that together with "immutability". My first draft had them as different points, but I found that this made the explanation too complex. So I decided to go only for "immutability" and to move the "permanence" under there. In your definition of permanence (the correct one, BTW) this is not the same. Permanence needs economic incentives. As we can see with IPFS (and it not -yet- being permanent in practice). Immutability, however, needs (i) cryptography and (ii) conflict resolution and (iii) permanence. Which implies "being public". As I tried to explain. Or did I misunderstand your comment, and do you mean immutability as well as permanence?
- trevelyan 8y ago
- foobarbecue 8y agoAs much of a fallacy as "personal cloud" (the new marketing term for NAS).
- deleted 8y ago[deleted]
- bbulkow 8y agoIsn't this all definition? It seems reasonable for three companies to create a block chain only they see. It is public, in a sense, because the transactions span different trust domains. It is not public because it is not on the open internet like Bitcoin. Multi company blockchains are the primary use I know of the term 'private blockchains'. I don't see anything in this paper which argues against this...
- berkes 8y agoWell no, because for these cases the most important thing that a blockchain solves needs not be solved. PoS (or PoW) are not needed because there is no sybil attack nor a byzantine-general problem to be solved. In fact, most "Private Blockchains" ditch the PoW and therefore can claim "tremendous scaling" or things like that. Ditching the PoW solves most of the scaling issues. Sure. But a blockchain without a PoW is simply a log that is cryptographically signed (but not secured). Because I could very easily just change block #2 and simply accept the cascading effect. People familiar with Git use this principle every day. A git --amend and git push --force is exactly this. Once you can convince the participants in your private network (your colleagues) to use your branch, history has been rewritten. (And the old work is just one garbage-collection away from being forgotten forever). So, yes, it is very much a definition question. But that is because "a blockchain" has it's requirements and its pro's and cons built into that definition. So if you start stretching the definition, you simply loose requirements. And you end up with something that really makes no sense.
- ggm 8y agoI loved Doré Woodcut. Its only function is to make the layout look better. And these images are really nice themselves
- m12k 8y agoFor most companies, securing funding and getting exposure in the media is significantly more important than using technically correct terminology to describe the implementation details of their product.
- joeblau 8y agoLet's say the OP is correct. It doesn't matter — Whomever is using the word is using it how they want to and the recipient will understand the correct and incorrect meaning. If I was the CTO at a bank and I told the OP we were building a private blockchain for asset management, he would know what I mean. Now since the op is technical, he would probably ask more questions to figure out that what I really want is an openly audit-able immutable database, but his intellect would allow him to drill down further. This fallacy the same thing that happened for the word "Disrupt"/"Disruption"/"Disruptive Technology". Even Clay Christensen, the creator of the phrase, says most people misuse the phrase "disruption" when compared to his explanation in the Innovators Dilemma[1]. There are Tons[2] of[3] people[3] complaining that the term is misused. In the end, if you casually tell someone you've got an idea for a Taco Food truck that's going to disrupt the food truck industry, people will know what you mean. The definition of this word "blockchain" is being misused so much that it is changing faster real eduction can help. I think posts like this are great if you're technical, but as I said above — It doesn't matter what the fallacy is. [1] - https://www.amazon.com/Innovators-Dilemma-Revolutionary-Change-Business/dp/0062060244 https://www.amazon.com/Innovators-Dilemma-Revolutionary-Chan... [2] - https://techcrunch.com/2013/02/16/the-truth-about-disruption/ https://techcrunch.com/2013/02/16/the-truth-about-disruption... [3] - https://www.forbes.com/sites/vukivujasinovic/2017/03/02/its-time-to-stop-saying-everything-is-disruptive/#62a5bbc708dc https://www.forbes.com/sites/vukivujasinovic/2017/03/02/its-... [4] - https://www.newyorker.com/magazine/2014/06/23/the-disruption-machine https://www.newyorker.com/magazine/2014/06/23/the-disruption...
- dsr_ 8y agoIf it's private, it isn't auditable. You can keep a journal of all transactions, and when you decide that history needs to be changed, you make the change in your journal and roll it forward from there. If the auditors have half a clue, you can't do this for events that happened before the most recent previous audit, but if they have a whole clue, they won't accept the current state of your system as anything more accurate than your attestation. The counterargument to "words mean what people agree they mean" is that "to computers, instructions mean what they have already been defined to mean". If you change Python's meanings, you need to tell everybody that you're using Python 3.5-Joe, not Python 3.5.
- redm 8y agoI think this is semantics, many people are talking about distributed ledgers more than Blockchains specifically. "A distributed ledger (also called a shared ledger, or distributed ledger technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions." [1] [1] https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/492972/gs-16-1-distributed-ledger-technology.pdf https://assets.publishing.service.gov.uk/government/uploads/...
- lalaland1125 8y agoSo, I guess a shared Google Sheet is a distributed ledger?
- berkes 8y agoBut is a "distributed ledger" a blockchain? Nowhere in my article did I say that "private distributed ledgers" are nonsense (allthough, writing it down gives me cringes). But the whoe focus on "terminlogy" is in my article for pricesly this reason. I am not talking about how it is silly to have your excel sheet shared amongts a predefined set of participants using fancy bittorrent-streams (a distributed ledger). But that a blockchain being private is nonsense. And allthough your average marketing department might hate to hear it, but your distributed ledger is quite certainly not a blockchain.
- decentralised 8y agoI think there is a space for private (or permissioned) blockchains and there are a few techniques that allow such a chain to inherit the trust of a public blockchain such as Bitcoin or Ethereum (side-chains, Plasma, etc) so that it's possible to use cryptocurrencies or other popular tokenised assets in a private setting without users having to trust the owner of the private chain itself. In such scenarios, the role of block producer is centralised and limited to the owner of the private chain which means a less power-hungry consensus mechanism such as Proof of Authority can be used and have block interval times in the milliseconds. A project I've worked on recently aimed at delivering a similar solution in a global company that has historically grown through acquisitions and mergers where the IT systems never fully integrated, meaning that despite operating under the same name, there are hundreds of BUs that don't "trust" each other.