Algorand声称能解决基于区块链的三难困境

2019-05-17 14:12 栏目:经验之谈 来源: 查看()
今天的区块链并不完美。比特币10多年前首次发布,但它仍面临着低吞吐量和高交易成本的问题。多年来,以太坊一直在推动更新,但几乎没有比特币在可扩展性方面做得很好。出现这个问题是因为区块链的所谓三难问题。

Algorand声称能解决基于区块链的三难困境

在本文中,我将介绍区块链的三难问题,Algorand是什么,以及他们如何尝试以高级方式解决它。本文假设您具有区块链及其相关术语的一些基本知识。

区块链的三难问题是什么?

三难论是指三种选择,但最多只有两种可能性。在区块链的三难选择的情况下,有三个选项:

·安全
·可扩展性
·权力下放

如果建立了三难,那么只有两个选择是正确的,这意味着没有好事发生。

如果没有权力下放,我们仍然基本上处于今天存在的同一系统中。:排他性和神秘感。这包括具有少量“表示”的项目——这不是真正的分散化。

没有安全性,交易可能会凭空消失。你可以从别人那里得到钱,然后给他们提供产品或服务,但过了一段时间,你意识到你根本没有得到钱。

最后,如果没有可扩展性,网络将会变得缓慢且容易阻塞(记得当猫正在蓬勃发展时,以太坊会发生什么?)这不好,因为我们想建立一个全球实时网络。

区块链应该做什么?

区块链基本上有两个要求:

· 使其具有防篡改和可追踪性。这是通过单向散列完成的,包括最新块中最后一个块的散列。几乎所有区块链都这样做,在这种情况下没有太大区别。

·生成新块。如何选择要添加到链中的块?这是一个棘手的问题,并且使用不同的一致性算法确定不同的区块链。

解决这个三难问题归结为开发一种能够同时完成这三件事的共识算法。

流行的共识算法及其缺陷

工作量证明(PoW)

PoW因其用作Satoshi Nakamoto的比特币的一致算法而臭名昭着。在撰写本文时,以太坊仍然使用PoW。尽管该算法已被证明是可靠的,因为它已经运行了10多年,但它存在很多问题。

·不可扩展:在PoW中,“矿工”需要在他们的机器上解决一个非常复杂的密码问题。世界上第一个这样做的人有权将新的块附加到链条上。这个过程很昂贵,因为解决这个问题需要大量的计算能力和功率。除了获胜的矿工之外,几乎每个人都在赔钱,因为他们只是花时间尝试解决难题。

·事实上的集中化:虽然PoW本身不是一个集中的共识机制,但由于成本高,比特币挖掘实际上已经随着时间的推移而集中化。当今世界的采矿业使用一块耗费大量电力的专用硬件。在个人电脑或笔记本电脑上进行采矿是完全没有价值的,可能会亏本。由于利润需要巨额投资,比特币的区块链主要由三个采矿池控制。

 ·容易受到51%的攻击:如果一个PoW链的主要矿工串通,或者恶意行为者可以某种方式控制51%的网络矿工的哈希率,他们就可以同意“假块”并控制自己整个链。另有49%的人同意他们的决定并不重要。这使得实际浓度点非常可怕。

·Fork:由于传播此信息的延迟,网络现在看到下一个块的多个候选。这个分支称为fork,fork可以存在一段时间,甚至可以通过添加新块来扩展。但最后,除了一个叉子外,所有的叉子都会消失。这将导致交易的不确定性和延迟,因为您无法完全确定您的交易是否已完成。对于比特币,建议等待6个块以确保事务是最终的,因为在添加6个块之后,进入fork链的可能性非常低。但是,这可能需要一个小时,这并不好。

权利证明(DPoS)

在DPoS中,社区授权一组称为“委托”的用户来选择下一个块。该算法应用于EOS。但也有一些缺陷: 

·DPoS基本上是直接集中的。当您希望网络为数百万用户运行时,选择将哪个块附加到链后面的固定数量的委托是没有意义的。长期依赖选定的代表是非常危险的。

·可以停滞不前。由于只有有限数量的节点可以完成所有艰苦工作,攻击者可以识别它们并阻止网络运行,例如通过DDoS在委托节点上执行操作。

保税权利证明(BPoS)

正如许多人愿意做的那样,BPoS允许在线用户以他们无法达到的“联系”形式在桌面上投入一些资金。这为他们提供了网络上的一些功能,这些用户可以对链进行身份验证和添加新块。他们的想法是,如果他们采取恶意行为,他们将失去存款。这有一个非常明显的缺陷:

·网络的普通用户没有足够的可支配资金来购买债券。恶意行为者更有可能将巨额资金投入他们的赌注,这将使他们完全控制区块链。如果回报是数十亿或数万亿美元,他们可以承受数百万美元的损失。

Algorand的Pure Equity Proof(PPoS)

Algorand解决这些问题的方法是PPoS算法。 PPoS不要求用户投资债券,只要求他们先持有债券。这并不是试图通过担心罚款来保持用户的诚实,而是为了让“少量的钱作弊变得不可能,而且大多数钱作弊都是愚蠢的。”当大多数钱都在诚实的人手中时,这种算法是安全的。

