Coindesk: UNDERSTANDING ETHEREUM



(机器翻译)

What is Ethereum?

“The next Internet.”
在讨论比特币(分散化的数字货币)和区块链(其分布式全球总账)时,人们经常使用这个词。
然而,这句话的简单性可能会使人产生误解。
虽然“互联网”通常被称为一个单一的结构,但“互联网”是一个网络的协议和规则集,它结合了复杂的通信,合作和业务流程。
同样地,“区块链”,或者公共的、没有许可的区块链协议,可以被看作是可能成为成熟的“价值互联网”的一个更原始的版本。
有一天,这样的公共事业可以提供一个类似的分层架构来扩展信息互联网,或者我们今天所知的互联网,提供各种金融和非金融交易服务。
如果因特网的愿景是将获取信息的权力下放,从而增加获得通信工具的机会,则区块链的愿景是将权力下放,减少在数字世界中建立信任和进行交易的障碍。
Ethereum最早于2014推出,它既是对未来的一种实现,也是对第一个广泛使用的公共区块链——比特币网络的局限性的一种认识。

在该项目的主旨声明中,创建者和发明者Vitalik Buterin用这样的术语描述了ether,他认为比特币的设计并不是作为区块链对传输控制协议(TCP)或因特网协议(IP)的回答,后者是构成互联网基本通信语言的代码。
Buterin写道:“比特币被设计成一种SMTP[简单邮件传输协议]。这是一项非常擅长于一项特定任务的协议,它有利于资金的转移,但它并不是作为任何一种协议的基础层而设计的“。
在评论中,Buterin谈到需要一种更广泛的技术,并以一种强大到可以描述任何可能构建的区块链应用程序的方式复制图灵完整的编程语言的功能。
他说:“ether没有特性,它只是有一种编程语言。”

Vision
或许最好的做法是尝试将比特币分散的全球密码网络中的知识运用到价值交换以外的挑战中。
它并没有在电子商务中排除第三方,而是设想如何消除其他传统的信任仲裁员,从而推动新一轮的应用开发浪潮。
正如前Ethereum CCO Stephan Tual所阐述的,ether的“业务问题”是大多数互联网服务都是集中的。
“你相信你的银行能保证你的钱的安全。
当你上传一张孩子的照片或者把文件推到Dropbox时,Facebook也是如此。
作为一名开发人员,您需要将应用程序提交到应用程序商店,并冒着被删除的风险。“。
图尔解释说。
ether力求在恢复对用户个人数据和资金的控制的同时,建立类似的互联网服务。

在许多区块链平台都只是比特币稍作修改的版本之际,Ethereum在规模上雄心勃勃,它将寻求在以下四个领域实现创新:货币发行。
buterin将Ethereum定位为一个平台,使数千种数字货币能够在同一网络上运行,其目标是建立一个“经济民主”,为慈善事业和其他非宗教性质的社会商品提供更多有价值的资金,即分散的自治组织。
Buterin设想了如何建立新形式的数字实体,以便在一套条款和条件下管理共享资源,这些条款和条件载于守则,并得到利益攸关方集体决定的授权。
他说,可以建立新的合约,而不是通过法律制度强制执行,而是通过程序实施。
财产的定义将随着加密的、基于区块链的 token可以作为现实世界资产的表示(如博物馆通行证或门票)的想法而扩展。

项目起源

在更人类学的层面上,Ethereum可以被视为比特币社区的一个意识形态子集的产物,该群体寻求在网络上构建额外功能,而不创建一个全新的区块链。
他们认为,既然比特币区块链能够安全地安排和记录比特币交易,就没有理由不能对这些比特币进行修改或以其他方式代表其他资产。
在某种意义上,这个社区不想简单地收发货币,而是希望使用比特币来代表商品、衍生品,甚至房地产合约,任何安全、固定的代码单元都可以充当数字资产。
但问题在于,事实证明,比特币的某些有益特性,在转化为代表其他资产的比特币时显得有些怪异。
使用像比特币这样的本地区块链货币,用户只需控制相关的私钥就可以控制他或她的资产。
然而,如果使用彩色比特币代表一种资产,比如一盎司黄金,用户就可以控制该资产的私钥,而无需控制黄金本身。
考虑到这一点,Ethereum团队开始构建自己的区块链和一种新的编程语言,从零开始设计它来创建一台“世界计算机”,其计算能力可以通过开放的用户市场实时访问。
程序可以在Eethum块链上运行,事务用于调解这些程序之间的交互。
正如CTO Gavin Wood的黄纸所解释的那样,任何可以用计算机表示的东西都可以在“以太”上被接受。
尽管Ethereum项目在其早期开发生命周期中会受到批评者的抨击,但截至撰写本文之时,该技术已经提供了充分的证据,证明它正在朝着其雄心勃勃的目标迈进。

里程碑。
2014年1月–以太发明家VitalikButerin在北美比特币大会上宣布了这个项目。
2014年7月,以太基金会开始在一场为期42天的公开拍卖中出售以太代币。该公司以31591 btc的价格售出60,102,216 ether,当时价值18,439,086美元。
2015年7月-Ethereum发布了Frontier,一个用于开发人员测试的命令行版本。
2015年8月,克拉肯成为第一个上市销售的主要数字货币交易所。
包括Coinbase和Gemini在内的主要交易所也效仿。
2016年1月,11家大银行–巴克莱银行、BMO金融集团、瑞士信贷、澳大利亚联邦银行、汇丰银行、纳蒂西斯银行、苏格兰皇家银行、TD银行、瑞银、联合信贷银行和富国银行–宣布对该平台的一个允许版本进行试验。
2016年1月,第一家Ethereum初创公司开始为分散的股票市场和开发工具套件等项目筹集资金。
2016年3月,Ethereum发布了第一个“生产就绪”版的区块链平台Homested。
2016年3月-以太网络上所有以太的总价值超过十亿美元。
2016年5月,DAO成为最大的分散自治组织,收集了价值1.6亿美元的投资于其他项目。
2016年6月–在未知攻击者利用项目代码中的漏洞进行攻击后,DAO崩溃。这一事件迫使Ethereum的开发社区考虑协议级代码更改,以拯救客户资金。

Building Blocks

与互联网一样,Ethereum同样不是一件事,而是许多不同部分的总和。
一个非详尽的组件列表包括密码 token和地址系统、验证器(挖掘器)网络、协商一致算法、块链分类帐、Eethum虚拟机、一组编程语言和复杂的经济结构。
下一节将重点介绍这些特定的组件,并说明每个组件为更大的Ethereum网络提供的功能。

语言学与脚本

