网站首页 区块链 乌镇·Conflux CTO伍鸣:让公链的“不可能三角”成为可能 正文

乌镇·Conflux CTO伍鸣:让公链的“不可能三角”成为可能

admin 2020/02/25 区块链 97℃

11[db:标签]8[db:标签],巴比特主办的“2019乌镇世界区块链会议”正式开幕。会议聚集了全球区块链、数字资产、人工智能5G领域的100多名专家和学者、领先的技术专家、意见领袖和热门项目的创始人。会议以“无限应用”为主题,讨论了区块链的应用、技术前沿、行业趋势和热点问题,以促进区块链技术发展和产业创新。

Conflux联合创始人兼CTO伍鸣发表 《让去中心化的公链系统接近最优的性能》 主题演讲。

高亮细化:

1。一个理想的公共链系统应该具有三个特征:A .足够的鲁棒性;b .高性能;c .去集中化。

2。比特币和以太网广场等公共链采用“中本聪共识”,阻断速度慢,吞吐量低。

3。GHOST协议采用最大重子树规则,可以克服分叉带来的安全问题。

4。GHOST协议可以提高阻塞率,而不用担心双花攻击。

5。结构化GHOST方不会让所有块影响主链的选择,只有少数块会影响主链的选择。

6。过去集(PAST set)和纪元概念分别实现了自动模式切换和块顺序确定,因此所有块都可以对系统的吞吐量做出贡献。

以下是巴比特组织的演讲全文:

大家好,我很高兴今天有机会在这里分享Conflux的技术进步。

Conflux是一个高性能的公共链项目。我们将建立一个高性能的公共链系统。所谓的高性能,我们可以获得数千个TPS的吞吐率,约为3,000-6,000。我们的系统可以在半分钟内确认一个事务,而Conflux可以在不牺牲任何去集中化和安全性的情况下实现这样的性能。

让我们先看看问题的背景。随着比特币的出现和发展,区块链变得越来越出名。区块链最具代表性的特点之一是它的分布式账簿,它非常强大,可以提供互联网级别的交易记录。这使得金融体系、供应链和医疗卫生等应用领域出现了许多技术创新。然而,在现有的公共链系统中,它仍然受到性能问题的极大干扰,这使得它在实际场景中着陆时会遇到一些障碍。例如,比特币每秒处理7笔交易,需要1个小时来确认一笔比特币交易。以太网广场每秒30个事务,这需要10分钟来确认。然而,像VISA这样的集中式系统,它可以轻松地提供3000个TPS的吞吐量,并在第二级进行确认。

我们知道公共链系统中有许多组件,不同的组件有不同的性能特征。例如,存储,我们需要存储来存储区块链分类账。网络需要网络交换块和事务。我们需要计算资源来执行这个事务。但公共链条中还有另一个重要环节:共识。当前公共连锁体系的共识是最重要的。我们认识到了这个问题并找到了一些解决方案,所以我们有这样一个团队。我们的团队以姚期智院士为首席科学家,他也是唯一获得图灵奖的中国科学家。另外两位创始人,龙帆和周东,出国留学,回国创业。他们也是国际奥林匹克信息竞赛的金牌得主。

我们认为一个理想的公共链系统应该具有以下三个特征:

1。足够稳健。换句话说,它可以抵抗双重攻击和生存攻击。可生存的攻击意味着您的系统应该随时取得持续的进展。

2。高性能。所谓的高性能意味着系统应该具有高吞吐率和短的事务确认延迟。

3。去集中化。该系统可以容纳数以千计的节点,这些节点可以在未经许可的情况下加入和离开网络。权力下放的好处可以独立于对每个中央实体的信任。

以下是巴比特组织的演讲全文:

为什么Conflux比其他现有系统更好?让我们先看看比特币和以太网是如何工作的。比特币和以太网等分散的公共链部署在P2P八卦网络中。积木和积木组成一条链。该链实际上是一个存储交易记录的账簿。该账簿也将复制到所有节点。尽管权力下放有信任的优势,但它也会受到攻击。任何节点都可以加入网络,也就是说,坏人可以任意构建许多节点来控制成本。因此,比特币和以太网中使用了工作负载证明机制。如果你想影响账簿,你必须支付计算费用。如果你想做这件事,你必须付出代价。

