Professional Documents
Culture Documents
Node Application
Each Internet-connected computer needs to install and run a computer application specific to the
ecosystem they wish to participate in. Using the case of Bitcoin as an example ecosystem, each
(In slightly more technical parlance, the blockchain ecosystem constitutes a service overlay
network (SON) and to be a node in the network your computer must be able to process
run the node application. Whereas the Bitcoin ecosystem allows anyone to download and install
Regardless of how one is qualified, once one has a node application one can participate in the
2. Shared Ledger
This is a logical component. The distributed ledger is a data structure managed inside the node
application. Once you have the node application running, you can view the respective ledger (or
If you are running the Ethereum client, you can see the Ethereum ecosystem ledger and interact
according to the rules of that ecosystem (smart contracts, payments, etc.). If you are running
the Bitcoin client, you can participate in the Bitcoin ecosystem, according to the rules set out in
You can run as many node applications as you like and are permitted to use, and each will
participate in their respective blockchain ecosystems. It is important to note that regardless of how
many ecosystems you are a participant in, you will only have one shared ledger for each
ecosystem.
3. Consensus Algorithm
This, too, is a logical component of the ecosystem. The consensus algorithm is implemented as
part of the node application, providing the ‘rules of the game’ for how the ecosystem will arrive at
a single view of the ledger. Different ecosystems have different methods for attaining consensus
depending on the desired features the ecosystem needs. For example, Bitcoin arrives at consensus
Participation in the consensus building process, the method for determining the “world state” of
proof-of-elapsed-time; each method qualifies nodes as honest in a different way before participate
4. Virtual Machine
The virtual machine is the final logical component implemented as part of the node application
that every participant in the ecosystem runs. To understand the capabilities added to an ecosystem
by including a virtual machine let’s take a quick look at what a virtual machine is.
To understand virtual machines it helps to understand how a computer program runs on your
computer. When a physical computer runs a computer program, the instructions in the computer
program tells the computer to changes its “state”. We sense the changes of “state” on the physical
computer in multiple ways: as a display showing information and graphics, as the alteration of
information held in memory, as sound sent out to the speakers, as information stored on a solid-
state drive.
held inside a machine. To some degree we are already are accustomed to abstraction of real world
objects and entities as virtual objects in a computer. Think of a button in a graphical user interface
of an application. You press the button on the screen and the state of the program inside the
motor vehicle and it is largely what counts these days, rather than the real-world physical printed
driver’s license.
Ethereum is a blockchain ecosystem that, like Bitcoin, implements a virtual machine. The virtual
machine lives in the Ethereum node application, called a wallet, and unlike Bitcoin, it can
understand a wider range of instructions making it possible to manage the state of a digital
contracts aka smart contracts. The instructions take the form of a special programming
languagethat instructs the Ethereum virtual machine in the node application to enforce the terms
of the contract consuming and releasing a digital token called “ether” as part of the transaction.
The contract cannot be tampered with, again because of the cryptographic integrity of information