在计算机科学中,脚本语言是一种支持脚本的编程语言,或者是为运行时环境设计的程序,用于执行任务和减少对人工操作员的需求。
正因为如此,脚本语言往往最适合用于实验和快速原型开发。
比特币有一种故意使用的基本脚本语言,这是有原因的。
从一开始,比特币的开发者就将通过比特币网络“推动”比特币转移的能力置于所有其他应用程序之上。
虽然人们一直在讨论增加一种功能更强大的脚本语言,以方便应用程序开发,但比特币开发界的观点在很大程度上一直认为,将审查阻力和网络安全置于增加代码功能之上,更为重要。
与此形成鲜明对比的是,Ethereum的目标是“图灵-完成”。
这意味着,如果一个系统拥有无限的资源、内存、计算能力和存储,那么就可以执行无限的“循环”。
换句话说,可能嵌入在Ethereum事务中的逻辑和功能实际上只受到原Ethereum的可用性的限制。
然而,这种功能是以安全性为代价的。
强大的脚本允许更大的功能,但额外的工具也创造了新的潜在的攻击载体。
(见“挑战”)。

交易。

两个区块链之间最显著的差异是Ethereum块既包含一个交易列表,也包含这些交易分类账的最新“状态”。
这是管理两种类型的帐户所必需的特性:·外部拥有的帐户(EOAs)。
EOAs被定义为帐户的基本形式,它与Ethereum区块链上的更新交互并生成更新。·合约。
合约在收到来自EOA的事务形式的指令时以编程方式执行。
合约可以推拉资金,并从其他合约请求这些操作,调用代码来执行动态操作。
Ethereum显然不使用事务输入或输出,这与推广的比特币模型(UTXO)不同。
在比特币的模式中,每一种新铸造的比特币都会成为一种未使用的交易产出,其所有者将保留在以后消费比特币的权利。
在比特币交易中,这些UTXO成为交易中“消费”的输入。
当这些比特币被花费或推给另一个用户时,就会创建一个全新的UTXO。
相比之下,Ethereum使用了一种更熟悉的方法。
它存储其网络的当前“状态”,包括帐户及其相关余额的完整列表。
与其确认事务中使用的UTXO是否有效,Ethereum判断发件人是否拥有可靠的余额,就像银行验证支票是否会结清一样。
当事务包括作为收件人的合约时,此设计功能变得很重要。
如果事务接收方是合约,则该合约的代码将执行,更改该合约的状态,并可能触发其他合约执行代码。

ether区块链

ether和比特币都经营全球交易总帐,如今通过使用工作证明(Pow)协议实现远程和分布式验证,参与者花费大量精力识别独特的数据片段,然后可以很容易地通过更广泛的网络进行验证。
此数据用于生成块或某些有限数量的事务数据,作为所有其他网络参与者的参考。
由此产生的区块链能够在每一个时间间隔内提供网络的历史记录,从而创建一个与事件相关的共享真相。
如今,比特币和Ethereum中的块都是相似的,包含了块号(表示自初始块以来已经传递了多少块)和difculty(一个表示完成创建一个块所需的工作有多大挑战性的度量)等信息。
在比特币网络上,交易脚本是“无状态”的,这意味着在脚本执行之前没有状态,并且在执行后不会保存对此状态的更新。
Ethereum上的合约被认为是“有状态的”,这意味着它们知道存储在网络上的过去的信息,如果通过智能合约进行指示,就可以通过编程在将来采取行动。
当对等点或Ethereum网络的成员接收到数据块时,它们将运行所有事务,以验证表示当时系统状态的数学图。
如果节点能够验证此数据,则它们接受块以包含在块链中。

块大小。
在比特币区块链上,块的大小限制在1MB以内。
这不仅为每秒处理的交易量设定了上限(目前为7),而且在比特币界也成为了争论的焦点,因为它试图增加这一限制。
Ethereum对其区块的大小没有这样的限制。
因为Ethereum执行脚本和合约,这是必要的,因为限制块的大小不仅会阻碍图灵完整性的概念,而且会限制合约可以用来执行的存储量。
Ethereum没有限制其区块的大小,而是采用了一种机制,使合约的执行成本随体积增大而变高。
[见“Gas”一节]。

区块链大小

就像在比特币网络上一样,在Ethereum上执行的事务越多,网络上的所有节点都需要存储更多的信息。
跟踪和存储所有这些事务的需要,反过来,需要从运行区块链的计算机网络中获得资源。
截至2016年5月,Ethereum区块链的大小已增加到大约17 GB。
虽然这与比特币网络的区块链大小相比仍然相形见绌,当时的比特币网络容量还不到69 GB,但值得指出的是,比特币网络已经有了8年多的历史,而17 GB的比特币网络已经运营了9个月。
以平均每月约1GB的速度增长,Ethereum的区块链增长速度比比特币慢,比特币的规模正在以每月约3GB的速度扩张。
然而,Ethereum自其成因块以来就获得了显著的吸引力,并且随着网络的普及,月增长率可能会加快。
虽然这可能会成为一个问题,但Ethereum目前正寻求转向一种新的共识算法,旨在缓解这一问题[参见“利害关系证明”)。

块时间。

在设计阶段,Ethereum团队也热衷于解决他们认为比特币区块链操作中存在的问题或限制。
引起注意的一个问题是,在网络上进行交易以解决针对区块链的交易所需的时间。
比特币的区块链大约每10分钟就会增加新的区块,这意味着交易通常要到此时才能在分类账上得到确认。
在实践中,实际确认可能需要更长的时间,因为使用协议的人通常要等待6个确认或6个块,才能考虑事务的解决。
比特币和电子邮件并不是唯一使用一致方法的区块链或分类账结构。
各种协议都有不同的块时间。
Ripple协议由旧金山初创公司Ripple开发,旨在每隔3到6秒更新一次其状态。
Ethereum已经将目标设定为12秒的块时间,尽管当前的块时间接近14秒.

一致性算法。

要使任何分布式计算系统正常工作,都需要有一种机制,使整个网络能够就其状态达成一致,或者其 token供应如何在网络上的注册地址之间分配。
比特币使用的是所谓的“中本共识”。
真正的比特币背后的关键创新,中本聪的发明解决了一个长期存在的计算机科学问题称为拜占庭容错,或拜占庭将军的问题,即一个人不能相信一个人谁有潜在的动机说谎,一个人不能信任一个给定的通信的完整性,如果它首先通过中介。
比特币通过创建一系列工作证明来解决这个问题。
在区块链上的矿工花费能量解决一个复杂的数学方程,以便在找到下一个“区块”时获得奖励。
由于下一个块总是从前一个块开始(意思是从块的点开始方程),矿工们急于验证这个块是否有效,这样他们就可以快速地找到下一个块并获得奖励。
这是激励兼容性,也是不可变性质的条目在区块链,提供了一个解决拜占庭将军的问题。
尽管未来计划将网络迁移到一个不同的协议,但在撰写本文时,Ethereum使用了一个类似的PoW协议,即eethash。
eethash在很多方面偏离了比特币的“Nakamoto风格”算法,其中最常见的是,它使用不同的密码基元作为散列函数(称为sha-3),而不是sha-256。
虽然这种差别是细微的,但Ethereum的设计目的是让它既能抵抗目前在比特币行业占据主导地位的高性能采矿芯片,又能更容易地被“轻量级”客户端实现访问,使用户无需首先将Ethereum区块链下载到他们的设备就能使用Ethereum。

