以太坊白皮书历史沿革   

以太坊白皮书历史沿革    

去中心化的数字货币概念,正如财产登记这样的替代应用一样,早在几十年以前

  就被提出来了。1980 和 1990 年代的匿名电子现金协议,大部分是以乔姆盲签

  技术(Chaumian blinding)为基础的。这些电子现金协议提供具有高度隐私性

  的货币,但是这些协议都没有流行起来,因为它们都依赖于一个中心化的中介机

  构。1998 年,戴伟(Wei Dai)的 b-money 首次引入了通过解决计算难题和去

  中心化共识创造货币的思想, 但是该建议并未给出如何实现去中心化共识的具体

  方法。2005 年,芬尼(Hal Finney)引入了"可重复使用的工作量证明机制"

  (reusable proofs of work)概念,它同时使用 b-money 的思想和 Adam Back 提出的计算困难的哈希现金(Hashcash)难题来创造密码学货币。但是,这种概念再次迷失于理想化,因为它依赖于可信任的计算作为后端。


  因为货币是一个先申请应用,交易的顺序至关重要,所以去中心化的货币需要找

  到实现去中心化共识的方法。 比特币以前的所有电子货币协议所遇到的主要障碍是,尽管对如何创建安全的拜占庭问题容错(Byzantine-fault-tolerant)多方共

  识系统的研究已经历时多年,但是上述协议只解决了问题的一半。这些协议假设

  系统的所有参与者是已知的,并产生如"如果有 N 方参与到系统中,那么系统可

  以容忍 N/4 的恶意参与者"这样形式的安全边界。然而这个假设的问题在于,在

  匿名的情况下,系统设置的安全边界容易遭受女巫攻击,因为一个攻击者可以在

  一台服务器或者僵尸网络上创建数以千计的节点, 从而单方面确保拥有多数份额。

  中本聪的创新是引入这样一个理念: 将一个非常简单的基于节点的去中心化共识

  协议与工作量证明机制结合在一起。 节点通过工作量证明机制获得参与到系统的

  权利,每十分钟将交易打包到"区块"中,从而创建出不断增长的区块链。拥有大

  量算力的节点有更大的影响力, 但获得比整个网络更多的算力比创建一百万个节

  点困难得多。 尽管比特币区块链模型非常简陋, 但是实践证明它已经足够好用了,

  在未来五年,它将成为全世界两百个以上的货币和协议的基石。

  作为状态转换系统的比特币

  从技术角度讲,比特币账本可以被认为是一个状态转换系统,该系统包括所有现

  存的比特币所有权状态和"状态转换函数"。状态转换函数以当前状态和交易为输

  入,输出新的状态。例如,在标准的银行系统中,状态就是一个资产负债表,一

  个从 A 账户向 B 账户转账 X 美元的请求是一笔交易,状态转换函数将从 A 账户

  中减去 X 美元,向 B 账户增加 X 美元。如果 A 账户的余额小于 X 美元,状态转

  换函数就会返回错误提示。所以我们可以如下定义状态转换函数:

  APPLY(S,TX) > S' or ERROR

  在上面提到的银行系统中,状态转换函数如下:

  APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice:

  $30,Bob: $70 }

  但是:APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

  比特币系统的"状态"是所有已经被挖出的、没有花费的比特币(技术上称为"未花

  费的交易输出,unspent transaction outputs 或 UTXO")的集合。每个 UTXO

  都有一个面值和所有者 (由 20 个字节的本质上是密码学公钥的地址所定义[1]) 。

  一笔交易包括一个或多个输入和一个或多个输出。每个输入包含一个对现有

  UTXO 的引用和由与所有者地址相对应的私钥创建的密码学签名。 每个输出包含

  一个新的加入到状态中的 UTXO。

  在比特币系统中,状态转换函数 APPLY(S,TX)->S‟大体上可以如下定义:

 交易的每个输入:

  - 如果引用的 UTXO 不存在于现在的状态中(S),返回错误提示

  - 如果签名与 UTXO 所有者的签名不一致,返回错误提示

  1. 如果所有的 UTXO 输入面值总额小于所有的 UTXO 输出面值总额,返回错误提示

  2. 返回新状态 S‟,新状态 S‟中移除了所有的输入 UTXO, 增加了所有的输出 UTXO。

  第一步的第一部分防止交易的发送者花费不存在的比特币, 第二部分防止交易的

  发送者花费其他人的比特币。第二步确保价值守恒。比特币的支付协议如下。假

  设 Alice 想给 Bob 发送 11.7BTC。 事实上, lice 不可能正好有 11.7BTC。

  A 假设,

  她能得到的最小数额比特币的方式是:6+4+2=12。所以,她可以创建一笔有 3 个输入,2 个输出的交易。第一个输出的面值是 11.7BTC,所有者是 Bob(Bob 的比特币地址),第二个输出的面值是 0.3BTC,所有者是 Alice 自己,也就是

  找零。

玖壹区块链声明

加微信:469649885区块链培训教程
还可免费获取区块链培训班试学名额

分享:

扫一扫在手机阅读、分享本文

区块链评论

玖壹区块链培训

玖壹区块链培训学院简称(玖壹学院http://www.91xiubbs.com/)提供区块链技术培训资料、区块链开发培训视频教程等下载,不过网上自学区块链技术课程必然存在一些缺陷:遇到问题易卡壳、学习周期漫长、无针对性等。区块链培训机构现场面对面的讲授区块链培训课程可以让您和团队在最短时间内掌握正确、系统、高效的区块链实战技术。