从何而来:以太坊的诞生日记

  村落的例子中在我们假设的,息都会通过广播传到每一个村民耳中我们说每隔一段时间产生的交易信,录到自己账本中然后村民再记。链中并不是这么简单但是事实上在区块。块链中在区,一笔交易信息后一个节点接收到,易信息广播给其他节点这个节点会将这个交。布于全世界的任意一个角落但是区块链中的节点可能分,点之间的通讯问题这就要考虑到节,于网络延迟等因素某些节点可能由,些交易信息没有收到某,划打包记录到区块链中的交易信息是不一样的那么就会导致不同节点在同样一段时间内计。出现的时候那这种情况,的记录为准呢以哪一个节点?

  区块链技术由于采用了,应用程序也具有去中心化的特点使得在区块链网络平台上开发的。ntralized applications因而这种应用程序被称作去中心化应用(Dece,Ps)DAP。

  比特币的基础上所以以太坊在,合约的特性加入了智能,用程序所能实现的功能将利用以太坊开发的应,想象力[当然这也只是理想情况下的说法仅受编写智能合约开发应用程序人员的,到诸多限制]限制实际上开发者还受。

  说到上面,是可以储存智能合约的在以太坊的区块链中。账户分为两种以太坊上的,户和合约外部账。由用户控制外部账户,自己的以太坊代币:以太币用户可以在外部账户中储存。户发送或者接收消息用户可以利用外部账,括以太币转账这个消息包。用户编写合约由,发布后一旦,独用户控制就不再受单,以太坊区块链中而是永久储存在。容以及合约账户余额合约中包含合约的内。的消息作出反应合约只对接收到,面例子中正如上,否下雨的结果后便自动执行合约一旦收到赌期内北京是,相应的外部账户将结果发送给,转账完成。

  )是现阶段发展相对最为成熟以太坊(Ethereum,为用户提供服务的区块链网络平台并且已经存在开发的应用程序能。

  储存在以太坊区块链中这里由于智能合约是,一方能够对其进行修改一旦确定就没有任意。,意的一点是这里需要注,个封闭的系统以太坊是一,能自己执行的智能合约是不,通过一个叫做Oracle的服务机制读取现实世界中的信息(是否下雨)。的信息传入以太坊网络这个服务能够将现实中,能合约触发条件并将信息作为智,约(赌约)执行智能合。子非常简单当然这个例,现的功能也就更加多样化但是当智能合约能够实。

  网络平台中而在区块链,安全性(不可篡改)、分布式结构以及对区块链的治理等内容对于区块链的维护指的是保证区块链的唯一性(共识机制)、。的平台上在这样,发者来说对于开,再需要从头考虑区块链的结构设计开发一个新的去中心化应用就不,应用程序的开发而只需要专注于。《国富论》中所倡导的社会分工这种模式正是亚当·斯密在其,方以及整个经济系统的效率分工能够极大程度地促进各。

  户中在账,实际上也是一种账户类型我们提到了以太坊中合约。智能合约后用户编写好,区块链网络中将其发布到,能合约放入到区块链中由共识机制来将这个智。约在实际执行的时候但是当这个智能合,定数量的燃料需要耗费一。的执行并不是免费的也就是说智能合约,账的合约如果是转,账付出一定数量的手续费那么用户需要为这个转。越了转账的范畴当智能合约跨,通过编写智能合约比如某一个开发者,序为用户提供服务开发了一个应用程。络上运行的时候需要支付燃料费那么这个应用程序在以太坊网。

  中我们说到在共识机制,耗费的努力的补偿作为争夺记账权而,获得一定数量的代币奖励每一轮的记账员都能够。如果这个虚拟的代币奖励没有实际的效用那节点获得的代币奖励有什么用处呢?,账权而维持每一轮的交易信息共识节点便不会为了代币去努力争夺记。

  其实还有一个小插曲以太坊的诞生背后。链设计的一个价值交换网络我们知道比特币是利用区块,币网络交易比特币用户可以利用比特。区块链中在比特币,说法其实不严谨只能[只能的,以加入非常少的信息比特币区块中还可,记录交易信息比如一句话],为应用程序的开发提供服务因而其并不能作为基础平台。到了区块链技术的潜力以及比特币网络中的局限性以太坊的创始人VitalikButerin看,队增加比特币网络的功能曾经提议比特币核心团,到了拒绝但是遭。一个平台来实现自己的目的所以他就选择了自己开发。就是以太坊这个平台。

  一个记账权的问题这就自然衍生出。的情况下在传统,权力中心点存在一个,从中心点的指挥所有的节点都听。们说过但是我,之一就是去中心化区块链最大的特点,点都有发言权也就是各个节,权力中心不存在。平”的机制来产生一个记账员这时候就需要一种“绝对公,记账员记录的交易信息为标准所有的节点都在每一轮都以。

  一第,是因为节点之间存在网络延迟我们上面说到需要得到共识,内获得的交易信息不同导致每个人在一段时间。重要的是事实上更,“坏人”的存在我们需要考虑到,落的例子中比如在村,不存在货币由于假设,“信口开河”一个村民可能。所有村民的共识)中在公共账本(也就是,有100元这个村民只,的村民说自己有100元但是他/她可能对不同,定了100元的食物然后在一个村民那里,里定了100元的衣服同时又在另一个村民那。能在自己的账本中记录不同的交易这时候看到不同交易的村民就可。ble spending)”这个问题就是“双花(Dou。记账权争夺通过这个,有村民承认的交易活动只有一种我们能够保证一笔钱最终被所。

  和B打赌假设A,北京下雨的话如果未来一周,十元钱A给B,下雨的话如果没有,十元钱B给A。处理这个赌约用智能合约来,容确定之后将赌约的内,己的以太坊账户A和B利用自,钱(智能合约中也存在账户)分别向智能合约中转入十元,将这二十元锁定然后智能合约。一周后等到,这一周下了雨如果北京在,十元转入B的账户智能合约就将这二,没有如果,A的账户则转入。

  别在于区块链上记录的信息以太坊与比特币最大的区。信息之外除了交易,以记录智能合约(Smart contract)VitalikButerin提出在区块链中还可,复杂的功能以实现更。理解就是现实中合约的电子化关于智能合约最简单直白的。很显然但是,是很粗糙的这样理解。简单的例子来说明我们这里用一个。

  个角度来说所以从这,程序领域在应用,分工模式的一次升级区块链技术只是这种。的模式中在传统,平台上提供的服务无论是平台或是在,中心化的二者都是,非对称的信息是。作系统来举例还是拿手机操,系统的是苹果公司负责维护iOS,系统的更新对于iOS,果公司制定的规则都是苹,也都是由苹果公司储存、处理用户使用操作系统产生的信息。信息是被如何使用的用户不知道自己的,遭到泄露等不知道是否。点就是另外一,化的储存方式由于是中心,的设备出现了问题一旦储存用户信息,到的攻击例如遭,害用户的利益那么也将损。理同,据也都以中心化的方式受到应用程序的开发者控制用户对于平台上应用程序的使用产生的信息、数。块链技术后而利用区,题都能够被解决理论上这些问。

  意的是要注,或少会涉及到一些专业知识由于这些平台的设计或多,显易懂的方式向读者解释本系列文章将试图用最浅,成在表述方面的不严谨性而这样的方式非常容易造,读者解释这些技术的原理但是文章仅仅是为了向。读者可以查阅相关资料对其技术细节有兴趣的,作者联系探讨或者直接与。

  二第,布式的网络中这样在一个分,人”存在的情况下在可能存在“坏,zantine general problem)”各个节点达成共识的问题被称为“拜占庭将军问题(By。占庭容错(Byzantine faulty tolerant)”而在这种不可靠的系统中达成一个可靠的共识的机制/算法就被称为“拜。

  三第,公平”是有引号的上问提到的“绝对,每一轮的随机数的设备不同这是因为不同节点用于猜测,获得记账权的机会也就越大使得拥有设备最好的节点,会都被一个节点占据了如果当绝大部分的机,有那么 “去中心化”了那这个去中心化也就没。

  上的介绍通过以,链技术建立的一种价值转移系统我们知道了比特币是依托着区块,币系统中在比特,币区块链完成转账交易各个节点能够通过比特。易升级为智能合约处理而以太坊将这个转账交,交易功能的同时在包括了转账,能合约的成分还加入了智,能合约决定的更复杂的功能使得以太坊能够实现由智。

  一个村落假设有,并不存在货币这个村落中。的交易活动对于村落中,隔一段时间内出现的所有交易信息村民使用这样的方式进行:对于每,个信息传达到每一个村民耳中村落中有一个广播能够将这,记录到自己的账本中然后村民将这笔信息。想情况下这样在理,应该是一模一样的每个村民的账本都。情况下时在非理想,息私自在自己的账本上篡改比如村民对于某笔交易信,不是一模一样的使得所有账本并。数服从多数的原则这时候就采取少,本是另外一个版本因为在大多数人账,本的账本就是无效的因而这个私自篡改版。村落中每一个村民的账本都做相同的修改这唯一能够对账本进行作假的办法是将,的村民数量众多如果这个村落,显是不现实的这种情况很明。

  平台的基本概念后了解了区块链网络,状、存在问题以及各个平台的特点进行介绍本系列文章将对区块链网络平台发展的现。来说一般,为区块链1。0我们将比特币称,区块链2。0将以太坊称为,案的区块链网络平台称为区块链3。0而针对以太坊中存在的问题提出解决方,ITY以及Cosmos等具体包括EOS、DFIN。介绍以太坊本文主要,区块链1。0比特币基础上诞生的解释区块链2。0以太坊是如何在。

  次其,立一个完整的经济系统上文说到以太坊试图建,经济系统中而在任何,台还是应用程序开发者买单的为提供服务的不管是以太坊平,终端用户最终都是。使用应用程序时的用户体验而终端用户最终在乎的只是,又受到区块链网络平台的制约而应用程序提供的用户体验。开发的呢?我们将会在下一篇文章中具体介绍那么以太坊中又有哪些地方制约着应用程序。

  面的例子后在理解了上,民称作节点我们将村,现的交易信息成为区块将每隔一段时间内出,共账本就可以理解为区块链而每个村民版本一致的公。

  四第,题的共识机制有很多关于解决记账权问,币和以太坊中的工作量证明一般分为三类:除了比特,益证明(Delegate proof of stake)还有权益证明(Proof of stake)以及代理权。部分内容关于这,再详细介绍我们以后。

  问题的办法有很多而解决这个记账员,和比特币是一致的以太坊采用的方式,f of work)机制都是工作量证明(Proo。个问题“付出了多少努力”来决定谁是记账员工作量证明机制指各个节点通过自己为解决这。的话说用简单,一轮中在每,任何人知道的数字存在着一个没有,”出这个数字是多少各个节点需要“猜,这个数字的人第一个猜出,记账的权力就获得本轮。都是不一样的每一轮的数字,道这个数字是多少没有人能够提前知,数字的难度非常大并且猜出这个这个。的办法除了一个一个去尝试之外各个节点解出这个数字是多少,何捷径没有任。来说就是“绝对公平”的这样的机制对于每个节点。努力的回报而作为花费,获得一定数量的代币奖励每一轮的记账员都能够。的一点是值得注意,读者理解这种机制这样的说法是为了,计到密码学的知识事实上的机制设,时不展开了这里就暂。

  夺记账权获得的奖励一样而这个燃料费与节点争,代币都是。的需求便产生了这样对于代币,能够决定代币的市场价值供给与需求机制一起便。以所,台开发的应用程序越多时如果利用以太坊网络平,增大对燃料的需求应用程序执行变会,代币的价值从而提升。个角度来说所以从这,都是在试图建立一个完整的经济系统以太坊以及其他的区块链网络平台。

  行许多方面都是这样的模式其实我们当前社会的经济运。悉的手机来说拿我们最熟。机操作系统有两个目前主流的智能手,卓(Android)一个是谷歌公司的安,公司的iOS另一个是苹果。都存在着应用商店在这两个系统中,程序的开发者都能够参与有意向开发新的手机应用,注于应用程序的开发在这两个平台上专,或iOS系统的维护而不需要考虑安卓。

  网络平台区块链,中心化的应用提供服务的基础设施就是为利用区块链技术开发的去。解的方式是一个便于理,想象成一个大型商场将区块链网络平台,是这个商场里的商店而去中心化的应用就。模式中在这种,心自己的运营商店只需要关,如商场的维护不需要考虑比,物业等内容如水电、。场来说对于商,的服务能够获得回报通过提供一些基本,具体商店的管理而不需要担心。

  账本只有唯一的版本这样在理想情况下,用少数服从多数原则在非理想情况下采,村民一样版本的账本也会有一个大多数,账本被称为公共账本这样一个唯一版本的。有着这样的特点这个公共账本:

  运行都是由这两种账户驱使的以太坊上的所有应用程序的,向合约发送消息外部账户可以,合约执行以触发;部账户发送消息也可以向其他外,账(以太币)操作这时候只能完成转。约来说对于合,人控制并不受,自我执行也不能。接收到的消息触发合约的执行依靠,有两个方向其执行结果,外部账户一个通向,部账户的话如果是外,的20元转到赢家账户)另一个方向是通向另一个智能合约便执行相应的转账操作(如我们上面的例子中将智能合约中,产生一个新的消息其方式是通过可以,一个智能合约然后触发下。

分享: