编辑: 麒麟兔爷 | 2017-10-12 |
6 元币 哲学 以太坊的设计将遵循以下原则: 1. 简洁原则 太坊协议将尽可能简单,即便以某些数娲⒑褪奔渖系牡托.一个普 通的程序员也能够完美地去实现完整的开发说明.这将最终有助於降低任何特殊个人或 精英团体可能对协议的影响并且推进以太坊作为对所有人开放的协议的应用前景.添加 复杂性的优化将不会被接受,除非它们提供了非常根本性的益处. 2. 通用原则 没有 特性 是以太坊设计哲学中的一个根本性部分.取而代之的是,以太坊提 供了一个内部的图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交 易类型.想发明你自己的金融衍生品?用以太坊,你可以.想创造你自己的货币?把它 做成一个以太坊合约就好.想建立一个全规模的守护程序(Daemon)或天网 (Skynet)?你可能需要几千个联锁合约并且确定慷慨地喂养,一切皆有可能. 3. 模块化原则 以太坊的不同部分应被设计为尽可能模块化的和可分的.开发过程中,应该 能够容易地让在协议某处做一个小改动的同时应用层却可以不加改动地继续正常运行. 类似 短剑 (Dagger), 帕特里夏树 (Patricia trees) and 递归长度前缀编码 (RLP, recursive length prefix encoding,)等创新应该以独立的库的形式实施并且应该特性完 整,以便於让其它的协议同样使用,即便以太坊不需要其中的某些特性.以太坊开发应 该最大程度地做好这些事情以助益於整个加密货币生态系统,而不仅是自身. 4. 无歧视原则 协议不应主动地试图限制或阻碍特定的类目或用法,协议中的所有监管机制 都应被设计为直接监管危害,不应试图反对特定的不受欢迎的应用.你甚至可以在以太 坊之上运行一个无限循环脚本,只要你愿意为其支付按计算步骤计算的交易费用. Ethereum 下一代智能合约和去中心化应用平台
7 哲学 基础区块创建 在内核中,以太坊的起点是一个相当规则的使用内存困难的工作量证明机制挖矿的不附带多 少额外复杂度的加密货币,以太坊在许多方面比我们今天使用的基於比特币的加密货币简 单.由多个输入输出构成的交易概念被更直观的基於平衡账目的模型取代了.序列号和锁定 时间都取消了,并且所有的交易和区块数加玫ヒ桓袷奖嗦.与比特币中对公钥加上04前 缀后进行SHA256哈希再进行RIPEMD160哈希形成地址的方法不同,这里简单地取公钥的 SHA3哈希的最后20字节作为地址.与其它致力於提供大量的 特性 的加密货币不同,以太坊 致力於不提供特性,而是通过一个名为 合约 的涵盖所有的机制为用户提供近乎无限强大的功 能. Ethereum 下一代智能合约和去中心化应用平台
8 基础区块创建 修改实施幽灵协议 幽灵 协议( Greedy Heaviest Observed Subtree (GHOST) protocol)是由Yonatan Sompolinsky 和 Aviv Zohar在2013年12月引入的创新.幽灵协议提出的动机是当前快速确认 的块链因为区块的高作废率而受到低安全性困扰;
因为区块需要花一定时间(设为t)扩散至 全网,如果矿工A挖出了一个区块然后矿工B碰巧在A的区块扩散至B之前挖出了另外一个区 块,矿工B的区块就会作废并且没有对网络安全作出贡献.此外,这里还有中心化问题:如果 A是一个拥有全网30%算力的矿池而B拥有10%的算力,A将面临70%的时间都在产生作废区 块的风险而B在90%的时间里都在产生作废区块.因此,如果作废率高,A将简单地因为更高 的算力份额而更有效率,综合这两个因素,区块产生速度快的块链很可能导致一个矿池拥有 实际上能够控制挖矿过程的算力份额. 正如Sompolinsky 和Zohar所描述的,通过在计算哪条链 最长 的时候把废区块也包含进来, 幽灵协议解决了降低网络安全性的第一个问题;