【区块链】基于TLSNotary的中心化预言机第三方可信证明——原理介绍

【区块链】基于TLSNotary的中心化预言机第三方可信证明——原理介绍

在中心化的预言机(比如以太坊上的Oraclize)中,为了防止链下获取到的数据被篡改,TLSNotary利用了TLS1.1协议的机制,引入第三方作为审核方,预言机作为被审核方,从而提高数据的可信性。

TLS1.1协议流程

TLSNotary是基于TLS1.1协议的流程来实现的,先简单了解一下整体过程,下图是流程图:

TLS1.1协议流程

协议的大体流程是协商密钥生成算法然后通过随机数生成秘钥,最终双向验证秘钥达成握手,详细流程可以参见文末链接。

协议最终的效果是在客户端和服务端各生成了一组秘钥,用于通信内容加解密验证数据是否被篡改

  • 对称加密秘钥
    加密数据包内容(在HTTP协议里面就是网页数据),防止在传输的过程中被他人读取。
  • 验证秘钥
    加密数据传输的过程中还是有可能会被截获并且篡改,最终导致解密的数据出现错误。所以需要客户端和服务端用同样的算法和秘钥进行HMAC计算(具体算法取决于协商阶段的结果),最终结果一致的话,就证明数据没有被篡改。

TLSNotary流程

我根据官网内容和白皮书,整理了一下大体流程,如果有误欢迎指正。
TLSNotary流程

TLSNotary协议可以理解为把TL1.1S协议中的验证秘钥托管到第三方审核服务器,让它进行HMAC计算并且确认数据是否被篡改,从而增强可信性。

具体的秘钥联合生成算法,可以对照底部参考链接的白皮书。

关于TLS1.3

TLS1.3化简了握手流程,在一次握手后直接实现了协商和秘钥生成,并且合并了数据解密和HMAC计算环节,所以审核方无法控制验证秘钥,最终导致无法采用TLSNotary的方案进行数据可信性验证。

扫描二维码关注公众号,回复: 11975109 查看本文章

参考链接
白皮书地址
TLS1.1
TLS1.3


作者:脆皮猪
来源:CSDN
授权:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/weixin_41929180/article/details/109212642