事务验证器。

Ethereum在交易验证方面也与比特币擦肩而过,无论是目前的状况,还是该网络在未来实施关键变革时打算发挥的作用。
2009,第一批比特币用户能够在家用电脑上使用CPU能力运行采矿软件。
随着比特币变得更有价值,哈希权力竞赛开始了,引领创新者开发出越来越强大的采矿设备。
如今,大多数比特币开采都是在数据中心进行的,主要是由风险投资支持的公司完成的,这些公司控制着设备的生产周期,以及被称为采矿池的单个矿商的协作集合。
为了缓解这种整合,建立了Ethereum采矿,以便它只能与图形处理单元(GPU)一起进行。
网络是无权限的,这意味着任何购买显卡并选择运行Ethereum客户端的人都可以开始处理事务。
然而,如果计划中的转换到一个新的“利害关系证明”共识协议已经完成-挖掘可能不再需要在不久的将来。
[见“挑战”一节]。

ether虚拟机。
Ethereum协议设计的目的远远超过处理对等事务。
它是为执行复杂的代码而设计的,其功能仅受其开发人员的想象和可用资源的限制。
因此,需要一个系统来解释指令,而在Ethereum上,这个任务由Ethereum虚拟机(EVMS)来处理。
SMART合约通过EVM提供便利和强制执行,EVM通过字节码实现和执行用多种语言编写的指令。
字节码(也称为portable代码)是一种由软件解释器创建的指令集。
就像Microsoft Excel电子表格中的“if-else”参数的例子(尽管复杂性往往要高得多),EVM解释字节码、评估事务状态并执行代码以交付可预测的结果。
特别是EVMS通过一种“图灵-完整”脚本语言来实现这一点–至少在理论上允许无限复杂的合约。

如果没有一种本机编程语言,Solidity ether将是不完整的–而这种语言就是Solidity 。
Solidity 是一种代码,它使以分布式方式运行合约或程序成为可能。
粗略地描述一下,它与基于浏览器的JavaScript语言非常相似,但用于执行Ethereum协议。
与像JavaScript这样的“面向对象”语言(它结合变量、函数和数据来运行某些人工操作的命令)不同,Solidity是“面向合约的”。
它的运行时环境任务是自动化的,它的对象被捆绑在一起,以避免手动命令的需要。
Solidity通常被描述为Ethereum的脚本语言,但实际上它是一种编译语言,而不是脚本语言。
它将指令编译成字节码,以便网络能够读取它们。
这是一个关键的特性,因为合约并不是完全被遵守和独立的程序,而是部分编译的程序,这些程序依赖于EVM来运行。
坚固性也是用来表达协议,将现实生活中存在的关系和论点编码起来。
因此,它比面向对象的语言包含更多的概念。
身份、所有权和保护是编程语法的核心部分,在JavaScript中没有并行。
随着语言的成熟,并增加了更多的库和用户,它有潜力创建大量强大的结构,从而最终拥有真实的应用程序。
例如,物联网(物联网)是将设备和设备连接到互联网上的愿景,将需要大量的机器对机器通信、基础设施和合约执行。
一种像稳健性这样的语言可以在使这些设备能够相互交谈方面发挥关键作用。

支撑技术。

除了主要的Ethereum块链协议,还有一些正在开发中的支持技术,这些技术旨在帮助网络和构建在网络上的组件更高效地运行。
例如,正在构建全新的协议,旨在增加分布式应用程序的功能,而工具正在发展,以允许这些程序利用来自多个块链的数据。
虽然表面上可能没有什么能将以下概念统一起来,但所有这些都是为了使Ethereum对开发人员和用户更加灵活。

Whisper

这是一种通信协议和工具集,它允许构建在Ethereum协议上的应用程序相互通信,Whisper将分布式哈希表和点点通信系统的各个方面结合在一起。
耳语在实践中得到了最好的解释,因为它可以用来记录买卖双方的交易,允许创建类似聊天室的应用程序,甚至可以在不了解对方的各方之间提供“黑暗”通信。
有了Whisper,您可以想象一个Ethereum应用程序,用于那些想要与记者交流的人,他们存储了大量的数据,但不希望他们的身份被链接到这些数据。

Swarm。

SwarmHash/Swarm是一个点对点文件共享系统,设计用来有效地存储和检索ethereum 应用程序和合约中所需的数据。
最简单的类比应该是:Swarm本质上是ether的BitTorrent。
正如我们稍后将讨论的那样,直接在ethereum 块链上存储数据是很昂贵的(请参阅“Gas价格”)。
虽然合约代码必须存储在链上,但不应该存储合约执行所需的引用数据。
例如,如果一份简单的合约要求发送一张带有图片的电子贺卡,那么这些照片将占用大量空间。
也许一所学校会想要寄出一本附有最近一届毕业生照片的相册。
这样的应用程序,如果在Ethereum上运行,可能需要1KB的约定,但设计为提供1GB的数据。
存储和处理1KB的代码可能会花费用户几美分,而存储相册本身的成本可能更高。
相反,通过远程存储相册,并通过类似于BitTorrent的系统访问文件,这将允许ethereum 应用程序传递指令,而文件将通过Swarm传输,而不是直接通过ethereum块链传输。

Oracles。

聪明的合约要想正确执行,它们不只是一系列精心设计的“if then”的陈述–它们还需要知道如何确定那些“if-then陈述”的给定输入的准确性。
如果纽约市在下雨,而且有多个可靠的消息来源可以确认下雨,那么以太如何通过潜在的欺诈来源来识别输入的真实性呢?
在这方面,有必要建立一种将外部现实与智能合约联系起来的架构。
在以太中,这些被称为“Oracles”。
虽然许多项目正在构建他们自己的私有Oracle系统(参见“Augur”),但也有人试图创建与平台无关的系统,以验证对多个块链的输入。
尽管目前只有有限的几个数据源可以通过加密方式得到验证,但不难想象未来智能技术和物联网可以将各种外部数据合并到合约中。

Mist

如果Ethereum要成为新的TCP/IP,该项目就需要一个新版本的“浏览器”,这是一种可用的前端技术,用户可以使用它来探索利用Ethereum的应用程序和组件。
Mist被设计为一种分散的应用程序发现工具,旨在充当智能合约的钱包,该合约具有图形界面,并允许用户动态设置事务费和管理自定义 token。
在撰写本文时,Mist仍处于测试阶段,正在进行大量开发。

Supply, Trading & Availability

Ethereum网络的另一个重要组成部分是ether,它吸引了投资者的兴趣。
ether是一个单位的记账和价值存储在Ethereum区块链,相当于比特币(BTC)在比特币网络。
以太虽然作为一种稀缺商品具有经济价值,但它并不是像比特币这样的替代货币。
相反,它被定位为一种系统资源,为那些寻求使用该平台的人的创造提供动力。
如果比特币的价值来源于网络的安全性和稀缺性,那么ether就有价值,因为它需要在Ethereum网络上执行脚本和合约。
因此,以太被称为比特币“数字石油”的“数字黄金”。

