BACKGROUND IMAGE: stock.adobe.com
In a blockchain system, transactions are recorded in a distributed digital ledger. The system relies on the nodes on a peer-to-peer network, referred to as "miners," achieving consensus, or agreement, that a transaction actually took place, by solving a complex mathematical equation. Once consensus is achieved, the miners create a hash of the information in each block and store the hash with the block at the end of the blockchain. Other data included in the hash is the previous block's hash; that process is repeated for each ensuing block. Including the previous block's hash in each subsequent one eliminates the possibility that blockchain data can be tampered with.
Given the newness of blockchain technology within most enterprises, the IT folks we spoke with wanted clarification around three blockchain issues: scalability of blockchain systems, how consensus works and ownership of the data. We addressed those questions to IBM blockchain expert Arvind Krishna, senior vice president and director of research at IBM.
IBM is aiming its efforts in the permissioned blockchain space, in which there are no anonymous players, unlike Bitcoin, which is completely permissionless. "In our blockchain we want to be clear that the amount you reveal about the content of a transaction is up to the two parties that are involved or more explicitly to the party who creates the transaction. So there is a complete concept of privacy and confidentiality," Krishna said.
Krishna said that in the permissioned (and non-cryptocurrency) blockchain system that IBM envisions, scalability -- which can be a problem in permissionless systems -- isn't a concern for three main reasons. In a cryptocurrency blockchain system, like Bitcoin or Ethereum, scalability is limited by the number of transactions per second, the size of the network and the number of coins. According to some estimates, Bitcoin can currently support just seven transactions per second, compared with anywhere from 1,000 to 2,000 per second by Visa, depending on whose estimates you use. In a non-cryptocurrency blockchain system, those limiting factors fall away, he said. "You can create as many transactions as you like; as long as you encrypt them correctly, they can happily join the blockchain. Because proof of work is not [accomplished] by doing complex mining operations ... there is no limit on transactions per second. And there is no limit on the number of nodes that join it because consensus is not required" in the same way as with a permissionless blockchain system, the IBM blockchain expert said.
Just how many peer-to-peer nodes is enough for consensus is determined by Byzantine fault tolerance theory, which states that a certain percentage of actors within a system can act maliciously or in collusion with one another without compromising validity of the system. "You've got to first decide how many people could be colluding possibly, because if they are all malicious but not colluding with each other you can actually do consensus of a very small number," Krishna said.
A blockchain system designer can take steps to avoid collusion by, for example, requiring certain geographical representation among peers on the network, or by requiring that no more than a certain number of nodes are run by certain companies.
"If you believe collusion could be happening, then you've either got to say, 'Oh, I am going to pick my people to get consensus in such a way that I have reasonable chance that they are not all the colluding ones or you can raise your number to get above the colluding sets, if possible," Krishna said.
Bitcoin has about 5,700 nodes in its network as of early June. Ethereum has about 5,500. In a permissioned blockchain system, the network can be much smaller. "If it is a small network, you might ask for consensus by all nodes agreeing." In a large network, the system can require that a fixed number of nodes or a percentage of them agree in order to achieve consensus.
Much has been said about the privacy and security benefits of blockchain technology, but who owns the data that lives on a system? And who is responsible for maintaining it and archiving it? In a public blockchain system, all the nodes on the network are responsible for holding the data. If one or more of those computers goes down, "as long as a sufficient number of the nodes in the network are there, you preserve the whole property," so that the system remains viable, Krishna said. Krishna envisions some kind of administrator -- suggesting an IBM blockchain offering will include this as a service -- that would handle backup chores and provide audit logs. On a permissioned or a private (behind a firewall, within one enterprise) blockchain, maintenance and redundancy becomes the concern of the organization sponsoring the permissioned system or those that own the private system, respectively.
With regard to ownership of data in a blockchain system, IBM blockchain expert Krishna said that it's owned jointly by the members of the blockchain. "It is not owned by anyone [in] legal ownership [terms], because they all joined it, they all agreed to live by the rules of the blockchain," he said.
More from the blockchain technology experts:
Is there a consumer market for blockchain?
Microsoft collaborates with big banks on blockchain