在比特币和以太网中使用“中本聪共识”。一个重要的原则是最长链规则。在“最长链”规则中所说的是,所有好的节点将只把最长的链视为有效的交易记录。这里有一个安全假设,只要优秀的人拥有超过50%的计算能力,最长的链应该由优秀的节点生成。

这种系统通常使用非常慢的块输出速度。比特币每10分钟产生1MB的块,而以太网以非常低的吞吐率产生15秒的块。为什么不能通过直接增加块大小来提高系统吞吐量?然而,简单地这样做是不可能的,因为如果这样做,账簿的结构将如图所示,并且将有许多分支。原因是输出块是并行的,所有节点都是并发的输出块。当块出现时,块在网络上传播需要时间延迟。换句话说,当一个块向上广播时,其他节点不能立即看到该块,它们将与旧块一起挖掘,这将导致分叉。块大小越大,网络上的延迟越长,因此将生成更多并发块,并且将生成更多分支。如果区块产量增加,效果是一样的。

当许多书出现分歧时会带来什么问题?首先,根据“最长链”规则,只有最长链中的块将被认为是有效的,而其他分叉上的块将被丢弃,从而造成网络和处理上的资源浪费。另一个非常重要的一点是,它也牺牲了安全性。具体来说,假设块的数量固定,如果有更多的分支,则最长的链较短。假设最长的块只占所有块的10%,这意味着坏人可以随意篡改你的帐户,只占他们计算能力的10%。

后来,一些研究人员发明了GHOST协议来克服分叉导致的安全问题。在GHOST中,所有节点仍然必须选择一个主链。它选择的规则不是基于最长的链规则,而是基于最重的子树规则。我们还从创建块中选择主链,并选择创建块作为主链。我们将遍历它的子块,例如,原始块有两个子块甲和乙,甲的子树有六个子块,乙的子树有五个子块,因为甲的子树比乙重,我们将把甲加到主链上。根据同样的规则,CEH可以被选入主链。生成新块时,最好跟随主链中的最后一个块。

最重子树规则和最长链规则的区别在于,我们的子树选择不仅是对最长链子树的贡献,也是对包括分支上块在内的主链选择的贡献。在这种情况下,“坏人”必须需要50%的计算力来影响主链的选择。假设a是主链上的一个块。如果坏人想用A上的块来代替A在主链上的位置,他们需要生成比A重的指数(A index),坏人需要超过50%的计算力才能篡改主链上的位置。在这种情况下,我们想要确认一个交易,它需要一个比a. A .大得多的子树来代替a .在主链上的位置,概率随时间而降低。块大小越高,确认时间越短。

使用GHOST协议,可以以高块速率生成块,而不用担心双重攻击。问题解决了吗?不,GHOST也会受到生存攻击的影响。如果好人块被分成组a和组b,则假设该组内的块之间的通信没有延迟,好人和坏人之间的通信也没有延迟。因为两个组之间存在延迟,所以有可能在某一点上,该书将有两个分支,结构a和b。坏人可以秘密地观察该账簿的结构,并秘密地在这两个分支上创建新的块。这些街区不告诉好人。当组a节点生成一些新块时,它会将该节点传递给B,但传输需要一些时间。在这个过程中,坏人首先发生了这件事,所以他告诉乙原来的块秘密挖在乙分叉上,乙会认为原来的乙分叉比甲分叉重,然后它会挖在乙分叉上。相反,坏人会选择正确的时间告诉A它预先在A分叉上挖的块,并且会认为A的节点更重,这个过程可以继续,导致分叉一直保持,即交易无法确认。

这个问题的解决方案叫做结构化GHOST方法。我们不应该允许所有块影响主链的选择,而应该只允许一小部分块影响主链的选择。少量的块会影响主链的选择,这意味着这些块出现的概率相对较低,并且它们同时出现的概率相对较低。在这些影响主链选择的块之间,它们不容易分叉。