通货膨胀率。
以太网络包括一种随时间向系统释放新ether的机制。
对于熟悉比特币和其他数字货币的投资者来说,值得注意的是,Ethereum的做法有所不同。
例如,在比特币领域,所有将存在的比特币的上限目前设定为2100万比特币,这一上限需要参与者达成共识才能改变。
相比之下,Ethereum对于将来存在多少 token没有硬性限制。
相反,它的开发团队试图以一种鼓励访问的方式使用其 token系统,每年通过采矿引入1800万以太。
他们推断,随着时间的推移,这种稳定的通货膨胀率会随着总的象征性供应的增加而下降。
开发者Joseph Lubin在发布模型的介绍中写道:“系统中的新参与者将能够购买新的ether或为新的ether购买矿机,无论他们生活在2015年还是2115年。”

Gas

如果以太作为一种方式,使人们能够进入Ethereum的世界计算机并确保其功能,那么也需要一个经济结构来限制人们的使用。
为了补充ether并更好地解释其表征功能,Ethereum引入了“Gas”的概念,这是一种节流机制,实时确定每项合约的ether成本。
GAS有一个固定值,目前定为10“Szabo”,其中一个ether由1M Szabo组成。
合约运行所需的时间越长,所需的系统资源越多,执行合约所需的燃料就越多。
运行基于Gas节流阀或ether限制的合约是一种基于市场的解决方案,它同时限制了黑客向网络发送垃圾的可能性,并消除了为新的交易块设置固定大小的需要。

经济结构。

尽管如此,以太不仅仅是为执行事务而创建的。
随着时间的推移,比特币已经成功地通过采矿自然地扩散开来,而Ethereum社区则试图找到一种方法来启动这一过程,并激励一批能够帮助比特币网络发展壮大的传道者。
为了达到开发人员的临界数量,ethereum 的团队使用ether作为一种激励方法,使该项目起死回生。
2014年7月,Ethers.com网站上可以直接购买到以太,并通过efort筹集了超过1800万美元的资金。
目前出现的一个争论焦点是首次出售的合法性。
在发表时,没有对所涉的任何个人或团体采取任何行动;也没有对使用这种社区建设方法的其他区块链开发小组采取任何行动。
尽管如此,它所涉及的法律复杂性已经得到了开发商的认可。
如上所述,鉴于可以通过块链交换的有限数据片段没有自然的法律等价性或定义,这个问题绝不是Ethereum所独有的。
尽管全球监管机构一直试图将所有加密的、基于区块链的代币贴上“虚拟货币”的标签,但这个术语并没有很好地捕捉到生态系统中的创新者可能希望自己的技术被使用或理解的程度。

交易。
那么,以太市场在实践中是什么样子的呢?
鉴于Ethereum是一家公用事业公司,通过数据分析可以很容易地找到这个问题的答案。
在下一节中,我们将研究Ethereum项目的当前状态,它的市场是如何开发的,以及核心开发团队正在取得的进展。
价格。
虽然可能没有任何数字资产的真实价值,但Eethum市场清楚地表明了用户和交易员对以太价值的看法,也可以认为这一衡量标准表明了对该项目的总体信心。
作为一项投资,以太显示出了与数字货币比特币类似的增长。
在Ethereum首次众售时,用户可以用1比特币购买2000吨人民币,当时的交易价略高于600美元。
自那以后,ether的价格起起伏伏。
特别值得注意的是,投机者似乎被吸引到围绕主要项目发布协调行动(见“发展时间表”)。
不过,与ether的整体价格升值相比,这样的下跌幅度是微乎其微的。
在众售的时候,每套ether的价格大约是0.30美元。
与出版时的14.30美元相比,这一数字增加了4666%。

正如上面的图表所示,对ether的热情反映在它最近的价格上,而且它可以说一直在上升的轨道上。

市场动态。

对该网络区块链的分析显示,今天的交易量主要是由交易推动的,不过究竟有多少可以被定义为投机性还不确定。
CoinDeskResearch的数据显示,今年5月,约有750000件ether(当时的价格约为1080万美元)在数字货币交易所交易,这一交易占日用ether交易的50%。
在出版时,这个数字增加到580万ether(约合8120万美元),这一活动占到了日用ether交易的66%。
深入研究Ethereum区块链上1,468,000至1,568,000块的数据,可以看出哪些实体在处理ether方面最活跃。
在此期间,发生了699900次交易(代表1400万ether)。
总共有14%笔交易是在交易所进行的。
相比之下,合约之间的交易(包括分散应用程序的一部分)占交易总量的6.39%和数量的12%。
其余部分由矿场和其他未知实体进行。

数据表明,交易仍然是以太的主要用途,分散应用程序虽然开始上线,但仍然只占网络活动的一小部分。

中国。

对这些资本流出的分析显示,略低于80%的ether交易为比特币,其余交易以美元、欧元和人民币计价。
这个数字从一个月前的90%下降。
到目前为止,交易集中在少数交易所,Poloniex和Kraken成为市场领头羊。

然而,Ethereum市场最引人注目的一点或许是它相对于比特币的发展。
截至2016年6月,CoinDeskResearch的数据显示,94.35%的比特币交易是针对btc/cny交易对的,基于这一市场需求的强劲,免费的、以中国为基础的交易所okcoin和huobi拥有超过90%的市场份额。
相比之下,ether/CNY交易仅占整个eth市场的2%左右。
这一接近90%的差异表明,如果以太引起全球区块社区这一已经活跃的部分的注意,ether的价格可能会上涨。
目前,超过90%的比特币都是由huobi和okcoin推动的,在新闻发布时间,他们都没有表示支持ether的计划。
这两家交易所的代表告诉CoinDesk Research,他们正感兴趣地关注Ethereum的发展。

适应

除了推测使用Ethereum的 token之外,还有一些指标表明,越来越多的应用程序创建者和用户正在采用该平台。
例如,Ethereum交易的数量一直在稳步上升,截至2016年6月,日均交易量约为40000笔。
总体而言,自同年1月以来,交易数据大约翻了一番。
一张每日交易量的图表也显示出稳定的趋势,即流向图的右上角,尽管成交量仍然不一致,而且与高价格波动的间隔密切相关。
其他积极的指标包括独特地址数量的增加和网络差异的增加,这表明有更多的用户加入了网络,更多的矿工正在保护网络。

节点分布。
也许支持Ethereum网络的最有力的指标之一是,运行Ethereum客户端版本的计算机的数量及其完整的块链历史。
截至2016年中,Ethereum有5384个节点连接到其网络,这个数字略低于在旧比特币网络上观察到的5757个节点。
这两个网络的地理分布之间也存在明显的关系,大多数节点位于美国和德国。

