DEV Community

Marlon
Marlon

Posted on

High Level Science Of Cryptocurrency

First, I want to thank Patrick McCorry for making all of this knowledge available to myself and others.

Second, I'd like to assert that I'm writing from a Bitcoin and Ethereum paradigm.

Overview

We'll be looking at cryptocurrencies from the perspective of three different computer science topics. The three topics will be (1) Data Structures and A Cryptographic Audit Trail, (2) Distributed Systems and Global Consensus, and (3) Applications.

(1) Data Structures and A Cryptographic Audit Trail

Q: What if there was a data structure to let someone re-compute an entire database from scratch and then compare it with others to verify its validity?
A: The data structure that makes this possible is the blockchain. The blockchain is a cryptographic audit trail that will allow anyone to re-compute the same database by verifying a sequence of transactions.

Q: How can one be sure they've re-computed the correct database (blockchain) on their local system?
A: The re-computation of "the" blockchain passed to us from a peer on "the" network alone doesn't guarantee that we've actually re-computed the "right" one- the one "everyone else" is using. That's where the idea of a distributed system and global consensus comes into play.

(2) Distributed Systems and Global Consensus

Q: What is a consensus protocol?
A: A set of computers that want to reach an agreement about a data item. You can imagine a set of questions (data) being propagated (bounced around) throughout a set of computers and then filtered through the protocol (rules) until there's a final decision made (true/false) on each question (data item).

Q: What is safety compared to liveness, and why are these terms relevant when it comes to a blockchain's consensus protocol?
A: In a centralized network, the focus is on safety; where as in a decentralized network, it's usually on liveness. Safety is based on "nothing bad should ever happen"; where as liveness is based on "something good happening eventually". No consensus protocol can guarantee both simultaneously. Networks based on safety are usually closed off from the public- requiring 2/3 nodes to be online; where as networks based on liveness are usually open to the public- requiring at least 1 node to be online.

(3) Applications

Ultimately what we get from a blockchain is a public consistent view for all parties; which have lead to applications that enable peer-to-peer electronic cash, smart-contracts, and the array of possibilities that come with smart-contracts such as auctions without auctioneers, voting without tallying authorities, gambling without casinos, and etc..

Conclusion

At a very high level, when it comes to cryptocurrency, we've covered (1) Data Structures and A Cryptographic Audit Trail, (2) Distributed Systems and Global Consensus, and (3) Applications.

If you have any questions or suggestions, then please leave them in the comment section below.

Top comments (1)

Collapse
 
danielsinoca profile image
Daniel Sinoca

Great article, thanks for your work.