实施纯股权证书

在顶级,Algorand分两个阶段构建一个新的块:

在阶段1中,随机选择令牌并且选择令牌的所有者以建议下一个块。
在阶段2中,从网络中的所有令牌中随机选择数千个令牌。选择这些令牌的所有者形成阶段2委员会,其将验证和批准阶段1中提议的块。由于令牌是随机选择的,而不是所有者,因此可以选择某些成员k> 1。曾经并且在董事会上有k票。

这有多安全?

这个问题的答案有点哲学。核心假设是,在任何社会中都有一些坏人。也许1%可能是2%。如果一个人生活在一个特别危险的社会,甚至可能是10%或20%。但是,任何社会都不会有坏人,否则社会就不会存在。

将算法和网络视为一个社会。让我们假设最坏的情况并考虑网络上20%的令牌属于恶意参与者。然后,1/5次,为阶段1选择的令牌将由不良参与者拥有。假设他们告诉一些X是用户块,他们告诉其他用户该块是Y,并且他们试图引起社会分歧。

Algorand网络上的令牌数量非常大,接近2256(取决于总投票权)。选择令牌的概率为块~2990/2256投票。因此,委员会投票的规模接近平均2,990。达成共识的门槛是2,267票。由于对手持有20%的股份,投票给坏人的票数预计为2990/5=598(实际数字基于泊松分布),而诚实选民的预期数量约为2990 * (4/5)=2239.

如果对手能够获得超过两个不同值的阈值的投票,分割链并在网络上引起分歧,他们将获胜。

例如,让我们看看当诚实投票的数量恰好是2239的平均值时会发生什么。要赢得对手,他们需要[(2 * 2267)-2239]/2票才能赢得——或1147.5票。由于投票数是一个整数,他们需要≥1148票才能获胜。然而,如上所述,投向对手的投票的预期值是598.泊松分布中计算的概率≥1148票大致等于E(X)=598(5/1087),这非常非常小。

但是,该算法最有趣的问题尚未得到解答。谁决定这个委员会?

如何选择用户成为委员会成员

如果我告诉你该委员会是由Algorand(该公司)选出的,那将是一个高度集中的解决方案并且陷入两难境地。

如果我告诉你,用户互相交谈,直到他们决定谁是会员,这是一个超级慢的系统,因为你如何确定你相信别人可能永远不会导致选择。

这是一个有趣的地方。委员会成员选择自己的。为了成为委员会的成员,这些节点在所有帐户上运行可验证密码的“彩票”,如果他们的任何代币有彩票,他们将被选为委员会成员。此彩票独立运行,不与网络上的其他节点通信。因为它可以通过密码验证,所以没有人可以改变他们的彩票机会。无论你有多少计算能力,你都无法改变被选中的机会。

当用户运行抽奖时,有两种可能的情况:

他们的代币没有彩票。在这种情况下,他们对邻居的看法被忽略了。
2.如果某些k≥1个代币有彩票,则在这种情况下,用户获得“中奖彩票”(短密码证书)以证明他们已经赢得了彩票。然后,他们将票据以及他们对块的视图传播到网络的其他部分。

回顾困境

安全

假设一个强大的恶意对手想要贿赂委员会成员并影响他们对下一个区块的投票。我们甚至假设,如果他们知道委员会成员是谁,他们就可以做到。

这是警告的来源,他们不知道委员会的成员是谁。由于彩票是独立运行的,因此只有成员知道他们是否被选中,直到他们将该块的证据和其他意见传播到网络的其他部分。

一旦他们传播了他们的意见,其他节点就会知道委员会成员是谁,但现在就腐败他们为时已晚。他们已经说了他们要说的话,他们的意见已经在网上播出了。没有人能保证他们何时会再次成为委员会成员。因此,恶意对手现在无法做任何事情来阻止他们。

所以基本上,Algorand是安全的,因为首先,对手不知道委员会成员是谁。当他们发现时,已经太晚了。

此外,由于没有人知道委员会成员最初是谁,他们无法使用DDoS等方法攻击他们自己的节点。

可扩展性

任何用户都可以在一微秒内运行“彩票”,无论他们拥有多少令牌。另外,由于所有彩票彼此独立地运行,所以节点不需要等待其他节点首先完成某些操作。这可以在所有节点上同时发生。

选择后,成员会将短消息传播到网络的其余部分。因此,无论网络上有多少用户,都只需要在网络上传输几千条消息。这是高度可扩展的。

权力下放

没有多少用户可以决定下一个块是什么。固定委员会也不是每次都做出这个决定。该委员会是随机安全选择的,根本不需要太多的计算能力。这使网络上的每个人都有机会成为委员会成员并对下一个区域进行投票。

奖励:基本上不会分叉

在Algorand,每次只有一个区块可以获得所需的董事会投票门槛。因此,只要将它们添加到块中,所有事务都是最终的。一旦出现一个区块,您可以永远依赖它,因此交易将立即结束。
微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发