开发人员活动。

到目前为止,Ethereum最大的成功故事之一就是它的开发者社区的力量。
但是,对于在实践中评估这个社区的状态,一些量化的度量是可用的。
例如,Eethum和比特币的社交GitHub页面列出了提交或软件文件更改的数量等数据,以及通过该平台注册的项目贡献者的数量,从而揭示了开发人员的活动。
通过GitHub数据,这两个开发社区中的总体活动似乎也是可比的,尽管Ethereum可能由于其较少的贡献者而经历了更多的停机时间。
另一个有用的度量标准是分叉的数量,或者说存储库开发人员可以用来试验潜在更改的副本的数量。
在这方面,比特币显示出明显的优势,或许是因为该项目的开发时间太长。
自2009以来,比特币GitHub上增加了6000多个fork,而自2014以来,有525个fork进入了以太网络。

Platform Functions and Use Cases

虽然网络的体系结构确实令人印象深刻,但正是基于这些复杂组件的构建才真正展示了Ethereum的潜力。
远不是简单的钱包和交换结构,Ethereum迄今为止已经创造了一个完全独特的概念词汇。
这些项目从旨在取代传统金融合约的简单计划到可能挑战投资公司和公司的更为复杂的结构。

SMART合约

为Ethereum平台编写的程序的基本构建块被称为“智能合约”,网络上更复杂的结构最好被认为是这些工具的详细集合。
作为智能合约实现功能类型的一个例子,最好将其视为一种现代化的电梯管理系统。
你几乎可以把电梯想象成在“私人区块链”上运行“智能承包系统”。
接近电梯库的人会按下不同楼层的按钮,而管理系统会组织一次有效的排序,确定哪些电梯将进入不同的楼层。
智能联系人可以被认为是Excel电子表格中的“if-then”公式。
它们的作用与人与人之间的合约不同,而是“fire & forget”预先确定的结果,等待输入,以交付这些结果。
若要调用约定并修改地址的状态,必须随调用一起发送以太支付,然后该支付将执行一个方法来调整所需的字段。
Eethum的区块链允许用户依赖输入。
虽然块链不能保证所有条目都是真实的,但是数据结构中条目的不可变性和永久性迫使那些将数据输入到环境中的用户将他们的声誉与每个条目放在同一条线上。
用户永远不能收回“说”或输入的内容。
这样,Ethereum就可以被看作是一种激励结构,用户可以依靠它来假定事实。
有了这一事实假设,他们就可以开始在网络数据的基础上构建这些合约或环境依赖的结果。

DAO
虽然智能合约本身是有趣的,但大量合约协同工作的想法显示了Ethereum技术的广度和潜在影响。

理解Ethereum

结合起来,智能合约可以形成所谓的DAA或DAO,即分布式自治代理和分布式自治组织的缩写。
在这里,需要再次指出的是,Ethereum网络的更大用途是作为创建分布式应用程序(DAPP)的平台。
DAPP可以由单个DAO甚至一系列DAO组成,这些DAO可以一起创建应用程序。
这可能会产生一些与您可能已经熟悉的应用程序类似的东西,比如Microsoft Outlook或“愤怒的小鸟”,但重点不是这些应用程序是为了提供特定的功能。
确切地说,DAPP的实现方式是在Ethereum网络上实现的,而不是在本地的计算机或电话上,甚至不是在单个公司的服务器上实现的。
CoinDesk Research在出版时发现,有230多个Dapp处于不同的开发阶段,这个数字涵盖了概念、演示和实时阶段的应用。
此外,分析表明,DAPP目前可分为四类:

1. 智能合约服务、实用程序和分析。
2. 赌博和游戏。
3. 信息验证与权威服务。
4. 登记和公司治理。

VitalikButerin用以下术语总结了这些概念之间的差异:智能合约。
这种技术的版本是单一用途和短暂的,因此它们是为特定的任务而创建的,并且可能在结束时消失。
金融合约就是一个很好的例子。
更长期的专注于智能合约,Buterin设想了一系列的合约,形成一个内部人工智能,可以负责决策。
DAO被描述为许多人之间的长期合约,它更接近历史上的商业结构,允许用户加入,行使投票权,甚至最终退出这种合作。
DAO的设计目的是持有资产,并使用一种投票系统来管理资产的分配。
可以有许多不同类型的DAO。
更基本的数据完全生活在区块链上,但更高级的服务器可能会将一些数据存储在其他分散网络或多个服务器上。

Technical Improvements(Challenges)

虽然到目前为止所做的工作无疑是令人印象深刻的,但仍有许多工作要做,以改善以太。
在下面的部分中,我们将回顾一些计划中的改进,以及网络开发团队在实现这个目标之前所面临的更大的挑战。

脚本编写。

Ethereum的编程语言仍然是一项正在进行中的工作。
在计算机编程中,可靠性是一个全新的概念,基于脚本的系统在很大程度上还没有经过测试。
此外,该语言的编译器有很多错误,并且还没有存储库和公共库。
这使得在Ethereum上创建功能性智能合约变得很困难。
每个模块都必须像劳力士中的每个齿轮一样精心制作。
如果模块不完全按照设计进行交互,系统就会崩溃。
一次对Ethereum代码的独立审查揭示了网络开发社区之外一个越来越被广泛承认的问题的程度,估计每1000行代码中可能有100个bug。
将其与微软每2000行代码中就有一个错误进行比较,您就会知道该项目可能需要在多大程度上进行长期改进。
虽然并不是所有的合约都像审查过的合约那样有问题,但是在Ethereum可以扩展之前,需要解决稳固编译器的状态问题。
想象一下,劳力士的齿轮只在90%的时间内正常工作。
当时间不同步时,您将花费大量的时间来调整时间。
这样的问题可能会随着Eethum智能合约模块的出现而发展,除非它们不仅不能保持适当的时间,它们还可能停止工作,受到安全问题的困扰,或者可能执行不适当的合约结果。

Gas价格。
该平台的经济学也处于早期阶段。
借用西方政治中的一句话,在“ethereum ”上,“Gas的成本太高了。”
例如,5月份处理1GB的Ethereum事务数据花费了250000美元。
当时,该合约将耗资64,000,000,000,000欧元,约合17500 ether,每ether 14美元。
公平地说,大多数合约将远小于1GB,当用户可以使用SwardHash之类的协议时,他们可能不希望在Ethereum块链上存储1GB的引用数据。
但是储存和资源仍然非常昂贵。

采矿集中化。
如上文所述,Ethereum还寻求实施一种架构,以缓解促成比特币网络上采矿权力集中的问题,从而激励更广泛的用户推动整个平台的发展。
然而,就在2016年3月,一个采矿实体矮小池已经积累了网络哈希率的48%,这导致了对集中化和一个实体可能获得网络控制权的担忧。
这样的攻击会发现实体随意更改Ethereum分类帐,并迫使其版本的区块链被认为是有效的,从而破坏了对网络的信任。
查看一下网络就会发现,它的事务验证器已经合并成少量的实体和池。
然而,这是由于它现有的POW协议的功能,正如我们前面提到的,它是设计来替换的。
最终,这是一个转向pos(见“利害关系的证明”)的举措,开发人员认为这是恢复分散的区块链网络最初的价值主张的一个关键方法,任何人只要在计算机上运行程序就可以参与进来。