例如,上图中的虚线块是没有权重的块,它不影响主链。例如,在某个时刻,一个加权的块出现在A的分叉上,那么B可能不会立即看到它,所以B仍然会在B的分叉上生成一个块。然而,经过延迟后,B迟早会找到一个加权的块。这时,乙可以判断出原来甲的分支比乙的分支重,因为甲上面有一个加权块,那么乙可以在甲的分支上生成一个新的块,从而打破了平衡。

那些没有重量的积木呢?我们仍然希望这些块的事务能够有助于系统的吞吐量,因此我们需要一种确定性排序算法,能够使所有块的事务顺序被一致地确定,从而能够提高系统的吞吐量。但是,这样的系统仍然存在确认延迟的问题,因为我们仍然需要等待足够多的加权块出现,然后才能确认这个块,并且时间仍然很长。

回过头来看刚才提到的两种情况,一种是原来的GHOST方法,它可以在没有攻击的情况下快速确认交易。但是在攻击的情况下没有任何进展。即使这两个系统遭到攻击,有没有办法确保进展?是的,我们的方法之一是GHAST,它允许所有节点选择一个主链,最重的子树规则。我们的主链被称为数轴链(number axis chAIn),我们还发明了一种明确的排序算法,使所有节点能够根据主链对所有块进行一致的排序,从而允许所有块事务对系统的吞吐量做出贡献,从而提高了系统的效率。该系统在原始GHOST模式下运行,从而实现最高效。如果攻击发生,我们的系统会攻击一些块,并赋予它们较小的权重,从而确保系统的进度。

如何自动切换模式和块形成树枝状结构?这里的一个重要概念是过去集。根据这个集合,如果跟随的所有边可以被编辑成一组块,这个块出现在这个块之前,这被称为过去集合(PAST set)。例如,该图显示了块E的过去集合,并且该图显示了块A的过去集合。如何自适应地给块赋予权重取决于块中过去树突的样子。如果发现过去集不够稳定,我们会以1/h的极小概率将h分配给块,将0分配给其他块。书中的每个过去都是固定的,所有节点都可以以一致的方式确定块的权重。在正常情况下,对于块,例如块a,在系统已经运行一段时间之后,书籍结构和书籍的子树将聚集在某个子下,例如在a下,并且a的子树应该占a的所有后续块的大部分

如何确定数据块的顺序,以便所有数据块都能提高系统的吞吐量?我们的想法是引入一个纪元概念,树轴链上的每个块定义一个纪元,其他分叉的块可以按照规则分散到相应的纪元中。以这种方式,根据纪元对块进行排序,并且在纪元内,根据图的拓扑顺序对块进行排序。这种方法可以抵御双重攻击,主要原理是这样的,因为块排序是由树轴链决定的,如果树轴链不变,块排序也不会变。此外,我们的树轴链的选择是基于重子树规则的应用,只有那些计算力超过50%的树轴链才能改变树轴链的选择。基于这两个假设,该系统能够在与比特币相同的假设下防止双重攻击。

确认规则意味着,对于任何事务,我们将首先找到事务所在的纪元以及对应于该纪元的树轴链块。我们可以从理论上估计块被篡改的概率是否小于用户能够承受的风险。如果它小于用户可以承受的风险,我们可以确认交易。正常情况下,确认时间非常短。我们的上层执行环境与以太网智能合同兼容。测试网络已经发布。主网络计划明年3月在Q1上线。

让我们再来谈谈应用程序场景。我们认为Conflux最关注的应用场景之一是跨境支付和跨境汇款。另一个是如何支持更有效的分散式交换。还有一个问题是,如何支持toC最终存款应用程序,以便用户可以享受互联网数据中具有信用价值的数据。我们相信有了像Conflux这样的高性能公共链,这些场景的登陆是可能的。

此外,我们最近在上海市政府的支持下成立了树突状区块链研究中心,以不断推动区块链的技术进步,使中国的区块链技术保持世界领先地位。

http://Shang Jie . lnd . com . cn/chanjingxinxi/jingi/2019-11-11/357736 . html

网站地图