LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > Annchain深度之:分布式密钥产生技术DKG

Annchain深度之:分布式密钥产生技术DKG

2019-07-10 不详 来源:网络
很多密码学应用要求一个可信的权威持有密钥,但这种系统存在单点故障和密钥托管的问题。分布式密钥产生DKG(distributed key generation)通过多方参与,计算共享的公钥与私钥集,解决上述问题, 分布式密钥的产生不依赖任何可信的第三方。

同理,区块链作为分布式系统,区块链中的节点通过DKG分布式地产生密钥,克服单点故障以及单个节点不可信任问题。

在(n,t)-DKG中, n为节点数量,t为阈值, DKG协议允许n个节点共同产生密钥,使得任何数量大于阈值t的节点子集都能使用该共享密钥,然而任何数量少于阈值t的节点子集都没有对该共享密钥的任何知识

在Annchain OG共识算法中,采用了可验证随机数(VRF)和分布式密钥分发(DKG),以保障在公网环境下公平选举出Sequencer的潜在节点,不定期进行轮换。同时采用门限签名(BLS)技术保障了委员会节点出块的权威性和安全性。

本次我们将拆解DKG在Annchain中的实现,欢迎留言拍砖。

作者介绍

Shor,Annchain核心开发成员,毕业于中科大。负责Annchain高性能p2p网络、通信与编码、基于DAG的高效交易同步、交易执行逻辑、wasm虚拟机智能合约平台、rpc等模块的研发以及系统优化。

可验证秘密共享

可验证秘密共享 (verifiable secret sharing, 简称VSS) 是DKG的基本构造块 ,VSS的概念被Shamir 和Blakley引入。

(n,t+δ, t) -秘密共享:对整数n, t ,δ 满足 n>=t+δ>t>=0 ,一个(n,t+δ, t) 秘密共享协议是被用于一个交易方(dealer)n个节点之间共享一个密钥,使得其中任何t+δ或者更多的节点能够计算密钥s, 但是t个或更少的节点没有关于s的任何信息。

δ=1的秘密共享被称之为阈值秘密共享(threshold secret sharing) ,记为(n,t)-秘密共享。

在一些秘密共享应用中,客户端需要验证持续的交易(deal)来避免交易方(dealer)的恶意行为。一种拥有这种可验证性保证的模式被称之为可验证秘密共享(verifiable secret sharing) VSS
一个可验证秘密共享(n,t)-VSS 模式有两个阶段(phase)组成。共享阶段和重建阶段

共享阶段:一个交易方(dealer)在n个节点之间分发一个秘密,K为足够大的密钥空间。此阶段结束之后,每个诚实的节点持有分布式秘密s中的一个秘密。

重建阶段:每个节点广播它的秘密共享,一个重建函数用于计算秘密或者判断出是恶意的节点。对于诚实的节点, 而对恶意节点可能不同于甚至没有。

可验证秘密共享VSS要满足两个安全要求:

保密性(VSS-WS):一个能够控制t个节点的敌人,在共享阶段无法计算出s。
正确性(VSS-C):重建值应该等于共享秘密s或者每个诚实节点判断出是恶意节点。
任何t+1个或者2t+1个诚实节点能够重建s,所以引入强正确性要求。
强正确性(VSS-SC):敌方用大于2t的节点和重建算法能重建出相同的唯一值s
进一步的, 有的VSS模式需要更强的保密安全性。
强保密性(VSS-S):能够控制t个节点的敌方,除了共有的参数之外,没有任何关于s的信息。

同态承诺

分布式密钥产生

Pedersen引入了分布式密钥产生(DKG)的概念,研发了一个DKG模式。 每个节点运行VSS实例,添加分布式共享(distributed shares),在没有交易方(dealer)的情况下产生组合的共享密钥。与VSS不同, DKG不需要可信方。

一个(n,t)-DKG模式包含两个阶段(phase):共享阶段(sharing phase)阶段和重建阶段( reconstruction phase )

DKG在区块链中的应用

区块链作为分布式系统,区块链中的节点通过DKG分布式地产生密钥,克服单点故障以及单个节点不可信任问题。在Annchain OG共识算法中, DKG与门限签名算法(BLS)结合,DKG的密钥作为门限签名的密钥,保证任意2/3的共识节点对一笔消息进行门限签名,都能够恢复出公钥并进行验证,具有拜占庭容错性。

—-

编译者/作者:不详

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...