摘要
区块链预言机是一种为上链数据提供可信保障的中间件,可以有效解决链上链下数据传输的信任问题。当前预言机方案存在成本高、容错率低、密钥泄露、数据泄漏、签名失效等问题。针对这些问题,提出一种基于Schnorr门限聚合签名的区块链预言机改进方案。首先,通过引入可验证随机函数生成可验证随机数,解决了签名过程中随机数重复或能够被预测导致的密钥泄露问题。其次,通过引入可验证秘密分享,解决了签名过程中密钥分发者作恶导致的签名失效问题。预言机通过验证密钥碎片检测密钥分发者是否作恶,验证结束后便向预言机智能合约发送验证结果,当预言机智能合约收到t个验证失败的结果时向所有预言机发送消息,达成一致性共识后重启签名。此外,在数据提交阶段,当预言机身份验证通过时才允许其提交,防止了签名过程的数据泄露。并设置预言机信誉与激励机制,保证信誉较好的预言机在有效时间内参与签名并获得奖励。仿真实验结果表明,在预言机节点数量为50,密钥分发者作恶且恶意预言机占预言机群体总数近50%时,方案消耗的总时间不超过200ms,gas消耗量不超过5×105 wei,可以有效地实现可信数据上链。
-
单位上海商学院; 上海海洋大学; 上海计算机软件技术开发中心