Daily Archives: September 17, 2017

Learning Ethereum/RSK (3)

Previous Post

In my previous posts I commented about two Bitcoin books/resources. They are many other ones, but it is time to write about Ethereum, the basis of RSK core.

First, the main reference is the project web site:


The first read should be the white paper:


The main author is Vitalik Buterin, the project creator. See:


In the white paper, Buterin describes Bitcoin protocol and its shortcomings. Ethereum is a blockchain, but it is different in many ways. In Bitcoin, you have UTXO (Unspent Transaction Outpus). In Ethereum, you have accounts with balances. In Bitcoin, you have limited scripts. In Ethereum, there is a Virtual Machine that can run smart contracts written in different specialized programming languages (altought the most popular so far is Solidity). And you have a trie and hash root for the state of world. Each contract has its own storage, again using a trie and hashes. These additions make Ethereum a very interesting project.

A good review of the white paper is at:

Cracking the Ethereum White Paper

A fragment:

So what is Ethereum really? In my previous article, I explained that Bitcoin acts as a trusted store of and means of transmitting value. I like to think of Ethereum as a means of transmitting value but also a trusted store for complex and shared interactive information and software. Understanding it is tough, but the reward might just be worth your time.

The next read is the Yellow Paper:


Written by another Ethereum co-founder, Gavin Wood. It has a detailed descripcion of account states, blocks, uncles, RLP (Run Length Prefix) the encoding of bytes used by Ethereum, hashes, and an appendix describing the Virtual Machine opcodes and operation.

In the next posts, I will describe the differences between Bitcoin and Ethereum transactions, the state storage, for world states, and contract states, and first steps using Solidity.

Stay tuned!

Angel “Java” Lopez