图灵完备性。
正如上面所讨论的,Ethereum据称是“图灵完全”的,但实际上,该系统受到内存、计算能力、网络存储和经济成本的限制。
指令集越复杂,系统中来回传递的消息越多,合约要求的委托和代码调用越多,成本就越高。
GAS系统确保了这一点。
然而,Ethereum有一个由ether和GAS组成的经济体系,至少在目前,它的使用成本高得令人望而却步。
它仅仅通过使存储空间变得如此昂贵,就对图灵完整性造成了经济限制。
从某种意义上说,以太永远不可能真正成为一台真正的图灵机–在某种程度上,它的计算能力受到了限制,即使它发展到了限制因素或瓶颈是可用电力的地方。
但是,为了实现它的愿景,它只需要达到一个经济均衡点,在那里它是“实际”图灵完整的,并受其使用成本的经济学限制。

Ethereum 2.0(Solutions)

块链技术开创了分布式计算的新时代。
有一种强大的信念认为,分发以前的集中式系统将是非常有益的,既可以消除潜在的滥用,也可以使它们更加容错。
但是,与集中式系统相比,分布式系统的效率要低得多。
它们通常也比较慢、更昂贵和更复杂。
这种情况必须如此,因为当数据集中存储时,受控系统不需要协商一致层。
不需要花费计算能力来对跨广泛系统的集中式数据库的状态进行调整。
这是一个面临所有公共封锁的挑战,而Ethereum没有针对这一困境的具体或特殊的解决方案,至少在今天是这样。
然而,正在制定解决这一问题的想法。
从切分和状态通道到一致性算法的改变,严肃的eforts正在寻找解决方案,以使Ethereum能够大规模地扩展规模。

转换利益证明

对Ethereum目前设计的一项改进建议涉及到一项独特的技术壮举,它将发现其工作证明(PoW)事务验证机制的网络转向,并将其替换为一种基于股权证明(Pos)的机制。
POW是一个强大的一致性算法,因为它允许系统证明挖掘块的工作实际上已经完成。
另一方面,POS验证不使用挖掘过程。
网络 token的持有者根据所有权的百分比拥有网络中的股份,并投票验证块链中的块并将其包括在内。
但是,今天的pos系统也存在问题。
如果强大的力量在网络上获得了大多数以太力量,那么pos就能确保这些行为者继续对网络产生巨大的影响。
这将创造出一个新的上流社会,让人想起地主士绅,这个词指的是一个英国社会阶层,能够单纯依靠租金收入来维持其奢华的生活方式。
但是,也有好处。
如果加入网络可以简化,只需要用户下载一个程序并保持以太平衡,以昂贵设备形式进入的壁垒就几乎可以消除。
致力于这一迁移的架构师之一是Vlad Zamfir,他坦率地谈到了当前eethash协议的技术挑战,他说该协议“没有扩展”。
更简单地说,他说:“关于以太的一切都将不得不改变。”

Casper
到目前为止,Zamfir已经花了11个月的时间研究、研究和测试各种概念,以便最终过渡到pos共识。
2015年8月,他公开了一项新的共识算法的提案,该算法将被称为“Casper”,这个名字是对现有GHOST机制的一种认可,该机制以“验证器”取代矿工。
这些节点估计(基于他们可以观察到的网络)网络状态应该是什么样子,如果他们要核实所有的合约,交易和分类帐上发生的变化,从上一个点的共识。
然后,他们向对方广播猜测,并评估其他节点向他们广播的内容。
当节点识别彼此的猜测或投票时,它们开始围绕单个网络状态合并。
当节点达到一定的数学水平时,网络达到一致,然后在所有节点中更新记录,包括那些不是验证器的记录,以及那些尚未得出相同结论的验证器。
出现的一个难题被称为“无利害关系”问题,即pos验证者投票支持不止一个区块链历史,从而没有什么损失,而这反过来又妨碍了共识。
由于不存在挖掘,而且用于验证事务的资源也很少,因此尝试同时解决多个版本的块链变得相当容易。
卡斯珀解决这个问题的方法是结合。
验证器必须将ether形式的值发布到智能合约中,以监视它们的验证过程。
通过把价值放在这条线上,“欺骗”和验证多条链的动机被消除,因为失去保税价值的代价比通过欺骗获得回报的代价更高。
Casper正在被建造用来监视节点和发现“不诚实”的行为。
当Casper认识到一个“骗子”,它执行合约永久没收已张贴的挂单,并禁止节点在未来成为一个验证器。
根据Zamfir的说法,这个系统有几个关键的好处:注于CPU功率而不是GPU电源,使网络更加平等。更好地支持轻量级客户端。每秒有更多事务的能力。甚至更快的阻塞时间的可能性。

状态通道。

有一种部分解决方案实际上没有扩展核心协议,但确实有效地实现了改进,它涉及到状态通道。
简单地说,状态通道是一种执行主块链中可能发生的事务的方法。
这是扩展Ethereum协议所需的关键组件。
如果状态的变化可以移动的以太区块链,显着的规模成为可能。
但是,必须谨慎地进行,以确保不会增加网络参与者的风险。
这需要一些系统来通过合约的形式锁定块链状态。
换句话说,为了保护连锁交易中的参与者,双方必须能够在交易本身的有效性上签字。
然后,参与者必须将在通道中创建的状态提交回主块链,而主块链必须接受它作为一个更新,它必须修改和覆盖来自通道的先前报告的状态。
这将解锁保留在块链上的值,并允许它返回到块链上,而状态变化的计算要求已经取代了链,并且不会造成系统负担。
国家渠道可以成为扩大规模的有力解决方案,在其他领域也有好处。
例如,它可以被视为提供高度隐私的一种方式。
在发生争议的情况下,当事方可以终止合约而不披露可能发生的情况。

切分。

不过,还有另一种被称为“切分”的解决方案,在编写本报告时,还没有在公共区块链中采用。
从某种意义上说,切分试图利用传统数据库分片的洞察力,即将完整数据库的部分存储在单独的服务器上,以分散负载并提高性能。
当应用于公共块链环境时,实现该体系结构就变得更加隐晦,尽管这是相当有益的。
成功地分割Ethereum数据库将允许在同一网络中存在多个区块链,以便企业、个人或实体能够运行相当于公共或私人区块链的(具有不同的事务验证器),但可以在利用公共平台的安全性和功能的平台上运行。
通过将网络分割成更小的块,网络状态也可以被分割。
每个帐户都是它自己的碎片,它只能在此环境的限制下发送或调用事务。
在协议的最高层,不会有任何重大变化,但在协议下面可能会有一个不同的世界。
不需要网络的顶层处理每个事务和每个合约,可以处理较小的碎片,然后将其发送回协议的顶层。
在那里,整个分类账的状态将随着处理后的信息而更新。
在此之前,以太真的不可能成为一个实用的平台,因为它是极其不知情的。
但是,通过在碎片之间分配计算负载,Ethereum可能会适合企业级应用程序。

