三、预言机(oracle)项目的成功拼图
作为现实世界与区块链数据交互的入口逐渐在区块链的架构体系中发挥更加重要的作用;常见的应用诸如博彩、游艺;但是,预言机目前真正发挥价值的领域更多出现在金融行业的风险管理和投资管理上。
1、预言机(oracle)解决方案的主要部分的简述
1)状态通道 - 提升可扩展性的选项;
2)分片 - 提升可扩展性的选项;
3)轻节点 - 提升可用性和安全性;
4)架设在闪电网络之上的市场 - 高效的撮合;
5)预言机,告知区块链最终的事实;
6)一个基础链来承载这些功能和应用;
7)一个有用户基础的社区
目前正在开发的主流预言机项目有:Amoveo,Augur,Gnosis,Aeternity,Zen Protocol,Bitshares,STOX,Bodhi和Bitcoin Hivemind等等。
2、状态通道
Hivemind应用闪电网络的思路,比较标准的闪电网络解决方案,可以下回做细致的分解:Gnosis或者Augur公开的信息还没有关于状态通道的内容,但是他们都宣称会使用状态通道;Amoveo状态通道已经测试通过,所有用户可以通过安装erlang完整节点并使用Web浏览器界面来试用Amoveo状态通道;Aeternity更新了白皮书,还没有上传状态通道有关的代码,根据白皮书的说法,Aeternity将拥有完整的状态通道,能够运行off-chain的智能合约;在stox、Bodhi白皮书中不包括状态通道的内容。
3、分片
简单来说,因为Amoveo是一个无状态的智能合约系统,由于区块链上不存储任何合约状态,所以它可以简单地分成若干个通道和部分的merkle树来执行和验证状态分片;Gnosis,Stox和Augur都是基于以太坊平台,当前版本的以太坊还不具备分片的功能;菩提基于QTUM,它的上层源自EVM,同样缺乏分片功能;Bitcoin Hivemind复用比特币源代码,很显然,不具备分片功能;zen Protocol,Aeternity和Bitshares没有支持分片的计划表。
4、轻节点
Amoveo可以在浏览器中使用轻节点钱包链接,Amoveo矿工可以不依赖全账本而仅使用轻节点,整个网络可以全部是轻节点;Gnosis,Stox和Augur基于以太坊,它可以提供轻节点模式,但这里有一个弱点,在最糟糕的情况下,以太坊轻节点必须替代完成完整节点的一切职能,但轻节点并不存储全部状态,这样轻节点只能罢工;Bodhi基于的QTUM也提供轻节点,但由于QTUM使用UTXO而不是账户模型,所以QTUM的限制和比特币相同;如果一个轻节点想要查询全部余额,那么需要通过完整节点扫描整个UTXO集合来为轻节点做出证明;显然,小额支付触发查找余额的开销是很大的。
5、交易市场
包括Bitshares,zen协议,Stox,Bodhi和Aeternity这些项目将交易市场放在链上, on-chain市场的弊端是无法通过状态通道来实施扩展;Hivemind,Gnosis和Augur把市场放在链外,但是他们使用经纪人的模式,这比订单系统的效率低得多;看上去,Off-chain的订单系统模式是最高效的解决方案。
6、预言机
大多数项目的预言机(oracle)机制不能升级,有些则使用了不太安全的机制,比如基于投票或者外部数据源;无法升级的预言机代价过于昂贵或者有时候并不起作用,假设在预言机上下注的数量远远大于预言机机制中的金额,为了让预言机有用,我们需要能提供关于外部世界的准确数据;为了使预言机在这些条件下有效运行,用户需要向预言机提交更多的抵押来确保其更加安全,这要求通过升级使得权益更有价值来实现;Stox中创造预言机的人需要提供抵押品即担保物;整个预测过程,担保金额不会发生变化,同时,投注量受到预言机创建者提供的担保金额的限制,Stox的预言机无法升级;Aeternity 和Bodhi使用外部可靠数据源,不依赖抵押品,这样会很容易受到操控和匿名攻击;Augur以REP代币作为抵押品,抵押品的数额即REP的价值,Augur预言机保证所有市场下注量受到REP市值的限制,其中包括那些链外的交易,Augur也不能升级;Gnosis拥有预言机升级机制,“终极预言机”是升级的一部分,它的solidity实现在github仓库Gnosis 预言机;
7、基础链平台
Gnosis,Stox和Augur使用以太坊作为基础链,它是典型的二代区块链系统;菩提使用QTUM,目前已上线主网;Bitshares自己就是基础链平台,预言机只是其上的应用;Amoveo,Bitcoin Hivemind和Zen Protocol都上线了测试网络,可以试用来构建服务;Aeternity还没有测试网。
四、智能预言机Codius:用完即走,第一个预言机(oracles)2.0正式发布
智能预言机(smart oracle),又称“合同主持者”,提供了一种简单、灵活的实施智能合同(smart contract)的方法,将商业逻辑,法律和其它一致同意的规则翻译成代码。智能预言机建立在预言机,或者向智能合同提供真实外在世界信息的实体的理念上;在这样的系统内,规则可以被任何一种编程语言翻译成代码,合同可以与任何接收加密签名命令的服务相交互;这包括,但不限于,密码学货币网络。我们引入一种智能预言机,称为Codius(码律,在拉丁文中“ius”表示法律),利用谷歌的本机客户端(Native Client)作为代码沙盒。
1、综述
1)智能预言机结合了提供真实世界信息的预言机和有沙箱保护的代码执行环境;它独立于现有的分布式网络,例如比特币和瑞波网络,可以与任何基于互联网的服务,包括所有的分布式共识数据库,进行交互;将不可靠的执行代码与分布式网络分开,减少了复杂度,从而增加了两个系统的安全。
2)Codius的实施过程利用谷歌本机客户端将不信任的代码运行在沙盒中,这使得程序员可以使用任何编程语言写智能合同;它利用确定性编译、散列和签名秘钥安全地识别合同和模块;我们建议高价值的合同采用多方签名,进行分布式计算。
3)Codius和智能预言机为开发者、企业家、法律和金融专业人员打开了新的可能性;以前需要冗长的法律合同的协议现在可以翻译成代码,并由智能预言机自动执行;智能预言机拥有赋予人们建立更加公平、成本更小、效率更高的法律系统的潜力,智能预言机是能够实现这些梦想的方法之一。
2、从预言机到智能预言机Codius
几个较早的设计(包括比特币)依赖于在共识网络中执行合同,这要求合同的执行是确定的,在智能预言机中执行合同能够显著地推广和简化系统;密码学货币开发者发现设计一种包含强大的智能合同语言和强壮的共识系统的系统的挑战非常大,比特币脚本语言允许将简单的逻辑编码,并在比特币网络上执行,然而,编码高级的逻辑和执行不可信任的代码已经被证明非常复杂;
智能预言机将不可信任代码的执行应该与共识数据库和其它追踪和转移资产所有权的服务相分离,分离的合同系统可以处理不可信任的代码执行和通过加密签名与共识数据库交互;这些签名原生于共识网络,所以不需要任何修改;将合同与共识网络分离还有一个额外的好处:
“合同可以与多重网络进行交互,也可以与任何类型的网上服务进行交互,这意味着一个智能合同可以与比特币和瑞波进行交互,可以与基于网络的服务例如Paypal,Google,Ebay等进行交互,甚至可以与其它的互联网协议例如SSH,LDAP,SMTP和XMPP协议进行交互;”
如果合同的执行分离于现有的系统,代码应该在哪里执行呢?这就要引入智能预言机了;大多数智能合同的方案,甚至那些建在共识网络,例如比特币网络内部的智能合同,都依靠独立的实体告知合同外部世界的状态,比特币合同依赖于“预言机”,通过将签名引入网络来证实外部世界的事实;智能预言机将预言机的概念更深入一步,将不可信任的代码放到预言机中执行;智能预言机是可信的或半可信的实体,它既可以提供关于外部世界的信息,也可以执行合同参与方同意的代码;
3、智能预言机Codius实施方案
智能预言机的实施需要做许多事情。在下面的内容中,我们将介绍对大多数智能预言机都不可缺少的元素。
1)智能预言机的关键组成部分:
(1)安全地确认代码;
(2)沙箱代码;
(3)预言机应用程序接口;
(4)合同主持(contract hosting);
(5)计费模型;
(6)合同客户端。
2)Codius和谷歌本机客户端(Google Native Client)
谷歌的本机客户端是一个运行不可信任的x86代码的沙盒,这一底层命令被大多数计算机处理器所使用;开发本机客户端是为了在网上运行编译后的二进制代码,本机客户端提高了软件的故障隔离能力,为软件提供受限的执行环境,保护用户远离潜在的恶意代码;本机客户端可以用来运行任何一种编程语言,目前支持C,C++,Python,V8JavaScript,Ruby,Go,Mono和 Lua;谷歌用本机客户端运行需要较多运算的网页应用,例如Hangouts Video、QuickOffice和ChromeOS运行不可信任代码的应用和数据中心。最新版本的可移植本机客户端模块只比虚拟机编译的代码慢10-25%,所以本机客户端不仅启动快速,而且提供高性能地执行;Codius使用本机客户端,因为它提供了独一无二的安全性、性能和灵活性的组合。
3)合同应用程序接口
即使智能合同在沙盒中运行,并且程序的功能被限制了,但是还有应用程序接口的问题;为了对合同的功能进行更精确的控制,Codius合同详细规定了合同可以同什么样的应用程序接口接触。
4)合同主持(Contract Hosting)
(1)记费(Billing)
智能预言机最灵活的一点是计费系统,它允许合同的参与方为合同的执行向智能预言机支付费用;计费系统与核心系统设计完全分离,所以智能预言机可以可以接受它们选择的任何支付方式,从信用卡支付到比特币支付;事前收取费用还是事后收取费用完全由预言机的运营者决定。
(2)合同客户端(Contract Clients)
合同参与方为了管理他们参与的智能合同,他们需要与合同主持者交互的软件;预期许多合同模块都将有相应的客户端软件;根据使用情况,客户端可能有非常不同的特性,从优雅的图形用户界面到贫乏的命令行工具;智能预言机假设合同的作者也将提供合适的客户端或者第三方开发者指导,让他们的已有的客户端可以与合同交互。
4、线下合同(Offline Contracts)
在现在的法律系统中,大多数合同完全是“线下”的,即不需要调用法律系统;调用法律系统的威胁使得合同的参与方遵守合同条款;在智能合同领域,线下合同也是可能和有用的;合同参与方将会遵守下面的协议:
1、创建的合同明确规定合同参与方违背合同协议将会受到惩罚。
2、向合同代码末尾增加随机值。这将使得通过代码的散列获得合同细节知识变得棘手。
3、向合同的主持者要求合同的公钥,但是不上传合同。
4、公钥能够获得代管基金或者能够控制合同参与方资产的权力
5、合同的参与方现在可以在线下进行交互。
6、 如果合同的一方进行欺骗,受害者能够上传合同,运行合同,对违背合同的一方进行惩罚。
只要合同的参与方没人进行欺骗,合同就可以不用上传和执行;合同的参与方必须做出可信的威胁,如果另一方违背合同,就应该上传合同和施加惩罚;这类似与现在的法律系统,参与方必须做出他们将进行起诉的威胁,如果另一方违背合同;不同之处在于,智能合同的诉讼的成本更低,速度更快,结果可以预期;
5、智能预言机Codius金融应用及其它
智能合同能被应用于塑造具有明确的条件和结果的任何类型的协议或者关系;智能预言机使得智能合同的实施变得简单、灵活和强大;下面是我们现在可以期许的一些应用,从最简单应用的开始,难度依次递增:
1)、桥接价值网络:像比特币和瑞波这样的分布式网络的记录账户和余额的账本或者区块链是分开的;传统的金融系统也有它们自己的账本,建立在智能预言机上的合同能够在分开的系统之间创建自动的、完全可信的桥接;这样的桥接能够接收来自于其中一个系统的支付,然后立即在另一个系统发起支付。
2)、代理:智能合同能够很容易地建立起来,充当代理账户,监控两人之间的交易;商品、财产或者服务的买家把货款打到合同账户中,这个合同将监控外部服务信息,例如对于域名交易,它会监控域名注册者,对于房产交易,它会监控公开房屋所有权记录;当所有权由卖家转到买家时,合同会自动将货款发给卖家。
3)、密码学货币钱包控制:目前比特币和瑞波没有好的机制使得“拉回支付”(pull payment)可行;“拉回支付”即如同信用卡支付模式,卖家代表买家发起支付;合同控制的钱包包括许多不同类型的复杂控制,从每日取款限额到允许特定实体收款;这将使得认购、条件支付和不用公开私钥的精细化钱包控制成为可能。
4)、数字资产拍卖:如果智能合同被给与了数字资产的所有权,它就能执行拍卖规则;它可以被设计为在比特币或者瑞波网络上接受投标资金,拍卖结束后,向投标失败者返还资金。
5)、金融衍生品:监控数字或非数字资产的合同也能够应用于期货合约、远期合约、互换合约、期权合约。
6)、债务和权益:其它基于根据事先制定的规则实现支付和权益变动的证券也能够写成智能合同。
7)、智能财产:智能财产的经典例子是智能汽车,它能通过可转让的,但不可伪造的数字标记(digital token)知晓谁是它的主人;合同可以管理所有权的转移和附带规则,这包括临时性授权和其它协议中担保财产的潜在使用。
8)、投票:未来智能合同可以用来执行民主、官僚和其它类型的对资产或者组织的控制结构;像其它所有应用一样,合同执行事先定义的规则,甚至包括更改合同自身代码的规则;许多非金融应用要求更复杂的基础设施和更加成熟的生态系统,所以我们预期这样的应用建成需要一段时间。
彩蛋:预测市场是为未来事件预期结果进行定价
为什么预测市场能够成行?简单来说,通过低买高卖以奖励能作出更佳市场预测的人,通过买高卖低来惩罚作出较差市场预测的人;迄今为止的证据表明,预测市场的预测结果不比预测相同事件的专业机构差。
现代的预测市场起源于上世纪90年代初,其理论基础包括有效资本市场假设(Efficient Capital Markets Hypothesis,ECMH)和海耶克假设(Hayek Hypothesis);本质上,预测市场是基于市场原则来收集整合交易各方对同一事件的信心和判断,从而产生对事件的未来结果的预测;如果说,股票市场是在为股票未来的预期收益定价,预测市场就是在为未来事件的预期结果进行定价。
其中的著名理论“Futarchy”由预测市场之父Robin Hanson提出,主要概念被精简为,“用选票表达价值观,用钞票下注信念”;在这样的制度下,一个机构设定一个目标,让人们用经济学方法支撑各自认为有用的方法;如果甲乙双方需要作出决定,就会发行代表两方的代币,并形成相应的代币市场;具有较高价格的市场拥有决策权,然后胜出市场的代币持有人可以按照该目标实现情况获得相应收益。
-End-