麻省理工学院(MIT)透露了他们在比特币闪电网络上运行智能合约的测试结果。研究人员Tadge Dryja和Alin S. Dragos最近在Coindesk分享了这些结果。在比特币网络上运行智能合约并不是新鲜事,不过,信任实体Oracle与智能合约相结合的方法在比特币区块链中显得非常独特。这项研究隶属MIT数字货币计划,该计划于2015年启动,作为进一步研究加密货币的一种方式。
区块链Oracle通常通过提供可信的外部数据源来辅助实现区块链。这些数据来源不参与区块链共识机制,因此需要被信任,因为它们会影响智能合约的执行。例如,如果智能合约在特定日期或时间被设置用于支付商品,则智能合约需要在被执行时接收到商品的最新价格。
去年夏天,Dryja率先将Oracle作为其Discreet Log Contracts(DLC)的一部分,这也是第一次通过可运行的代码实现Oracle。Oracle运行在闪电网络之上,麻省理工学院研究人员创建了一个名为lit的网络,并提供了以satoshis(比特币计量单位)为单位广播美元价格的能力。
智能合约在以太坊区块链协议中更为流行,不过Dragos也看到了将Oracle和智能合约引入到比特币的机遇:
当提到智能合约时,人们通常会想到以太坊。以太坊的脚本语言更加丰富,而比特币对开发者不够友好,因为比特币没有朝着这个方向发展。我们可以使用比特币,只是需要一点创意。
不过,Dryja看到了DLC在可伸缩方面的优势,因为大部分数据不需要处于区块链中。从隐私的角度来看也有一些好处,可以防止利用Oracle作弊。Dryja解释说:
我们正在引入一个模型,在这种模型下,Oracle不知道谁在使用数据。Oracle是孤立存在的。即使发生了合约,也无法分辨它是否存在。这看起来很有趣。
为了实现匿名性,他们将Oracle提交的数据与其他Oracle不知道的数据混合在一起。Dryja解释说:
我们把Oracle数据与我们自己的秘密数据结合起来,这样就可以做到我们知道这些数据,但Oracle不知道。
组织为了保护自己的财务记录不受区块链影响是这种方法背后的驱动力。
虽然实验取得成功,但仍有一些悬而未决的问题。例如,组织如何通过Oracle实现变现?另一个不确定的领域是,如果在这个模型中可以信任单个Oracle实例,那么当同时使用多个Oracle时会怎样?这样会减少信任吗?
用户体验是另一个需要额外投资的领域。正如Dragos所述,“UX不是我们的核心专长”,所以其他组织需要打包这项技术,并用在他们的分布式应用程序中。
查看英文原文:MIT Researchers Test Oracles and Smart Contracts on Bitcoin Lightning Network
领取专属 10元无门槛券
私享最新 技术干货