发展时间线。

Ethereum不同于其他开源区块链项目,因为它在开发周期的早期就给出了它的长期路线图的详细概述。
最初是在2015年3月发布的,Ethereum的时间表包括了四个发布步骤,每个步骤都有自己的大纲,说明实现这一愿景需要哪些开发更改。
在下一节中,我们将回顾这些步骤:

Frontier
被描述为以太网络,以其“最微弱的形式”,是在项目的最初推出19个月后,在边界的成因块产生于2015年7月30日。
Frontier 是Ethereum的第一个版本,该组织将其描述为面向希望尝试项目工具的开发人员的测试版。
它提供了基本的命令行功能,并为用户提供了挖掘、上传和执行合约的能力。
这是支持生态系统的关键组成部分的工具,如交流和发展伙伴关系发展项目。

Homestead
在撰写本报告时,ethereum 小组所确定的最新里程碑–“Homestead ”被描述为该网络的第一个“生产版本”。
在2016年3月14日发布的Homested仍然具有命令行界面,但被认为是这项技术的第一个商业迭代。
Homestead 是在Ethereum区块链上的1,150,000块自动引入的。
也许最值得注意的是,它要求Ethereum社区经历硬分叉,在这个过程中,对网络的协商一致算法进行了修改,使过去的规则无效,除非节点升级,否则它们就会不兼容。
这一壮举还发生在比特币界对其做出这种转变的能力存在深刻争论之际,人们普遍认为,这是对eutum开发团队及其决策能力的一种验证。

Metropolis
在撰写本报告时,“以太”的下一个主要发行版将是“Metropolis ”。
虽然还没有宣布过渡的日期,Ethereum一直是开发人员主导的efort,而开发人员领导的eforts不一定要遵守时间表。
Metropolis 将是功能齐全的产品,针对非技术用户,并将是第一个非测试版。
它还将包括Mist浏览器的第一个全功能版本,在客户端提供图形用户界面。
这个版本预计将带来根本的后端改进和升级的稳固性。
在许多方面,大都会将代表Ethereum版本1.0。

Serenity 。
直到“Serenity ”,我们才能到达社区所称的“Ethereum 2.0”,这是一个平台的版本,可以扩展。
Serenity 将看到Ethereum作为一个平台和协议的运作方式发生重大和根本性的变化。
这些更改中的第一个将是迁移,而不是目前作为Ethereum块链基础的协商一致算法。
Ethereum将从一个类似比特币的PoW挖掘过程分叉到一个过程,通过这个过程,以赛人通过投票机制来验证网络的状态。
除了转向pos共识之外,Serenity还计划引入扩展解决方案,包括将“切分”和“状态通道”引入到Ethereum协议中。

Technical Infrastructure & Key Players

开发者介绍
…………(略)

分散的项目在其计划推出的一半时间内,已经出现了一些项目,这些项目正在努力使其核心概念得以实现。
以Ethereum为基础的项目远不止是理论,而是激励开发者,克服野外的挑战,激励研究论文,抢占全球头条,以及在没有传统公司结构支持的情况下运作。
在下一节中,我们将探讨一些早期的和值得注意的例子。

The DAO

该项目是迄今最突出的Ethereum项目,The DAO 是一个DAO,旨在收集ether投资,并将这些资金分配给由捐助者和成员组成的开放社区投票表决的项目。
在其短暂的寿命内,DAO积累了超过1.6亿美元的以太价值,并看到了一些提案被提交表决,但没有一项获得通过。
The DAO 很快就成了吸引学术界批评DAOS应该如何设计和参与者激励的磁石。
然而,在发布时,在攻击者能够利用DAO代码中的函数的事件之后,该项目实际上已经崩溃。
称为“递归调用利用”,攻击者有效地反复请求DAO中的资金,并且合约在不检查余额的情况下批准了这些资金请求。
在出版时,Ethereum开发商正在考虑解决客户资金损失的一些可能的解决方案。
这其中包括一个硬分叉,或修改了Ethereum的代码,这将有效地扭转黑客攻击,和软反分叉,这将制定代码,防止被盗的资金被提现。
在现实生活中,每天约有1000万个DAO token在Ethereum网络上易手。

其他DAO。
在出版之时,一些规模较小的DAO已通过以太筹集资金或处于发展的早期阶段,这一市场的趋势已开始形成。
digix是一款旨在为Ethereum创造黄金追踪资产的道具,今年3月在众筹中筹集了550万美元。
同样,MakerDAO也打算推出一种固定价值的“稳定货币”,可以在网络上建立基于信用的货币体系。
这种形式是由一组开发人员筹集资金,交付代码,然后由不同的参与者管理。这种形式在寻求推出以以太交易或投资为中心的产品或交易所的企业家中似乎最为常见。
其他不太适合这个框架的值得注意的项目包括Golem项目,该项目正在构建允许用户交易其计算机空闲时间的技术,以及Augur,一个分散的预测市场。

Augur

作为第一个开源、分散的预测市场,Augur致力于让全球用户能够对未来事件的结果下注,目的是鼓励集体预测。
开发团队的目标是利用区块链的分散化性质,以避免过去一直困扰市场预测的问题。集中式管理被视为一个失败点,这让全球政府能够提前停止此前的努力。
ethereum 的先兆项目很少,因为它打算利用多种区块链技术以及比特币来促进其业务,从而为未来项目如何利用类似设计提供了一个令人信服的例子。

Augur如何使用ether区块链

Augur使用Ethereum消除了用户对对手方信任的需求,降低了成本,并使平台具有抵御核心故障的弹性。
该平台使资金的保管以及这些资金的交易和结算自动化,并通过Ethereum上的智能合约,通过其设计,使所有这些工作都可以在最低限度的信任下完成。

Augur 如何工作

Augur 需要大量的以太调用。

在使用Augur 的实例中,用户自动进行数百次RPC调用或在用户和Eethum节点之间发送消息并不少见。
这些调用是“免费的”,尽管它们占用带宽和时间。

让我们举个例子:Augur的一位用户希望打赌,共和党提名的美国总统候选人将被提名为该党的提名人。
4月11日,这位候选人获得了提名所需的30%票,eth的价值为15000美元。
一个用户会对这个未来的结果下注,在eth中支付每股0.30美元,这将成为现实。
如果该用户购买了1000份合约,并且他的提名人获胜,他或她将获得300美元的支付。

这是怎么回事?
步骤1:Augur用户提交一个出价或请求订单。
如果另一个交易者将匹配或提供更好的条件,则执行订单。
Augur的中间件处理各种序列化、联网和格式化任务,这些任务是将订单从Web应用程序传递到Augur的Eethum智能合约所需的,并将成功/失败确认发送回用户界面。

