美文网首页区块链技术研究
(徐兴福)CubeTrain的POR共识机制、抛币协议和共享密钥

(徐兴福)CubeTrain的POR共识机制、抛币协议和共享密钥

作者: 大圣2017 | 来源:发表于2018-11-20 13:57 被阅读41次

2018-11-18 小雨智媒 方车CubeTrain的POR共识机制、抛币协议和共享密钥体系
原创: 小雨智媒 [小雨智媒](javascript:void(0);)
嘉宾:徐兴福,千千世界(善圆科技)创始合伙人、首席技术官,从事密码学研究18年,历任军队、多家上市公司、区块链企业的密码学专家、顾问,熟知国际国内各类加解密算法、数字签名技术等,善于将密码学思想与集体应用相结合,擅长保密算法体系设计,曾参与获得国家科技进步奖、军队科技进步奖多项。

今天我与大家分享两个内容:

  • 一是CubeTrain(方车)的POR(随机可证)共识机制
  • 二是秘密共享体制的应用

POR(随机可证)共识机制

首先分享一下我们在POR共识上的认识。

图灵奖得主Silvio Micali提出了Algorand共识算法。

  • Algorand共识算法主要是利用VRF(可证随机函数)实现。
  • VRF函数的输出由两部分组成:随机结果以及随机证明(proof)
  • 当前VRF的实现主要有两种类:基于RSA的VRF与基于EC的VRF。这两类VRF都是基于非对称加密算法,(具体可参见“Verifiable Random Functions (VRFs) draft-goldbe-vrf-01”)

Algorand的共识分为两个步骤:

  1. 随机选举区块生成者生成区块
  2. 形成共识

Algorand共识算法的提出,被业内认为是POS的一个升级,是彻底消除区块链分叉的可能性。Algorand算法中涉及到两个角色——领导者和验证者,使用基于RSA或者EC的可证随机函数实现随机、公平,达成共识。

我一直比较倾向于尽可能用基础的密码学协议来实现各类数据的传输、存储等保密。在POR共识上,我们认为,使用现代密码学基础协议中的抛币协议,同样可以设计密码抽签算法,实现Algorand算法的效果,且计算复杂度远小于Algorand算法

我们设计了基于抛币协议的密码抽签算法,并实现POR共识。

对照Algorand算法中的领导者与验证者。在我们的算法中在每一轮,由领导者担任抛币协议的抛币者,符合参与竞选验证者的用户扮演猜测者的角色,根据猜测结果来判断是否成功竞选为验证者

这样的抽选制度,

  • 根据抛币协议的随机性质,也实现了抽选的随机性与公平性
  • 根据所选hash的安全性,POR共识的安全性也得到了保障。

下面我具体说下一设计的算法:

该算法的随机性、公平性、安全性都可得到体现与保障。其中,

  • 验证者抽选中,使用抛币协议来实现公平与随机
  • 领导者产生中,借鉴密码学中的HMAC来实现。该算法的随机性、公平性、安全性都可得到体现与保障。

秘密共享体制(secret sharing scheme)

第二个分享是秘密共享体制的应用:秘密共享体制——secret sharing scheme。

密码学大师Shamir、Blakley于1979年分别独立地提出了秘密共享的概念并用不同的方法实现了(k,n)-门限秘密共享方案

(k,n)-门限秘密共享方案

其中 Shamire 使用有限域上的多项式,由于其实现方便简洁,得到推广。秘密共享的思想,用下图可表示出来。

秘密共享的思想

秘密共享被提出后,虽然有不少学者对此进行了研究,但是实际应用中,秘密共享并没有得到广泛的使用。

众所周知,在传统的数据保密中,为了确保数据(特别是像私钥之类的超敏感数据)的安全性,通常采取两种措施:

  • 一是通过加密等方式来实现数据的保密性和完整性等;
  • 二是利用数据备份等方式来防止因丢失、损坏原因等造成数据的不可恢复。

但是,用户面临着这样的问题:

  • 如果将加密后的数据存储在一个存储设备,容易因该存储设备故障等因素造成用户数据的不可恢复。比如腾讯云丢失用户数据事件。
  • 如果将数据生成多个副本并存储在不同的存储设备,则会增加数据泄露的风险。

秘密共享可以在不增加安全风险的前提下增强数据恢复的可靠性

秘密共享的安全性不依赖于未经证明的假定,满足无条件安全,所以可以利用秘密共享方案对重要数据(如数据加密密钥、密钥加密密钥等)进行保护

当然,在秘密共享方案的秘密重构阶段也可能遭受恶意者的合谋欺骗攻击

防欺骗秘密共享方案 可检测欺骗行为并识别欺骗者,能有效抵御欺骗攻击,保障方案的安全性。

秘密共享可使用的场景很多,比如网络数据传输、数据库容灾备份、云计算安全、大数据隐私保护等。

在区块链中,秘密共享可用于账户私钥安全存储与备份,还可以将秘密共享用于交易的多重授权等。我们认为,秘密共享在区块链安全方面会发挥极其重要的作用。

在2011年,我有幸接触了秘密共享的研究,被它独特魅力所吸引,加入了秘密共享研究的队伍。

2011年-2013年,先后设计改进、扩展多个秘密共享方案。例如,对信息论前辈靳蕃先生提出的基于复数旋转的秘密共享方案进行了优化改进,使其可检测共谋欺骗。

基于信息编码中的循环码,原创设计了一个基于循环码的防止并可检测共谋欺骗的秘密共享方案。该方案得到了密码学大家Shamire的肯定与赞赏。

下面以一个例子对秘密共享做一简单阐述。假设用户私钥s为两个符号0xE1 0x26组成,用一个我设计的基于循环码的秘密共享(3,5)-门限方案,可得到5个分存:

s1=0xCE,s2=0x73,s3=0x22,s4=0x6F,s5=0x7E。

任取3个分存,都可以恢复出s={0xE1 0x26}

相关文章

网友评论

    本文标题:(徐兴福)CubeTrain的POR共识机制、抛币协议和共享密钥

    本文链接:https://www.haomeiwen.com/subject/bwotqqtx.html