As IBM's official liaison to the Ethereum core developers I gave talks on blockchain topics pretty much around the world. After one keynote I was asked for a non-technical guide to understand blockchains. This is it.
The book aims to help you get your head around blockchains in general and around Ethereum specifically. Since Ethereum is currently the pre-imminent blockchain, it makes sense as reference point. The essential stuff is the same for any blockchain.
This text was written for people with a fast grasp, who are not programmers. Reading this should give you the basics to cut through the hype and to identify blockchain opportunities in your professional domain. There are tiny bits of code, which can be admired and skipped.
We'll look at Ethereum's benefits first, how it is used and what can be done with it; then explain blockchain machinery, visiting the terms that you'll be confronted with in every discussion about its application. Exactly what you need to tell the signal from the noise in the echo chamber of honest misunderstandings and desperate marketing.
We take a good hard look at limitations, throw in some history and names and give a realistic outlook.
The index reads like an FAQ and you can use the book like that. However, there is a strong build up, one chapter leading to the next, as optimized path to understanding all the interconnected, moving parts. There's quite a number of them.
Blockchains are not a trivial topic. The fact that blockchain client programs are small has fooled many people into believing it can't possibly be that hard. The challenges are in the implications though.
But what’s in this book will put you ahead of almost everyone outside the core bubble.
A deep dive into this field now – at least getting started – will help you to become part of the fun ahead. It should allow you to stand out, land deals or a great job.
It will also make you see first hand how early we are in the game.
Hopefully, we will find a contributor to the blockchain community in you, strengthening the portfolio of real-world use cases. Ideally, you'll learn to navigate your own uncharted course through your domain and revolutionize it.
Here are my key take-aways: -Exceptionally high number of spelling and grammatical errors, poor structure. But interesting content overall. -The author Henning Diedrich works for IBM and is working on Ethereum-related topics. (p. i) -Smart contracts: “Blockchains collapse agreement and execution”. (p. 3) “Blockchains are about guarantee of execution.” (p. 5) “If it doesn’t need guaranteed execution, it’s not a blockchain use case.” Smart contracts are not just database triggers and too complex for just being that. Also, using a blockchain as a distributed ledger is not worth it. Timestamped hashes, identify, authentification, or cryptocurrency may also not be worth it. (p. 50) -The author claims that “Ethereum is by far the most advanced and robust blockchain available. [...] Ethereum is the (emphasis on “the” in the book) blockchain. A moving target for all who play catchup, with a prodigy founder, hedge fund money as a safety net and a head start of two years.” (p. 4) “Ethereum smart contracts have code and memory.” (p. 28) One of the major drawbacks of Ethereum is that it is too slow to run complex processes directly on it (=on the mainnet). Complex logics need to be executed off-chain. One key thing to understand is what logics should be executed on-chain and what logics should be executed off-chain. (pp. 30, 53) “Blockchains add the dimension of trust to data.” This dimension should be part of the use case. (p. 78) This “... the contract and the escrow account of a transaction are literally one and the same… And an elaborate form of a smart contract is the decentralized, autonomous organization (DAO), which is programmed to perpetuate its existence, accordingly consists of smart contracts that are designed to never stop and that has its own funds that it manages according to only the rules programmed into it.“ (p. 31) Ethereum is more explicit than Bitcoin because it actually stores balances as opposed to just infer balances from transactions. New cryptocurrencies, even something like Bitcoin, can be created on the Ethereum mainnet. Ethereum, therefore, is not just Bitcoin 2.0. (p. 38) Ether is the currency with which transactions on the Ethereum mainnet are paid for. (p. 43) “Ether will lose its special implementation in Ethereum in the future, if not its special status. From Ethereum 2.0, Ether will on the technical level be (re-)implemented to then work as any other custom currency on top of Ethereum works. (pp. 45-46) One of the major drawbacks of Ethereum is that it is less safe than Bitcoin due to errors that can result from user/programmer mistakes in this complex environment (example: DAO attack). (pp. 53-54) The original idea for Ethereum was to build a general purpose fintech blockchain. Now, it’s capabilities are being stretched. Ethereum is supposed to make system upgrades for different types of transactions unnecessary. (p. 55) Ethereum can be seen as an organic evolution of Bitcoin. (p. 72) Ethereum code can have static state (variables survive individual calls; for example, account balances), which is the main invention of Ethereum over Bitcoin. (p. 86) An Ethereum account can be 1) “an externally operated account (EOA), i.e. manually controlled via its secret key and usually existing for its balance, or“ 2) “a contract, existing mostly for its code and state. Technically, this distinction will go away in future versions of Ethereum. (p. 87) Execution order in Ethereum: 1. User input into an EOA triggers a compute cycle; 2. Messages from EOA trigger contracts to execute; 3. Contracts can call other contracts; the network computes until all calls originating from the first transaction are resolved. (pp. 87-88) External events can trigger smart contracts. (pp. 170-171) DAOs can be programmed to maximize profit and at the same time are unstoppable. This may lead to ethical problems. (p. 185) An oracle can be a sensor of an IoT device or a web service that provides information. (p. 187) Yes/no events can be represented by two public keys. One for yes and one for no. The information provider publishes one of the keys after the event happened and destroys the other key. (p. 189) The author expects oracle services to become a massive market in the future. (p. 189) Gas addresses the halting problem. If a buggy contract has an infinite loop, it will run out of gas. Every Ethereum transaction has an associated maximum cost. When this limit is hit, the transaction will be stopped and rolled back. (p. 206) The gas cost is a fixed price per type of lowest level operation (per opcode) of the VM. 32 bit of memory may cost 1 gas, calculating a hash may cost 20 gas. (p. 207) The price of gas in Ether is not fixed and is a property of every transaction. Transaction with high proposed gas prices are executed faster. Miners can ignore transactions if they do not want to accept the gas price. So the gas price is determined by supply and demand. (p. 208) Ethereum is around 1,000 times faster to finality than stock exchanges and 100,000 times faster than credit card payments. An Ethereum transaction is considered final after twelve blocks. A Bitcoin transaction is considered final after six blocks. The proposal to send money between parties is accepted by merchants that are paid with credit cards. This proposal can be transferred very fast with credit cards. The equivalent concept for blockchain is the moment that a transaction is broadcast to the blockchain. (pp. 217-219) Visa transactions do not move money. They are recommendations and requests. Ethereum transfers are of a different quality. (p. 222) State channels can solve slow latency. “State channels are pure peer-to-peer: they establish a direct connection between two parties who often deal with each other and collect large numbers of transactions before settling them on the blockchain. They require bonds on the blockchain and each state channel transaction is basically a small, digitally signed cheque secured by the bond. In the end the ‘cheques’ are settled using the bond and releasing the rest of it back to the payee.” (pp. 226-227) -Nature of cryptocurrencies: Blockchains introduce digital scarcity; they are digital but cannot be copied. Ethereum programs cannot be stopped. (pp. 6-7) Ethereum is basically a protocol and can hardly be stopped. (p. 8) Blockchains allow “for negotiations and binding agreements between parties that do not know each other.” This makes machine-to-machine (M2M) commerce possible. (p. 13) Immutability, permanence, timestamping, signature, and global availability make data and programs on the blockchain auditable. (p. 19) Decentralization (execution guarantee), signature (mandatory authorization), and hashes (proofs for the entire world state) are the main ingredients of a valuable blockchain. (p. 112) “All accounts “pre-exist.” You just grab a random key for one. (p. 117) -R3 corda is “a single global logical ledger [that] is authoritative for all agreements between firms.” It is not a blockchain and does not include smart contracts. (p. 11) -Many insurance markets do not exist because the transaction costs are too high. For small insured values, it’s not worth it to go to court. Smart contracts change that. They are executed automatically and cannot be stopped, so going to court is not even necessary. This is possible because “1. every transaction going into the system is signed and 2. everyone in the network executes it to completion.” (pp. 23-24) Currently, licenses such as passports can only be made to expire after a certain time. On blockchains, licenses can be revoked with a key in a transparent way. (p. 62) -Blockchain networks and participation as a node: If one sets up a client, every transaction that ever existed on the blockchain is re-created to check the global state of the Ethereum network. (p. 33) “The convention is that this heaviest chain is always the chain that reflects ‘the truth’ of the world state. All ‘lighter’ chains - concretely, those with fewer blocks, maybe just one less, and a different last block with different transactions or maybe only a different transaction order - are to be rejected.” (p. 146) Proof-of-work incentivizes consensus instead of enforcing it. (p. 147) -”Ripple is breaking into the core banking world, trying to replace SWIFT for international transactions between banks. The break away team of Stellar cares more about helping the world by banking the unbanked.” (p. 74) -Ethereum had a market cap of $1bn when the book was written in 2016 (much more today). Sending a satellite node to space may cost $1m and would make any blockchain network even less likely to ever be destroyed. (p. 83) -”Blockchains might soon not have ledgers anymore.” (p. 96) Bitcoin is similar to modern database system. RDBMS use sequences of transactions to represent data (and not state). The rows and columns in a SQL database are usually an abstraction of these transactions. Data is stored as inserts, updates, and deletes to allow for consistency and portability. (p. 97) On a lower level, blockchains use established database technology to write its data to disk, e.g., LevelDB. (p. 99) -Zero knowledge proofs (using zkSnarks) could help to make transactions anonymous. (p. 128) Scaling is a more important issue for the Bitcoin and Ethereum communities. (p. 129) -A mirror asset is a digital asset that represents ownership of a real-world asset. They can be tied to gold, currency, land, or stock. (p. 140) -Proof-of-stake: Punishes behavior that sustains a split. (p. 153) -Hard fork: “A hard-fork is a code update to the clients running on the blockchain that makes transactions valid that previously weren’t. And/or vice versa: transactions invalid that previously were deemed valid.” (p. 155) -Private chains: Miners become validators. Transaction fees don’t make sense in a private network. (p. 195) Private chains can offer full finality as opposed to only probabilistic finality (if they are not created using proof-of-work). (p. 196) Private chains are cheaper and safer, attackers cannot steal tokens. (p. 197) -EVM (Ethereum Virtual Machine): Some explanation about compilers: “A C++ compiler compiles C++ programs to machine code that a specific processor can understand and execute. A program has to be compiled separately for each different type of hardware. Java programs are compiled not to machine code but to an intermediary form instead, called bytecode, that is made to be executed by the virtual machine that understands it. The bytecode is independent of any specific hardware. A virtual machine is more robust and more portable but not as fast. (p. 200) Ethereum has 4 compilers and 8 runtimes. There are four languages that smart contracts can be written in: Solidity (JavaScript-like), Serpent (Python-like), LLL (C++-like), and Mutan (Go-like). Ethereum clients have been written in Python, C++, Go, JavaScript, Java, Haskell, Ruby, and Rust. “The EVM opcodes are the common denominator of all these languages and client. They are what is stored on the blockchain and what ‘Ethereum’ - i.e. the EVM - really understands.” One could also directly write opcode, bypassing the compiler. (pp. 201-202) Ethereum, Eris, Tendermint, and Rootstock use the EVM. Hyperledger is considering it. Dfinity will use it. (p. 203) “One can store any data into the chain, also opcodes of any other virtual machine, e.g. Java’s. These opcodes can then be executed by a system that the Ethereum system is completely agnostic about.” (p. 204) -Business-readiness of Ethereum: The Ethereum community is not too interested in making Ethereum industry-grade. Financial protection from bugs and scalability are still missing. A major part of Ethereum is the EVM; it may be used by Hyperledger and Hyperledger may continue the legacy of Ethereum in industry applications as a result. (p. 233) -Impact on law: “Blockchains could mean a quantum leap in how regulation works: ex-ante instead of ex-post. Blockchains could automate compliance and could allow us to move from writing rules in the legal sphere, which are per-se, just words, towards preventing things from going wrong in the first place, by coding rules as smart contracts that cannot be broken during execution. Rules that can be implemented by regulators themselves, or coded by businesses and audited by regulators as concrete interpretation of relevant regulation, before things are set in motion.” (p. 248) -DAO: Financing for core blockchain technologies is still rare. DAO wanted to solve this problem. (p. 287) The DAO heist was stopped by stopping trading on crypto exchanges. (p. 288) Vote-by-upgrade: DAO clients could choose to install an upgrade and therewith agree to a hard fork. (p. 291)
Overview: As accessible as a book could probably be about block chains... but still frustratingly quixotic at times. Clearly a draft... lots of grammar errors... but written in fairly plain language - it really isn't super technical which is nice. He's also very forthcoming about the limitations and misconceptions of block chains, going to great lengths to point out that the idea of block chains as database is silly and that there are a lot of unresolved challenges ahead. Spends less time on one of the facets I find most fascinating about block chain - the idea that something digital can be scarce which is quite novel and feels like it could have wide-ranging applications.
3 things I learned: 1. Ethereum is a more general purpose block chain than Bitcoin... with the main point being smart contracts that are guaranteed to execute - by which, I mean that if the conditions of a script are satisfied money changes hands. I can’t say I fully grasp the type of things this will enable; but it’s helpful to have the foundational idea. 2. The history of block chains is pretty fascinating. It sprang from an early effort to take back privacy in the cypherpunk community. The intent was not to enable secrecy (and therefore illicit activity) but to allow self-determination of privacy. A lot of the technical elements of bitcoin were proposed and tested on untraceable email communication by others in the community before the Bitcoin white paper was released. 3. It's still very early days for block chain and there are both serious limitations as well as seemingly exciting opportunities. Definitely feels like one of those big shifts where the value it enables has not been seen yet but will seem obvious in retrospect.
Clearly written in a rush. Tons of typo's and circular logic. "A programmatic approach to writing a program within a program".
A person who truly understands a topic can explain it in the simplest terms. Not to mention that majority of the book is written from a hypothetical standpoint: This company could possibly end up doing this, Ethereum will possibly become that, and hopefully "this" will happen in the future. This results in the center of the book seeming largely disorganized and containing fluff.
Towards the end of the book, you find out how Bitcoin came to be and that was a very comprehensive section. Further on it does the same with Ether. The gold is the last 50 pages of the book or so. I give the book three stars because I think majority will agree that further reading is required. This book is long for nothing and doesn't leave the reader fully satisfied.
definitely full of great points and gives you new perspectives on the implications of the technology, but as a whole it reads as if someone was too excited about the topic and had too little time to put together a coherent and carefully crafted book.
+ it does a good job at explaining potential uses and the philosophy behind each - it fails in its story telling, lacks proper outlining, and does a poor job at explaining technical issues
* It certainly doesn't do a good job at explaining what blockchain is; being familiar with the technical details, I found the explanation very fragmented and all over the place. In addition, the author has made a few questionable choices as to when each topic should be introduced, pushing some of the fundamental topics to pages +150! (e.g., what is gas? what is EVM?). This is because the book hopes to engage the reader by painting a beautiful picture in the first few chapters and only delving into mechanics of Ethereum later.
* The author does not discuss the limitations of permissioned (private) chains (which is understandable given his involvement in IBM and Hyperledger)
The Cypherpunk philosophy reigns. Very informative about Blockchain, Bitcoin, and especially Ethereum and it's origins, and any buzz terms in the blockchain jargon. Plenty of learning material and introduces you to some cool stuff that you didn't know about in this field. The book is written for technical and non-technical readers explaining concepts that developers would consider trivial. You need to be able to understand the theory before being able to hack anything on the Blockchain. This book provides exactly that though it won't go far so as to explain the actual math functions or equations. And the concepts are laid down in an easily understandable way.
A useful book on the history and goal of Ethereum and smart contracts. The last few chapters giving an excellent historical recap leading up to Bitcoin and Ethereum by the cypherpunks spearheading cryptography in new technology. It is important to understand the original intent of crypto currency by the cypherpunks: decentralization and privacy, in contrast to centralized control of money by the private banking system and a lack of privacy in centralized online platforms such as Google and Facebook.
This book is an excellent primer on Ethereum for anyone wanting to get a good overview and understand crypto currencies in general, especially the primary 2: Bitcoin and Ethereum.
blinks: 1. Digital currency was developed by cypherpunks in reaction to online privacy issues. 2. Blockchain is a powerful, secure and decentralized database that can track and manager transactions. 3. Blockchains operate through a process of consensus, which takes a lot of energy and time. 4. Thanks to their ability to perform automated functions, blockchains can also be applied to contracts. 5. Blockchains have some problems that are still being resolved. 6. Ethereum offers an alternative to the Bitcoin blockchain and currency. 7. Ethereum offers many possible applications, but there are still concerns.
Really informative book for someone wanting to learn in-depth about cryptocurrencies in general as well as with a focus on Ethereum in particular. It's well structured with a good intro on history and definitions, continuing with development and characteristics as well as several discussions on possibilities regarding the future of crypto and its impact on the economic system. Made me nostalgic and refreshed my awareness about IT, cypherpunk culture, privacy concerns, databases, protocols and so on. I did use ChatGPT and video and written material to further my understanding during this reading as it opens quite a lot of rabbit holes.
Solid, broad coverage of an introduction to Ethereum at a pseudo-technical level. Great starting point for building a foundation for understanding blockchain beyond the more-trivial Bitcoin - the author explains concepts ground-up and lays out context well. Reading this in early 2018, definitely felt a little behind-the-times in some places, but that's of course to be expected in a super early fast-growing space like this.
Definitely not for beginners. I believe the author makes a lot of assumptions about the level of expertise of the reader. Also, the books seems like a random collection of thoughts and info on Ethereum. Lacks structure and coherence. Having said that, it contains some very nice thoughts on the future and purpose of Ethereum.
Good book to get into decentralized code ("Blockchain") and Ethereum in particular. If you haven't read anything about the first, definitely worth reading. If you haven't read anything about the second, also definitly worth reading.
This book is a fun-to-read overview of Ethereum and how it compares to other cryptocurrencies.
While this book contains code, it’s not a dry read at all. The book also focuses a lot on smart contracts implications for the future.
I left it at a friend’s house who had been hearing me talk about cryptocurrency for the last few years and he said this was the book that finally showed him why I believed it had significant potential.
The gold is the last 50 pages of the book or so which gives a good history of Bitcoin and Ethereum that helped me better contextualize the industry news I was reading.
This book is a fun-to-read overview of the technology and how it compares to other cryptocurrencies. I'm not a programmer, and while this book contains code, it's not a dry read at all. The book also focuses a lot on smart contracting's implications for the future, and I would recommend it if you're trying to parse out the noise from CNBC. It might give you a slightly better read than a FAQ you can find on Google.
Author mentions necessity of privacy for users, that is why according to him started cryptocurrencies. He speaks about first try of cryptocurrency in 1997 called b-money, the main problem was according to author, that b-money were not decentralized in comparison to bitcoin. Other attempts also failed during dotcom bubble. Then was form bitcoin, which Satoshi Nakamoto described as solver for obsolete central financial institutions.
Author simply describes blockchain as a database of transactions. It holds information how one amount of money can be transferred to another one, creating a chain of data. The data section is stored into blocks ... that is why blockchain. Each block contains information from previous block, thats why we can imagine this as series of Russian dolls. This prevents duplication and fraud. Cryptography allows secure authentification of transactions. To assure this, individual computers called nodes agree on true version of blockchain ... the longest or heaviest chain is considered true. This verification process consumes enormous amount of energy. Decentralized nature of blockchain however slows down the whole process. New entry for ethereum takes around 3 minutes. Nonetheless these transactions are much more faster than e.g. stock market, which can take around 3 days. The network will accept the group with the highest computing power as a true state of blockchain.
Blockchain can manage smart contracts, it cointans details about agreement and it executes it terms. Trough the smart contracts, it is possible to decentralized autonomous organisations to operate.
One of the biggest problems of blockchain is, that it can lose data. This happens, when one of the two or more big groups responsible for storing information are unable to to agree on a correct state of blockchain, it is called fork, the network splits. Every transaction contains sender and receiver adress, consisted of numbers and letters. Detail of the transaction can be seen by everyone, so it is possible with effort trough this patterns to unveil true identities of senders and receivers.
Ethereum offers alternative towards Bitcoin and other currencies. It is general-purpose blockchain, which makes it much more versatile in comparison to bitcoin (focused exclusively on money). Creator is Vitalik Buterin and he wanted to create conception of blockchain that can be used in wide variety of social and commercial spheres. Ethereum as well is not owned by anyone, it is highly accessible thanks to intuitive programming language Solidity. It has own currency ether.
One of the examples of usage can be tamperproof voting, escrow payments, banking, etc. As Ethereum is open-source, it is considered not fully reliable or bug free and therefore not established yet in corporate use. Other problem can be government regulations and potential misuse by frauds and criminals or terrorists, but author still believes it has potential to change our world and be the blockchain of the future.
This entire review has been hidden because of spoilers.
Digital currency was a result of cyberpunk movement to protect people’s privacy, perhaps inspired by Orwell’s 1984. One of the founders wrote their goals in “Cyberpunk’s Manifesto”. The underlying technology for cyber currencies such as bit coin is called blockchain, where information is stored as blocks, each containing information about a proceeding block (hence the name blockchain). The defining feature is that such a database is distributed, so it is more difficult to falsify. Any participating entity can prevent a block from becoming official. Cryptography adds another layer of security. Blockchains operate through a protocol called proof-of-work, which can be very slow today. This technology can one day replace contract system and currency system. Ethereum is a newer digital currency than the more famous bitcoin.