编辑: 麒麟兔爷 2017-10-12
目录 前言

0 为何需要新的平台

1 彩色币 1.

1 元币 1.2 哲学

2 基础区块创建

3 修改实施幽灵协议 3.1 以太坊客户端P2P协议 3.2 货币与发行 3.3 数袷 3.4 挖矿算法 3.5 交易 3.6 难度调整 3.7 合约

4 应用 4.1 子货币 4.2 金融衍生品 4.3 身份和信誉系统 4.4 去中心化自治组织 4.5 未来应用 4.6 合约如何工作 4.7 代码语言详述 4.8 费用

5 结论

6 文献参考

7 Ethereum 下一代智能合约和去中心化应用平台

2 前言 在过去的几个月里,人们倾注了大量的兴趣去探讨如何把类比特币块链-一种能够让整个世界 就一个公共拥有的数獾哪谌荽锍梢恢碌幕-应用於货币以外的领域.通常被讨论的例子 包括 彩色币 -一种用块链上的数字资产来表示定制货币和金融工具的思想, 智能资产 -象汽 车这样的能够通过追踪块链上的彩色币来确定当前合法拥有者的物理实体,此外还有诸如去 中心化交易所,金融衍生品,对等投注和基於块链的身份和信誉系统之类的更高级的应用. 可能所有这一切之中最具雄心的概念是自治代理或者去中心化自治机构-资源和资金被密码学 块链上的自我强制的智能合约以自治方式管理,从而避开了对於法律合约和组织规章的依 赖,并且没有任何中央控制的在块链上运行的自治实体. 然而,这些应用中的大部分都是难以实施的,原因很简单,因为比特币的脚本系统,以及诸 如基於比特币的彩色币和所谓 元币 (metacoins)等下一代加密货币在允许DACs所需要的任 意复杂的计算这一点上都非常受限.本项目旨在提取上述协议中的创新并将其通用化-创造一 个功能完善的,图灵完备的(但是可深度自由调整的)加密账簿,它允许参与者编写任意复 杂的完全存在於并且被块链传递的合约,自治代理和关系.用户可以把以太坊当成一种 金融 积木 来用,而不是受限於某一特定的交易类型集合.-这就是说,一个人能够简单地通过协议 内置的脚本语言编码去实施他所希望的特性.定制货币,金融衍生品,身份系统和去中心化 组织的创建将变得容易,构建以太坊开发者未曾想像得到的交易类型也将是可能的.总之, 我们相信这样的设计是迈向 加密货币2.0 的坚实一步;

我们希望以太坊的出现对於加密货币 生态系统的标志性意义,正如1999年Web2.0的对於只有静态内容的互联网一样. Ethereum 下一代智能合约和去中心化应用平台

3 前言 为何需要新的平台 当试图创建新的应用,尤其是在密码学或加密货币领域等如此精妙的领域新建应用的时候, 第一,也是正确的反应是尽可能地去使用现存的协议.如果现存的技术能够完全解决问题就 没有必要去创建新的货币甚至新的协议.实际上,正是尝试在比特币协议之上构建智能资 产,智能合约和去中心化自治机构(DAC)的解决方案所带来的困惑促??成了我们对下一代加 密货币协议的最初兴趣.在研究中我们发现,虽然比特币协议对於货币,基础多方签名契约 以及智能合约的简单版本是足够的,仍有一些根本上的限制使得它只适用於一个非常受限的 业务特性围. Ethereum 下一代智能合约和去中心化应用平台

4 为何需要新的平台 彩色币 在块链之上构建智慧资产和定制货币及资产管理系统的最初尝试是在比特币协定之上叠加新 的协定,许多支持者把这种方法与互联网协议栈中HTTP叠加於TCP/IP之上的方式作类比. 大体上彩色币的定义如下: 1. 彩色币发行者确定一个给定的交易输出 H:i(H为交易的杂凑值,i为输出序号)代表一种特 定的资产,并且发布 色彩定义 指定该交易输出代表什麽(例如H:i中的1聪 = 1盎司可由 amagimetals.com兑付的黄金). 2. 其他人在彩色币用户端 安装 色彩定义档. 3. 当该 色彩定义 首次发布的时候,输出H:i是拥有该彩色的唯一交易输出. 4. 如果一个交易花费了带有色彩X的输入,则它的输出将同样具有色彩X.例如,如果输出H:i 的拥有者创造了一个交易将该输出分发至五个位址,则这些输出将同样具有色彩X.如果 一个交易的输入拥有不同的色彩,则一个 色彩传递规则 或 色彩内核 将确定每一个输出 将拥有的色彩(例如一个非常初级的规则可能规定输出0将拥有与输入0一样的色彩,输出1将拥有和输入1一样的色彩,依次类推). 5. 当一个彩色币用户端接受到一个新的交易输出的时候,它将使用基於色彩内核的回溯演 算法来确定输出的颜色.因为规则是确定的,所有的用户端会一致同意某笔输出应该拥 有什麽颜色. 然而,这个协议有几个根本性的缺陷: 1. 简化支付验证的困难 - 比特币的默克尔树结构支援一个叫 简化支付验证 的协定, 通过该 协定一个没有下载完整块链的用户端也能够通过向其它节点索要包括从交易杂凑沿默克 尔树上溯至块链头处的根杂凑的杂凑序列来快速确认交易输出的正确性.为了安全用户 端依然需要下载块链头,但相比下载完整块链的做法,所需的频宽和验证时间都成千倍 地降低了.而对於彩色币,这样的简化支付验证将变得非常困难.原因在於通过简单地 检查默克尔树来确定一个交易输出的色彩是不可能的,这里需要采用后向扫描演算法, 读取可能成百上千的交易资料并且通过默克尔树来验证每笔交易的正确性.才可能完全 地确认某笔交易拥有某种色彩.经过了一年多的研究,包括来自我们的帮助,仍未为此 问题寻找到解决方案. 比特币的简化支付验证 左:仅提供默克尔树(Merkle tree)上的少量节点已经足够给出分支的合法证明. 右:任何 对於默克尔树的任何部分进行改变的尝试都会最终导致链上某处的不一致. 1. 与脚本的不相容 C 如前所述,比特币有一个适度灵活的脚本系统,允许使用者签署诸 如 我发布此交易输出给任何愿意支付我1BTC的人 这样形式的交易.其它的例子包括担 保合约,便捷小额支付以及链上拍卖.然而,这个系统固有地识别不了 色彩 ;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题