Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 36 Next »

Content

Blockchain


A blockchain is a distributed computing architecture where every network node executes and records the same transactions, which are grouped into blocks. Only one block can be added at a time, and every block contains a mathematical proof that verifies that it follows in sequence from the previous block. In this way, the blockchain’s “distributed database” is kept in consensus across the whole network.

The current block number can be viewed on the Ethstat website.

Security

Individual user interactions with the ledger (transactions) are secured by strong cryptography. Nodes that maintain and verify the network are incentivized by mathematically enforced economic incentives coded into the protocol.

Decentralization

On traditional server architectures, every application has to set up its own servers that run their own code in isolated silos, making sharing of data hard. If a single app is compromised or goes offline, many users and other apps are affected. On a blockchain, anyone can set up a node that replicates the necessary data for all nodes to reach an agreement and be compensated by users and app developers. This allows user data to remain private and apps to be decentralized like the Internet was supposed to work.

Ethereum Virtual Machine


The Ethereum Virtual Machine (a.k.a. EVM) is the runtime environment for smart contracts in Ethereum. It is actually completely isolated, which means that code running inside the EVM has no access to network, filesystem, or other processes. This EVM makes Ethereum a programmable blockchain. It allows users to create their own operations of any complexity they wish. In this way, it serves as a platform for many different types of decentralized blockchain applications, including but not limited to cryptocurrencies.

Every Ethereum node runs the EVM in order to maintain consensus across the blockchain. Decentralized consensus gives Ethereum extreme levels of fault tolerance, ensures zero downtime, and makes data stored on the blockchain forever unchangeable and censorship-resistant.

Ethereum Wallet


Accounts represent identities of external agents (e.g., human personas, mining nodes or automated agents). Accounts use public key cryptography to sign transaction so that the EVM can securely validate the identity of a transaction sender.

Accounts play a central role in Ethereum: they are essential for users to interact with the Ethereum blockchain via transactions.

Account address

Account addresses are the last 20 bytes of a SHA-3 hash of a public key which is generated at account creation. This address is most often in this form : 0x0421d217d2D572244c16e6dc58E87C10d73579UF

Keyfile

Every account is defined by a pair of keys, a private key and public key.  Every private key/address pair is encoded in a Keyfile. The critical component of the keyfile, your account’s private key, is always encrypted, and it is encrypted with the password you enter when you create the account.

If you loose your account password, there will be no possibility to ask to any entity for a password recovery. Your account and its content will thus be lost. If you delete accidentally the keyfile, the account will too be unusable. Make sure you backup your keyfiles regularly

Create and manage your account

There are two methods to create and manage your Ethereum account.

  1. Command Line Interface (a.k.a. CLI) tool based on the geth command.
  2. Graphical User Interface (a.k.a. GUI) based option for creating accounts.

The “official”  Mist ethereum wallet. and its parent Mist project, are being developed under the auspices of the Ethereum Foundation, hence the “official” status. Versions of the wallet app are available for Linux, Mac OS X, and Windows.

As of 2016-05-13, The Mist wallet is still a beta software and shall be used at your own risk. A bug can leave you with a broken wallet and a potential lost of your wallet content.

Smart contract


From Vitalik Buterin in ethereum blog: a smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated.

A contract is a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain. Contract accounts are able to pass messages between themselves as well as doing practically Turing complete computation. 

A smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated.

The key property of a smart contract is simple: there is only a fixed number of parties.

Decentralized applications


A decentralized application (a.k.a. DA) is similar to a smart contract, but different in two key ways:

  • a decentralized application has an unbounded number of participants on all sides of the market.
  • decentralized application need not be necessarily financial.

Decentralized organizations


In general, a human organization can be defined as combination of two things:

  • a set of property
  • a protocol for a set of individuals

The idea of a decentralized organization (a.k.a. DO) takes the same concept of an organization, and decentralizes it. Instead of a hierarchical structure managed by a set of humans interacting in person and controlling property via the legal system, a decentralized organization involves a set of humans interacting with each other according to a protocol specified in code, and enforced on the blockchain

Decentralized autonomous organizations


The ideal of a decentralized autonomous organization (a.k.a. DAO core concepts) is easy to describe: it is an entity that lives on the internet and exists autonomously, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do.

The DAO is a corporation whose bylaws are written entirely in code.

Wikipedia defines a corporation as “a company or group of people authorized to act as a single entity (legally a person) and recognized as such in law.” While The DAO is a group of people authorized to act as a single economic entity, no governmental body recognizes it as such.

Solidity, Serpent, LLL


Contracts live on the blockchain in a Ethereum-specific binary format called Ethereum Virtual Machine (EVM) bytecode. Contracts are typically written in some high level language such as Solidity and then compiled into bytecode to be uploaded on the blockchain. There are some high-level languages and compilers to generate this bytecode:

  • Solidity has many resemblance with Javascript, but it is static typed and there are some special constructs.
  • Serpent is a deviation from python 
  • LLL is a low-level, Lisp-like Language 

Ethereum client

 

Ethereum network

https://ethstats.net/

 

 

Smart contracts

Nick Szabo 1994 article

Security

http://www.dejavusecurity.com/blog/2015/7/23/deja-vu-security-assists-in-ethereum-release

https://klmoney.wordpress.com/

See also


  • No labels