智能合约重构社会契约 预言机基础说明

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能合约重构社会契约 预言机基础说明相关的知识,希望对你有一定的参考价值。

1. 区块链如何获取现实世界的数据?

由于网络、节点处理速度等原因,各节点直接获取外界数据时可能会有偏差,从而造成结果不同。

eg. 理想的区块链和预言机1对1模型(实际上是不行的)
在这里插入图片描述

1.1 预言机提供的解决方案

通过第三方发送一笔区块链交易,交易中附加需要的数据,交易会将数据嵌入区块,并同步到每个节点,从而保证数据的完全一致。

  • 第三方将数据推送进区块链

1.2. 保证数据的可靠性
1.3. 监管性和隐私性

监管性和隐私性是两个相互矛盾的性质。强监管性必然导致弱隐私性,而强隐私性必然弱化监管。
eg. 强隐私弱监管的mlb系统 , 基于加密CryptoNote协议通过环签名实现。

2. 系统整体架构

2.1 审计端架构

2.1.1 审计链

  • 功能: 服务端的信誉机制、数据源的准入机制

  • 本质: 一个区块链系统, 有别于其他的区块链交易系统, 功能更多的是用于存证以及数据共识从而保让该数据的可靠性。

  • 审计链不需要验证交易的有效性, 因为审计链本身不涉及交易的功能。

2.1.2 服务节点

  • 减轻审计链中共识节点的工作量,同时分摊共识节点的责任与能力,防止共识节点作恶。
  • 监督共识节点的运行,共识节点也同样评估服务节点的工作信誉和能力, 两两相互制约,达到审计监管的目的。

在这里插入图片描述

2.1.3 四层架构

  • 存储层
    使用 Redis 数据库作为缓存,mysql 数据库持久保存数据。(Redis 数据库是非关系型数据库,存取速度快用于系统和数据库之间的缓存)

  • 数据层
    系统主要有三类数据: 统计各服务节点的信誉指数、数据源的信用以及安全等级 、数据馈送记录(记录服务端和数据源通信请求和回复便于今后监管时有迹可循)

  • 共识层
    对三种数据达成共识:服务节点数据、通信记录以及数据源数据。这三种数据使用同一种共识算法—实用拜占庭将车协议(Practi-cal Byzantine Fault Tolerance.PBHFT)算法。

  • 应用层

    • 投票模块
      主要针对的是服务节点的信誉指数,各节点将各自的结果发送给各个共识节点,共识节点先各自参与服 务的节点的信誉值,然后将结果达成一致后存入链中作为各个服务节点信誉指数的更新。

    • 智能合约
      针对数据源的信任等级,数据源将自己的申请以及证明材料递交给入审计链触发准入审计智级智能合约的运行,合约顺序执行,执行到重要节点时,将此时的运行状态经过共识存入审计链中,直到合约运行完成,数据源获得准入权限,结果共识上链。

    • 通信模块
      针对服务端和数据源之间的通信问题,审计链作为第三方,保存有服务端的请求以及双方的通信记录便于监管,这些记录都是用密钥进行加密,保证隐私性。

    • 数据操作。
      数据操作主要是面向内部和外部提供查询接口,主要提供查询的数据的通信记录数据、服务节点信息及信誉指数、数据源的相关信息及信任等级、最基本的区块信息查询等。

2. 2.通信层架构

通信主要指的是服务端、审计端以及数据源的通信过程。

2.2.1 三种通信过程

  • 服务节点与审计链之间的通信
  • 数据源与审计链之间的通信
  • 服务节点与数据源之间的通信

2.2.2 三点通信基本原则

  • 服务节点可以和审计链直接通信
    服务节点向审计链发送消息时向审计链中所有共识节点同时发送请求或信息。审计链向服务节点返回结果时是所有共识节点同时向服务节点返回,超时返回的数据视为无效数据。
  • 数据源可以和审计链直接通信
    数据源向审计链发送审计数据,审计链触智能合约的执行,结果共识后上链,并向数据源返回共识结果,也是共识节点同向数据源发送结果数据,数据源选择多数节点提供的结果。
  • 服务节点和数据源的通信必须有审计链的参与,否则不可以直接单独通信。
    因为服务节点和数据源的通信纪录要上链,使用的算法是基于第三方区块链的安全通信算法,该算法保证了通信记录一定上链后,服务节点和数据源才能正常通信。

2.2.3 安全通信协议

在引入了一个第三方分布式系统的前提下,完成了服务端与数据源的通信过程。一次请求完成过程需要执行两次共识,一次共识请求并存入区块链中,另一次是共识通信记录并存入链中。
在这里插入图片描述

  • 服务节点与审计链、数据源和审计链的通信都是单节点对多节点的通信
  • 单节点指的是服务节点和数据源,多节点就是审计链中的共识节点,共识节点分别处理请求后,对结果达成共识,结果数据存入链中。
  • 所有共识节点都会将结果发送给服务节点或者数据源。
  • 单节点在有效时间内收到回复后,将大多数共识节点回复的数据作为最后的结果。
  • 服务节点与数据源的通信就是一个单节点对单节点的通信,审计链的参与只是作为第三方存证,并没有实际参与通信。
  • 在服务节点与数据源的通信过程中, 由于第三方的加入,不可避免地会有和第三万的交互过程,这个交互过程可以今照上述的单节点对多节点的交互过程。

在本系统中单对多的通信是单对单通信的基础。

以上是关于智能合约重构社会契约 预言机基础说明的主要内容,如果未能解决你的问题,请参考以下文章

智能合约重构社会契约赛迪智能合约安全标准

智能合约重构社会契约 比特犬模型实现智能合约

智能合约重构社会契约(11)天德区块链智能合约系统

智能合约重构社会契约(11)天德区块链智能合约系统

智能合约重构社会契约以太坊总结

智能合约重构社会契约 雅阁项目智能合约