Skip to main content

Posts

Showing posts from November, 2017

Shopping for the Right Blockchain Consensus Algorithm: Proof of Stake

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 ." This post will focus on how the  Proof of Stake (PoS)  consensus algorithm works, its pros, and its cons. Often when we go shopping for something we start or end with the cost of the product. If there's a new pair of jeans for $300, but a similar looking pair at the thrift store for $5, the thrift store has a significant economic advantage.  When shopping for the right blockchain consensus algorithm, though, there is no price tag or checkout process. Instead, consumers have to carefully weight the pros and cons of the different algorithms to find the one that works best for them. To go back to our jeans, it's all about fit, not price because, as it turns out, if the algorithm fit is a little too tight in certain areas everyone will know and it will cost you more than your spot at the c...

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 ...

So what's the difference between the blockchain and a database?

“How is the blockchain different from a database?" is a question that often pops up and it's an important question.  In your typical Excel database one person enters data. That person may even share that database with someone else who can then add additional data, edit the data, or delete the data.  And that is one of the biggest differences between the blockchain and a database: Different parties can create, read, update, and delete data in a database. In the blockchain, on the other hand, data can only be written to a block, it cannot be updated or deleted. And, depending on whether the blockchain is public, private, or permissioned, not everyone can always even read the block. Let’s walk through an example: Let's say Keep Calm Logistics contracts Acme Delivery to pick up a package in Nairobi. While negotiating the contract Keep Calm and Acme agree on what data to track; the date the package is picked up, the time it’s picked up, a scan of the package to confirm...

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 crypto...

Blockchains and Distributed Ledgers

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 distributed ledger technology. Chapter One: A lot of the course's first of eight chapters regards the blockchain in general, the different blockchains that exist, and how they are similar and different. By the end of the first chapter we begin to focus on the Hyperledger blockchain. The course does a nice job of presenting its material in bite-sized portions in the form of either text or video. The slides that are all text rarely require scrolling on a laptop while the videos are rarely longer than four minutes in length.  A Key Takeaway From Chapter One So what is the blockchain? The blockchain is a distributed ledger . OK, well, what's that? Traditionally, we have had to deal with ledgers that are  centralized,  not distributed. Examples of cent...