陈泰元:VRF在公链上的实际应用 | 巴比特加速器技术公开课

陈泰元:VRF在公链上的实际应用 | 巴比特加速器技术公开课

8BTC_Boost 发布在 区块链 57056

巴比特加速器技术公开课是一款全球化的线上区块链技术栏目(Geekhub Global Online),我们会定期邀请行业大咖在线解构区块链技术,社区成员也可以参与直播互动,共同探讨区块链的技术发展与未来。
随着越来越多的区块链采用PoS共识机制,作为一种低能耗、高效率的随机数算法,VRF(可验证随机函数)算法近年来得到了越来越多人的关注。可以帮助区块链扩容,还可以提高安全性,很多人认为,基于VRF的共识机制或许可以改善“不可能三角”问题。

本周,Geekhub Global Online第四期“VRF——安全的桥梁”特别邀请了DEXON创始人陈泰元在线上为大家分享VRF在DEXON链上的应用

微信图片_20190119100610

本次课程分为三个部分:

第一部分:DEXON链的简要介绍 第二部分:VRF在DEXON链上的应用 第三部分:问答环节
 

DEXON链的简要介绍

 

今天介绍VRF如何使DEXON链更加公平、安全、高效。

DEXON是一个偏向商业应用化的公链系统,设计是有一个单链,每一个单链上有blockchain的拜占庭算法。

clipboard (2)_看图王

扩容方面:

使用的是平行链架构,在blocklattice(区块网)里有多条平行链。平行链之间是定宽的,这多条链的交易被分散,这个交易的hash被平均打散在每条链上。另外,total-ordered chain保证了blocklattice的结构,最终可以把所有平行链上的区块决定出最终的顺序。
安全方面:
使用的是拜占庭容错的保障。必须保障区块链系统在数学证明上是安全的,即使有三分之一的节点是坏的节点,也能保证安全运行。
去中心化方面:
DEXON PoP的设计,是特殊的权益证明设计,每一个节点和出块大小的速度都是对称性网络。因为在非对称性网络里,会成为被攻击的目标,恶意节点就会作恶。

clipboard (3)_看图王

DEXON的节点量是有限的。挖矿模型是,越多人参与进来,挖矿第一个月去中心化挖到的币是一样的。但总节点的上限会控制在几千个。越多节点参与挖矿,挖出越多币,新的币会变成新的节点。我们是一个多链的结构,在越多节点上,太多的节点参与是线性增加。

 

VRF在DEXON链上的应用

 

这个时候就会涉及VRF,其用处是产生不可伪造的随机数,且可被验证。系统中的出块都需要抽签的动作,如果VRF产生一个随机数,每个节点是相同的,则是公平的。

clipboard (4)_看图王

VRF在这个系统中有两个作用:

1.VRF用在每一个单链的出块的选择,每一个节点产生新的随机数,来做新的随机数的总参数。

如果某人的public key结果知道,那其他人都可以来验证。把这个hash扣掉,算出绝对值的差。出块的优先级就越高,在一万个节点里,每一个都签出这个证明,就可以出块,这就解决了谁可以出块的问题,并且是随机的。

clipboard (5)_看图王

2.VRF是epoch(轮次)的转移,每一个epoch都必须重新产生Ri。

为什么每个小时要产生一个Ri,因为每个小时的节点是会进进出出,比如我在这个小时我有100个节点,到下一个小时,我有200个节点,再下一个小时我有300个节点。先加入的节点,如果新加入Ri,我就可以调整刚刚在函数里的私钥,因为我可以知道哪个私钥对我更有利。所以我们必须防止这件事情发生,所以每一个周期我们会充置这个Ri的CRS。

怎么做呢?在我们系统里,我们会跑DKG,这个DKG与DFINITY的DKG是一样的。

一旦跑完DKG后,我就可以阈值签名。签在epoch就可以产生新的随机数,这个随机数就可以出现在下一个,我可以保证这个随机数是无法篡改的。这个Ri+1就可以保证是随机的。这个新加入的节点就没办法确定是什么,就很难攻击这是什么。这两个VRF都是在不同的情况下保证去中心的随机数。 总结来说,这两个VRF都是在保证去中心的随机数。

clipboard (6)_看图王

还是讲VRF的作用,刚才说每一个epoch会产生一个随机数,这个随机数会出现两个群,一个群是先选出下一个epoch的CRS的群主,比如有一万个人会去跑DKG,它的复杂度会是一万的三次方,这不可能实现。所以,必须从一万个节点里选出一个比较小的节点的集。从一万个集合里中选出一万个CRS群主,这个群主在集合里只有四百个人,这个DKG的复杂度是400的三次方,在实物上,400的三次方是可以跑。在我们实验里,大概1秒钟可以结束,就是非常快。

这样跑出来之后,还需要节点(note set),CRS是为了跑出下一个下一次epoch“i+1”,而且产生新的随机数。而note set是在跑每一个链的单链,它上面的拜占庭容错的出块群都可以出块。假设100条区块链,抽出第一条链出块,只有400个,400个人里共识的效果必须很高,400个节点成本很低,才可以做到每个节点出块。我们能做出网络有多快,系统就有多快。

 

问答环节

 

Q:如果只能选一个答案,你认为公链最重要的特性是什么?你们又是怎样打造这个特性的?

A:以公链的性质来说,去中心化、安全性、扩容性都很重要。我会选择去中心化和安全性,只有真去中心化系统才可以用,否则我就用阿里云就好了。

VRF在去中心化方面扮演很重要的角色。如果没有随机数,就很难增加节点的增量,如果有随机数,节点量变多,就能随机出一个比较小的委员会做共识,这样成本就会很低。如果很多节点就变得很低,其他节点就变得很高,这是不可行的。安全性我们用的是拜占庭算法。

——————End——————

以上为本次课程的主要内容,若想了解更多:

1.请添加小助手微信:btm_11,回复“公开课”,即可入群回看本次课程;

2.点击巴比特加速器千聊直播间主页,观看往期课程。

评论(1)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • kcc2017neo 2019-01-20
    昨天看这照片还以为宝二爷做了美颜[允悲]