第二步:市场到期日。
预兆用户集体报告发生在区块链使用“提交和揭示”加密方案,使记者不知道其他人如何投票。

第三步:拥有预测市场份额的交易者根据Augur报告系统确定的结果接受(或不接收)自动支付。

这一功能是通过Augur的中间件和ethereum 区块链上的智能合约系统来实现的。

初创企业。
尽管处于早期阶段,拥有区块链领域专业知识的风险投资公司正在饶有兴趣地观察第一波Ethereum项目,其中一些公司获得了种子级投资,以制定更成熟的商业战略。
虽然这是一个积极的指标,但风险公司在整个Ethereum创业生态系统的发展中将发挥何种作用仍有待观察,因为该平台旨在鼓励启动社区项目,纳入其设计和技术使之成为可能的新治理结构。
一个早期的趋势是,生态系统中更多的传统初创企业正寻求通过辅助服务或专门技术,将其平台定位为Eethum DAOS和分散项目的推动者。
这得益于比特币网络的历史性推出,因为许多初创企业都在寻求开发直接供消费者使用的关键基础设施(交易所和钱包)。
以下是一些尚未出现的著名的公司:(略)

Conclusion

那么,我们如何解析这个世界计算机的概念呢?
这是合约、数字应用、价值交换等的未来吗?
比特币向世界展示了不可信任的数据结构,让我们窥见了未来。
当然,以太给了我们一个更好的视角。
反复地说,这是向前迈出的一大步,但它还没有实现。
从PoW到PoS的切换可以大大降低网络的计算负载,分布式存储解决方案和状态通道可以极大地扩展其能力。
但目前,这些解决办法仍在发展之中,因此,它们可能不会取得预期的成果。
这一认识不应被视为一个致命的问题,因为没有必要让世界上的每一次互动都发生在以太协议上。
但是,在目前的状态下,Ethereum不是一个可扩展的平台。
今天的以太可能被看作是一个概念的证明,它被设计成一个垫脚石,随着Serenity的发布,它将成为一个Ethereum 2.0。
此时,我们可能最终会看到网络的可伸缩迭代。
这个发布仍然是,在所有的可能性中的一种方式。
同时,在社区中存在着很大的疲劳风险,因为现在已经有大量的关注和表面上的愿望,希望Ethereum被用作一个完全可部署和可扩展的网络。
在发布之时,Ethereum的开发社区实际上正处于一个十字路口。
由于数以百万计的投资者资金在DAO攻击中受损,所有的目光都集中在其核心开发商身上。
这支队伍面临着一个离奇的选择。
无论他们是为了拯救投资者资金而决定否定有效交易,还是出于哲学上的理由而选择不进行干预,这一决定都将产生影响。
Ethereum现在正在编写实时区块链案例法。
以太能驾驭这条潜在的岔路口和未来的挑战吗?
虽然未来总是不确定的,但真正的问题是,在以太的情况下,它是否真的是虚无飘渺的,或者它的技术是否能够适应现实世界的需要。

Appendix: Getting Started With Ethereum

要开始使用Ethereum,用户需要一个称为客户端的软件,它可以运行合约并使用这些协议与其他计算机进行通信。
有多个客户端用不同的语言编写,这有助于扩大对网络的支持。
让多个团队实现这些协议也有助于使它们更加可靠和健壮。
有几个客户端运行在钱包之上,还提供了其他功能,其中比较显著的功能概述如下:
CPP Ethereum。
由Christian Reitwiessner领导,CPP Ethereum是一个C++客户端。

Ethereumjs-lib
javascript中的一种实现。

Ethereum(J)
Java版本。

EthereumH
用Haskell编程语言编写的版本。

Go-ethereum
这是用Google的Go语言编写的,是目前最受欢迎的Ethereum客户端。
通常称为“geth”,它包括一个挖掘组件,同时允许用户创建合约和在地址之间转移资金

Parity

一个低占用空间的版本,是由mozilla开发的,用一种名为rust的语言编写的。

Pyethapp
Python实现,包括挖掘和虚拟机功能。
这已经被分包给了Brainbot的一个团队,由海科·希斯领导。

Ruby-Ethereum
一个用Rubyweb应用程序编程语言编写的版本。

写作稳健性。
大多数以Solidity编写的合约(就像引擎中的齿轮一样)将用于与其他合约交互,这意味着编码人员在构造时必须非常小心,以便对象或脚本能够以正确的方式交互。
从某种意义上说,Ethereum合约可以被视为需要作为自动化生产设施运作。
组件需要沿着生产线线性移动,许多其他功能可以用来切割、弯曲、填充、打孔、油漆、标签和其他工作,以建立最终产品。
装配线的每个部分必须是同步的,否则最终产品将无法按预期工作。
如果您不习惯在命令行中工作,那么在http://Ethereum.org/Token上有一个简单的教程,它将帮助您创建一个 token。
在如何通过该 token实现合约方面也有逐步的说明。
一旦你更熟悉了,克里斯蒂安·赖特韦斯纳已经在公开演讲中详细阐述了发展社会道德和智能合约开发的最佳实践。

如何学习Solidity。
首先,在JavaScript中有一个坚实的基础对于学习Solidity是非常有帮助的。
但是,不管您是否了解JavaScript,这里列出了一些资源,您可以使用这些资源来学习关于Solidity中编码的更多信息:Solidity文档–这是最全面的
Solidity Documentation
本教程面向熟悉编程的人,但他们可能对Ethereum或块链技术没有经验。

Ether.Fund
这个在线资源维护了一个示例性合约列表,这些合约对于开发您自己的合约或了解创建合约的不同方法是如何工作的,都是非常有用的资源。

Ethereum Github Wiki
这个资源包含了一个DAPP开发人员的资源列表,对于那些有一定编程背景的人来说,这些资源是最有用的。
其中包括工具、代码示例、开发环境和技术参考。

Consensys
如果你对编程和Ethereum区块链很陌生,你可能会发现这一“编程智能合约入门”(Intro to Programming Smart Contracts)对Ethereum初创公司ConsenSys很有用。

它介绍了DAPP开发的基本概念,并向读者介绍了一个可能的DAPP开发流程。

Ledger Labs
另一个“DAPP开发简介”教程可以从加拿大的区块链咨询公司LedgerLabs获得。
当一项工作正在进行中时,它目前正在引导读者安装Geth,运行一个本地节点,一个基本的合约设计和一个更高级的拍卖合约示例。

如果您对编程完全陌生,您可能会发现,您需要首先学习任何编码所涉及的基本概念。
在线交互平台CodeAcademy有免费的交互式教程,可以教您JavaScript的基础知识,JavaScript是坚实的基础语言。
虽然细节和语法是不同的,但您将学到的许多基本概念都适用于Solidity。

Tuesday, March 20, 2018 by blast