以太坊

另一个引人瞩目的“2.0”项目是以太坊。该项目在2014年1月宣布启动,将带来加密账本和图灵完备的编程语言。简而言之,一个图灵完备的编程语言意味着该语言可以用来模拟任何计算机语言(不仅仅是其自身)。2009年发布的初始比特币协议与软件实现包括一个脚本语言,该语言有诸多限制(它被设计为非图灵完备的),因此远远没有得到充分利用。因而,开发者们不得不使用这个简陋的结构以在其协议上实现新功能。很多开发者,包括以太坊开发者,认识到了这些局限,认为与其构建和提供一套特定的功能组件,不如使用一个图灵完备的类似C语言的编程语言(CLL)。通过该软件,开发者就可以构建各种各样的工具,包括各种类型的智能合约、资产管理工具甚至一个去中心化自治组织(Decentralized Autonomous Organization, DAO),这些都由以太坊账本执行、控制和审核。尽管该计划是迄今最具整体性的一个方案,但其长期成功仍有赖于大量的才智分享与网络效应。

为了获得更多以太坊的信息,我和Vitalik Buterin通了信,他是比特币杂志(Bitcoin Magazine)重要作者以及以太坊项目的首席开发者。因为“2.0”项目都具备保罗万象的能力,开发者们很难决定在哪个平台上创建他们的应用,但这不是仅有的障碍。在他看来,

“我认为在2.0领域最主要的挑战将会是

(1)构建合约,

以及

(2)构建界面。

这些一直是问题,当然目前为止这两个问题没有其他一些更大的问题来得显眼,比如维护服务器架构和拓展性、保证资金的安全性、法规符合性以及与银行建立关系等。通过去中心化应用,这些问题的大部分将不会存在,所以只有这两个问题会留下来——合约设计与界面设计——现在摆在我们面前。这两个问题可以轻易地分开处理;某个人应该可以编写一个衍生的交易GUI(图形化用户界面),并与以太坊、比特股以及任何其他人们想要在其上进行交易的不同系统自动对接。”

我交谈过的其他几个开发者和投资者也有类似观点:为终端客户创造使用简单、直观的界面将能很快使你的产品脱颖而出。尽管已经有了许多高级的、专门为商家定制的插件,但备份钱包与保障钱包安全等例行操作仍然十分笨拙,这些阻碍了对加密货币的广泛传播与接受。

Buterin之前在彩色币和万事达币项目上都工作过。尽管都是可迁移的,但这两者目前都使用比特币协议,这带来了一些局限。在Buterin看来,

“比特币的关键特性之一是‘简化支付验证’(SPV)这一概念。仅仅通过下载与特定交易相关的相当小的区块链数据子集,一个比特币节点就能够验证一笔交易的有效性。由于现在一个‘完整’的比特币节点需要占据14GB空间来运行,这超出了很多用户的接受范围,该机制(子数据集验证)正成为比特币安全性必不可少的一部分。然而,那些构建在比特币区块链上的附生币协议的问题是它们不能从该协议中获益。比特币协议基础层无法获知一笔交易是否在附生币的设定里是有效的,所以比特币区块链将把有效和无效的交易都包含进去,因此附生币协议交易的有效性只能基于完整的区块链数据对整个协议进行重新计算来验证了。以太坊通过依靠一个新独立区块链取代附生协议来解决该问题。”

SPV是一种轻客户端,提供比特币用户一个轻量化方式来发送和确认交易,而不是携带整个数据库。它通过只下载所有区块头(例如默克树)而不是整个区块链自身来做到这点。由此,其灵活性可以使比特币客户端被那些可能没有足够空间或带宽来持续下载整个区块链的节点所使用。目前,正如Buterin提到的,完全确认一笔基于彩色币或比如万事达币这样的附生币的交易,只能通过重新检查整个区块链。这是对可拓展性的巨大障碍。

当描述和定义什么是一个“智能合约”以及“DAO”的时候,由于一个健壮的智能合约有时会被当作DAO使用而总是造成困惑。据Buterin说,

“我想说两者之间没有清晰的界限,但其内涵意义有一些总体上的不同之处。对我而言,一个智能合约是单一目的并且短暂的,所以它为特定任务创建并且最终会消失。一份金融合约是一个好例子。DAO着眼于更长期的东西,并且包含一个内部AI(人工智能)来做决定。最后一点,去中心化自治组织是一个多人间的长期合约,其主要职责是保持资产并使用某种形式的投票系统来管理资产分布,甚至可能包括能够让人们签约或者交易他们的席位。可以有很多不同类型的DAO;比较基础的DAO完全活在区块链上;而比较高级的则可能将它们的数据储存在其他去中心化网络或是很多不同的服务器上。”

在本文的很多地方都引用了Mike Hearn的报告,包括其2013年图灵会议的报告。尽管Hearn和Vitalik Buterin使用同一个名词,DAO,但他们使用该术语时所隐含的定义却不相同。在一次电子邮件通信中,据Hearn说,

“被Vitalik称作DAO的东西和我在图灵论坛上讨论的东西不太一样。我以前以为它们是相同的,但他把比特币本身叫做一个DAO,再更仔细的检查这种说法后,我认为这显然与我说的DAO不一样。假设你指的是机构,我怀疑会有很多的挑战很快随时发生。为使其运转良好,你真的需要可信计算。但在英特尔发布其支持SGX(软件防护扩展)的CPU之前,这无法良好运行,而英特尔甚至还没有为此宣布发布日期。”

在这本指导书里我对于没有任何精密内部AI组件的简单“智能合约”进行了描述。同样,对于DAO,我指的也是完全存在于区块链上的相对简单形式。随着程序员们越来越熟悉去中心化软件,以及技术发展及其实际应用的展开,每个术语的特定含义都将可能改变。

results matching ""

    No results matching ""