Skip to main content

Permission Granted

Today I'll continue a review of the Linux Foundation's first Hyperledger blockchain class on edX, "Blockchain for Business - An Introduction to Hyperledger Technologies" with a focus on permissioned and permissionless blockchains.

One Pager on Permissioned and Permissionless Blockchains
Prior to this class I knew that some blockchains were permissioned and others permissionless, but I didn’t have a firm grasp of what those terms meant mainly because permission typically takes a preposition after it; notably, permission to do something or permission from someone. The shorthand terms permissioned and permissionedless, unfortunately, didn't spell out the rest. Today I'll make that a little more clear. 

Some blockchains such as the Bitcoin and Ethereum blockchains are permissionless. This means those who want to participate in them do not require permission from any central authority to do so. This makes sense for Bitcoin and Ethereum, two cryptocurrencies that individual consumers want to participate in and trade with without the need of an intermediary like a bank. Additionally, the more participants in a blockchain theoretically the more secure it is as there are more ledgers out there to confirm or deny one’s claims. That being said, open blockchains are also subject to more malicious actors entering the network and causing havoc because they are open and have no vetting process.

Conversely, a permissioned blockchain requires those participating to get permission to do so first. The Hyperledger blockchain is permissioned. As you can imagine, permissioned blockchains are less susceptible to malicious actors because they are vetted out to begin with. At the same time because there are less total participants involved in the network, it is less secure. A little confusing, right?

Here’s an example. Let’s say I send you 100 bitcoins on the Bitcoin blockchain. Not only will you and I have ledgers of the transaction, but so will the thousands of other nodes on the network. Why? Because the permissionless blockchain is a publicly distributed ledger and it's not only distributed between you and me, but between its vast network of nodes. If I then say, “Actually, I sent you 1,000 bitcoins” you and the thousands of other network nodes can check their ledgers and say, “Nope, you’re wrong. You only sent me 100.”

Now let’s perform the same transaction over the Hyperledger blockchain. Let's say I sell you my house on 10 Main Street for $100,000 and we record the transaction on the Hyperledger blockchain. At this stage there are only two participants in our permissioned and private blockchain. Unlike the Bitcoin blockchain which has thousands of eyes on every transaction, we only have two: yours and mine. But what if I change my story and say, “Actually, the house is $110,000. You owe me $10,000.” If you look at your block you'll see the contract for 10 Main Street for $100,000. Unfortunately, because there are only two nodes in the network it’s your word against mine. That’s dangerous. 

This is why it's important to properly vet your partners on a Hyperledger blockchain and achieve the proper consensus prior to conducting business. We'll dive into consensus on the blockchain in a future post. 

Comments

Popular posts from this blog

The Proof of Work consensus algorithm

Today I'll continue a review of the Linux Foundation's first Hyperledger blockchain class on edX, " Blockchain for Business - An Introduction to Hyperledger Technologies ." Today's post will focus on how the  Proof of Work (PoW)  consensus algorithm works. People have  explained  PoW to me a few different times and each time I walked away with questions and an incomplete understanding of the subject. This includes the edX course which does a good job of explaining the concept, but still didn't provide a good visual of how PoW works or connect all the dots. I'll try to provide a more comprehensive explanation here.  Please keep in mind why consensus algorithms such as PoW are necessary and important: They provide trust between different untrusting parties. Without trust there are no transactions between the parties. How do the consensus algorithms provide trust? As a process created by third-party developers consensus algorithms such as PoW do not b...

Achieving Consensus

Today I'll continue a review of the Linux Foundation's first Hyperledger blockchain class on edX, " Blockchain for Business - An Introduction to Hyperledger Technologies ." Today's post will focus on how participants in a blockchain transaction agree on the data that goes to the blockchain. This process is called consensus. Normally, when two people achieve or come to a consensus it means that after some discussion all parties have come to an agreement. In terms of the blockchain, consensus means " achieving agreement among the network participants as to the correct state of data on the system." This "leads to all nodes sharing the exact same data." If there is no consensus then not only can the participants in a blockchain not  agree on what data to commit to the blockchain, but they cannot  distribute their information away from a centralized location. Achieving consensus quickly, flawlessly, cheaply, and consistently is essential to the ...