深入浅出解析门限签名技术

2019-08-29 11:06 区块链开发

  Chainlink近期发布了最新的门限签名技术,这项技术可以大规模低成本地应用去中心化的预言机,这个好消息让智能合约社区一片欢欣鼓舞。尽管门限签名技术背后的数学逻辑非常复杂,但本文将用通俗易懂的语言深入浅出地解析这一技术。

  区块链共识机制

  区块链的核心价值就是让网络中的各个节点就某一状态达成共识。这样一来,网络就可以自主运行,无需任何外力从中协调或主导。

  在比特币区块链上,矿工就交易状态达成共识,确认某一账户里是否有足够余额转账到另一账户,以及账户私钥与公钥是否匹配。

  而以太坊区块链则在这个基础上更上一层楼,除了确认交易状态之外还能处理智能合约代码逻辑,比如:如果x发生,则执行y。如果x和y都存在于区块链上,那么区块链就可以轻松执行智能合约。然而,如果x和y都存在于链下系统(即发生在原生区块链以外的事件),事情就会变得复杂许多。

  举个例子,以太坊上的金融智能合约使用彭博社(Bloomberg)的市场数据(x)触发智能合约在支付宝上用人民币结算(y)。而彭博社的数据和支付宝的支付功能都是存在于以太坊区块链之外的资源。

  预言机共识机制

  Chainlink使用去中心化的预言机网络将可靠性极高的链下数据连接至智能合约。这个去中心化的网络将区块链与链下数据相连,在安全性、可靠性、和防篡改性方面都可以与区块链共识机制相媲美。

  在现有的去中心化预言机模式中,每台预言机都需要将响应发送至区块链上的智能合约,这个智能合约专门负责将所有数据聚合至单一数据点,并触发执行相应的智能合约。举个例子,一组预言机获取了某项资产在某个特定时间点的市场价格数据,然后将数据发送至智能合约中进行聚合,该智能合约将基于所有节点提交的数据取一个平均值(可能是剔除异常值)。这样做可以有效防止部分节点提交错误数据而对结果造成影响,并且可以基于多个数据源取平均值。

  然而,这个方法不仅成本高昂而且还会造成网络拥堵,因为每个节点将外部数据上传到区块链都要支付一定的gas费用。因此,使用大量预言机虽然能保障去中心化共识的安全性和可靠性,但成本高昂,并非上上策,除非合约本身具有很高的价值。

  现在有一个创新的方式可以解决这一问题,那就是门限签名技术。门限签名可以让预言机之间互相交流,并在链下达成共识,确定链下数据源的真实性。链下预言机通过门限签名技术聚合数据,只需最终向区块链传输一次数据即可,因此也只需支付一次gas费用。

  简而言之,每个参与智能合约的预言机都会搜集相关数据(如市场数据),将数据发送至网络中的其他预言机,按照指示将所有数据聚合至单一数据点,并经由统一的预言机一次性发送至区块链上的智能合约。而且这些预言机共同组成了一个数据签名密钥。

  在区块链中,私钥(相当于密码)与公钥(相当于银行账户)必须是一一对应的才可以触发网络中的交易。在门限签名中,密钥在本质上相当于预言机私钥,有了它预言机才能将聚合过的数据发送到链上。使用门限签名技术可以将这个私钥切分成许多片,并分发给网络中所有参与的预言机。预言机的数量要达到一个事先约定好的“门槛”才可以将手中的“私钥碎片”重新组成一把完整的私钥。预言机在链下进行交互,把密码(私钥)重新拼装起来,然后才可以签名批准链上交易,并将数据(即聚合过的数据)发送至区块链上相应的智能合约。

  网络中“一定规模”的预言机网络将手里的“私钥碎片”拼在一起就可以组成一个完整的密钥签名,并可以批准数据传输。这个所谓的“规模”需要事先约定好,而这就是门限签名的“门槛”。虽然只有网络中参与智能合约的预言机才能够组成签名,但任何人都可以检查签名的真实性。因此,网络中一定数量的预言机必须先达成共识,确认数据的真实性,提供数据的预言机才会得到相应回报。

  举个例子,网络中有250个节点提供数据源,但至少需要有200个节点才能重新拼出一把完整的密钥,并触发预言机将数据传输到区块链上。有了这个“最低门槛”,即使某些预言机出现问题,也能保证数据能够正常传输到区块链。与此同时,由于有大量预言机在链下达成共识,确认了数据的真实性,因此这个方法既可以保障传统区块链共识机制的客观准确性,又不会为区块链增加太多成本。

  大规模的去中心化预言机网络为链下世界与链上世界的联通奠定了坚实的基础,使用成本的降低也让大规模应用不再遥不可及。Chainlink网络通过门限签名技术,可以安全可靠地在现有基础架构上应用智能合约,并保障数据的安全性和真实性。

地址:河南省郑州市金水区姚寨路133号金成时代广场6号楼2层