Ethereum: A secure decentralized generalized transaction ledger

Posted by 周东宜 on September 9, 2018

Recently by the same author:


智能合约安全

You may find interesting:


2018.1.18区块链论文讨论班通知


Nothing at stake problem of PoS

Ethereum: A secure decentralized generalized transaction ledger

Introduction

Category

  • Problem Pattern: Less studied problem / Well studied problems

Motivation

Background

With ubiquitous internet connections in most places of the world, global information transmission has become incredibly cheap. Technology-rooted movements like Bitcoin have demonstrated through the power of the default, consensus mechanisms, and voluntary respect of the social contract, that it is possible to use the internet to make a decentralised value-transfer system that can be shared across the world and virtually free to use.

Literature Review

Buterin first proposed the kernel of this work in late November, 2013. Though now evolved in many ways, the key functionality of a blockchain with a Turing-complete language and an effiectively unlimited inter-transaction storage capability remains unchanged.

Dwork and Naor provided the first work into the usage of a cryptographic proof of computational expenditure (“proof-of-work”) as a means of transmitting a value signal over the Internet. The value-signal was utilised here as a spam deterrence mechanism rather than any kind of currency, but critically demonstrated the potential for a basic data channel to carry a strong economic signal, allowing a receiver to make a physical assertion without having to rely upon trust. Back later produced a system in a similar vein.

The first example of utilising the proof-of-work as a strong economic signal to secure a currency was by Vishnumurthy et al.. In this instance, the token was used to keep peer-to-peer file trading in check, providing “consumers” with the ability to make micro-payments to “suppliers” for their services. The security model afforded by the proof-of-work was augmented with digital signatures and a ledger in order to ensure that the historical record couldn’t be corrupted and that malicious actors could not spoof payment or unjustly complain about service delivery. Five years later, Nakamoto introduced another such proof-of-work-secured value token, somewhat wider in scope. The fruits of this project, Bitcoin, became the first widely adopted global decentralised transaction ledger.

Other projects built on Bitcoin’s success; the alt-coins introduced numerous other currencies through alteration to the protocol. Some of the best known are Litecoin and Primecoin. Other projects sought to take the core value content mechanism of the protocol and repurpose it, the Namecoin project which aims to provide a decentralised name-resolution system.

Other projects still aim to build upon the Bitcoin network itself, leveraging the large amount of value placed in the system and the vast amount of computation that goes into the consensus mechanism. The Mastercoin project, first proposed by Willett, aims to build a richer protocol involving many additional high-level features on top of the Bitcoin protocol through utilisation of a number of auxiliary parts to the core protocol. The Coloured Coins project, proposed by Rosenfeld et al., takes a similar but more simplified strategy, embellishing the rules of a transaction in order to break the fungibility of Bitcoin’s base currency and allow the creation and tracking of tokens through a special “chroma-wallet”-protocol-aware piece of software.

Additional work has been done in the area with discard- ing the decentralisation foundation; Ripple, discussed by Boutellier and Heinzen, has sought to create a “federated” system for currency exchange, effiectively creating a new financial clearing system. It has demonstrated that high efficiency gains can be made if the decentralisation premise is discarded.

Early work on smart contracts has been done by Szabo and Miller. Around the 1990s it became clear that algorithmic enforcement of agreements could become a significant force in human cooperation. Though no specific system was proposed to implement such a system, it was proposed that the future of law would be heavily affected by such systems. In this light, Ethereum may be seen as a general implementation of such a crypto-law system.

Research Niche

The blockchain paradigm when coupled with cryptographically-secured transactions has demonstrated its utility through a number of projects, with Bitcoin being one of the most notable ones. Each such project can be seen as a simple application on a decentralised, but singleton, compute resource. We can call this paradigm a transactional singleton machine with shared-state.

Ethereum implements this paradigm in a generalised manner. Furthermore it provides a plurality of such resources, each with a distinct state and operating code but able to interact through a message-passing framework with others.

Work

Research Objectives

There are many goals of this project; one key goal is to facilitate transactions between consenting individuals who would otherwise have no means to trust one another. This may be due to geographical separation, interfacing difficulty, or perhaps the incompatibility, incompetence, unwillingness, expense, uncertainty, inconvenience, or corruption of existing legal systems. By specifying a state-change system through a rich and unambiguous language, and furthermore architecting a system such that we can reasonably expect that an agreement will be thus enforced autonomously, we can provide a means to this end.

Insight

We wish to provide a system such that users can be guaranteed that no matter with which other indi- viduals, systems or organisations they interact, they can do so with absolute confidence in the possible outcomes and how those outcomes might come about.

Key Concepts

区块链

以太坊整体上可以看做是一个基于交易的状态机:起始于一个创世区块,随着交易的执行状态逐步改变到最终状态,这个最终状态是以太坊世界的权威版本。

状态中包括的信息有:账户余额、名誉度、信誉度、现实世界的附属数据等。

交易:连接两个状态的有效桥梁。“有效”非常重要,因为无效的状态改变远超过有效的状态改变。例如:无效的状态可能是减少一个账户余额,却没有在其他账户中增加相同的金额。

一个有效的状态转换是通过交易进行的,表达式如下:

σt+1≡Υ(σt,T)

其中 Υ 是以太坊状态转换函数。在以太坊中, Υ 和 σ 比已有的任何比较系统都强, Υ 可以执行任意计算,而 σ 可以存贮交易中的任意状态。

区块中记录了交易信息,区块之间通过密码学哈希连接起来。区块链就像一个分类账,将一系列交易记录在一起,并且连接上一个区块及最终状态。系统及理解点去挖矿,挖矿获得激励后,会执行状态转移函数,增加挖矿者的账户余额。

挖矿是和其他潜在区块竞争一系列交易的记账权。它是通过密码学安全证明的方式来实现,这个机制称为工作量证明,公式如下:

σt+1≡Π(σt,B)
B≡(...,(T0,T1,...))
Π(σ,B)≡Ω(B,Υ(Υ(σ,T0),T1)...)

其中 Ω 是区块定稿状态转换函数(这个函数奖励一个特定的账户); B 表示包含一系列交易的区块; Π 是区块级的状态转移函数。

面值

以以太坊内置货币以太币(Ether)为例,一般称为ETH,符号为Ð。以太币最小货币面额是Wei,不同面值如下表:

倍数
面值
100 Wei(伟)
1012 Szabo(萨博)
1015 Finney(芬尼)
1018 Ether(以太)

分叉问题

这是一个去中心化的系统,所有人都有机会在之前的某一区块创建新的区块并连接在其后,这会形成一个树状的区块,如果有人认为从根节点到叶节点的路径不是最佳的区块链,这时就会发生分叉问题。意味着在一个给定的时间点,系统会有多个状态共存:一些节点相信一个区块是包含权威的交易,其他节点则相信另外一些区块包含权威的交易,其中就包含彻底不同或者不兼容的交易。为了能够在树状结构上从根节点到叶子节点能形成一个一致的区块链,必须有一个共识方案