主页 > 钱包imtoken官网 > 一篇轻松看懂Algorand核心原理技术-Pure PoS、PoW

一篇轻松看懂Algorand核心原理技术-Pure PoS、PoW

钱包imtoken官网 2023-03-13 06:20:58

翻译校对及补充说明:未来哥

比特币矿机原理_挖比特币原理_比特币的核心原理

当前的区块链是一个非常大的机会。 今天,我们有一个很好的机会来重启整个世界的金融体系。

数据网络比以往任何时候都更快:消息可以在几分之一秒内传遍全球,成本几乎可以忽略不计。 然而,钱根本不会快速流动。

简单的金融交易可能需要几天时间才能清算和完成。

这个过程也很昂贵:每年浪费 5 万亿美元来处理所有类型的交易费用。 全世界有 22 亿人根本无法获得现代金融服务:他们的交易规模太小,银行无利可图。

有了正确的技术,我们可以做得更好。

区块链承诺 TheBlockchain Promise。 多年来,开发人员和创新者都预感到区块链技术是正确的技术; 区块链是提高金融体系效率和包容性的关键。

简单地说,区块链是一个公共账本。 它是一系列以区块形式组织的交易记录,保证了三个基本属性:

1.每个人都可以阅读每个区块,让区块成为常识。

2. 每个人都可以在未来的区块中记录交易。

3. 任何人都不能改变区块中的交易或区块的顺序。

因此,与其让中央机构保留一个隐藏的数据库(类似于银行)——而不是通过一层秘密数据库来清除交易,我们可以拥有一个每个人都可以读取、写入的公共分类账,但没有可以更改所写的内容。

有了这些属性,区块链的用途基本上是无限的。 事实上,区块链技术可以带来更快、更便宜、更安全、无国界的经济。

一个明显的“不可能三角问题”。 到目前为止,区块链在很大程度上仍然是有抱负的。 也许当今区块链最大的预期性能来自著名的区块链不可能三角。 从 2000 年的证据和迄今为止计算区块链项目的性能来看,这个不可能三角理论基本上表明现有的区块链技术最多只能提供以下三个属性中的两个:

●安全

●可扩展性

●权力下放

事实上,不可能三角形中真的没有很好的选择。

挖比特币原理_比特币的核心原理_比特币矿机原理

如果没有权力下放,我们仍将处于今天存在的金融体系中:排他性和保密性。

没有安全性,交易块就会消失:交付商品或服务的人可能会发现收到的付款已经消失; 债务可以被删除; 对手可能会为了自己的利益而篡改公共分类账。

没有可扩展性,您将只能与小型网络进行交易; 您将无法参与全球金融体系。 任何用户都不应考虑损害这些基本属性中的任何一个。

成本、速度和安全

可以肯定的是,安全性、可扩展性和去中心化不是独立的变量,而是相互关联的变量。 它们共同影响对个人和机构用户都很重要的措施:即速度、安全性和成本。

不够快的区块链无法高度扩展。 但通过增加成本来确保速度并不是解决方案:过于昂贵而无法运营的区块链无法扩展。 事实上,如果成本由每个人承担,很少有人会加入区块链。 如果成本仅限于少数实体,那么系统将过于集中。 任何集中式系统本质上都是不安全的,因为更少的目标比数百万更容易攻击。

1.首先是让区块链不可篡改。 这一需求已通过密码学中最简单和最古老的原语之一解决:单向哈希函数。 本质上,最新块的哈希值作为下一个块的一部分包含在内。 所有区块链都采用这种方法,因此在这方面它们都是平等的。

2. 第二个需求是生成新区块:如何选择新区块追加到链上。 这是真正的挑战,不同的区块链有不同的方法。

一个新区块应该包含一组迄今为止尚未出现在区块链中的有效交易。 问题在于,在任何时间点,两个用户可能看到了相同的区块序列,但对新交易的看法却可能不同。 之所以如此,是因为在分布式账本中,每笔交易都不会立即通过网络传播。 通常,它从每个用户传输到少数其他用户,然后再传输到其他用户,直到交易到达所有用户。 因此,在每个时间点,不同用户看到的新有效交易集可能会有所不同,即使它们有很大的重叠。

综上所述,用户 U 可能认为新区块应该是 BlockU,而用户 V 认为应该是 BlockV。 那么:谁设想 Block 应该附加到链上?

以前流行的方法及其致命缺陷:

已经使用多种方法来选择下一个块:特别是 PoW、委托权益证明和保税权益证明。 但是,所有这些方法都存在以下致命缺陷:

整个系统经济都受少数人的摆布。

这个缺陷是致命的,因为它涉及安全和去中心化。 让一小部分经济体主宰整个经济体的命运,是一颗定时炸弹。

可以肯定的是,如果这些成员行为不端,他们会降低经济中的所有资产,包括他们自己的资产。 但如果他们自己的资产只占整体经济的一小部分,他们也可以轻松弥补损失,增加一些利润,并对其他所有人造成巨大损害。 经济的一小部分不应该能够控制整个经济生态系统。

让我解释一下以前的方法如何有这个缺陷:

工作证明:

第一种方法是工作证明 PoW,中本聪将其著名地用于比特币比特币的核心原理,并被许多其他区块链继承。 在这种方法中,用户竞相在非常高的水平上解决一个非常复杂的密码难题。 第一个解决难题的人有权将下一个块附加到链中。 工作证明有几个缺陷:

比特币矿机原理_比特币的核心原理_挖比特币原理

第一个缺陷:PoW 无法扩展。 工作量证明非常慢。 比特币的密码难题很难保证每 10 分钟找到一个解决方案,无论有多少矿工尝试解决密码难题。 贵和快我们可以理解,但是贵和慢就很难理解了。 世界很大,每10分钟一笔交易是不够的。

第二个缺陷:POW 导致中心化的结果。 工作证明 PoW 导致权力的巨大集中。 这种中心化是 PoW 昂贵且浪费的结果。 矿工执行的计算量 - 即试图解决密码难题的用户 - 是惊人的。 今天的挖矿使用成排的专用硬件并消耗大量电力。 一个矿工赢得了比赛并产生了一个新区块,所有其他人的努力都被浪费了。 如果没有比特币目前提供的补贴,在比特币区块链上发布单笔交易的成本约为 20 美元。 如果你想在日常交易中使用区块链,比如买一片披萨,或者如果你想使用它,你可以为目前金融系统无法服务的 22 亿人提供金融服务。 如果普通用户试图用她的笔记本电脑解决密码难题,她就会赔钱。 无论输赢,她都必须支付在笔记本电脑上运行计算所需的电费。 这股力量或许并不大,但胜算却小得让她在期待中亏了钱。

微薄的利润只能由专业矿工赚取,他们购买了机架和超专业采矿设备的必要资本支出。 因此,只有他们参与区块生成。 此外,矿工与矿池合作。

今天,比特币的区块链仅由三个矿池和以太坊的两个矿池控制。 这些矿池可以根据自己的决定重写数据库,或者如果他们被贿赂:他们可以擦除块或更改块的顺序。 工作量证明逐渐将去中心化系统转变为极其中心化的系统。

第三个缺陷:工作量证明不安全。 正如我们所说,任何去中心化的区块链在设计上和事实上都是不安全的。 然而,工作量证明还有其他漏洞,特别容易受到网络攻击。 区块链最终是通信协议,任何此类协议都在底层通信网络上执行。 因此,攻击者可以攻击协议——例如,通过发送不同于规定的消息——或通信网络本身——例如通过干扰路由器、电缆等。

PoW 工作量证明的不确定性可能被低估,因为当前分析区块链安全性的方法存在缺陷。 这种分析通常只关注协议攻击,忽略网络攻击,尤其是在工作量证明的情况下,这可能是致命的。

例如,在工作量证明区块链中,能够将通信网络划分一两个小时的对手可以不受惩罚地进行双花。 在成功的分区攻击中,攻击者阻止属于一组用户 A 的用户发送的消息到达单独的一组 B 中的用户,反之亦然。 网络分区并没有引起太多关注,因为它被认为太昂贵而不实用。 然而,一旦收益足够高,网络攻击的成本可能是合理的。 真正的无国界经济可能耗资数万亿美元。 如果对手非法获得数十亿美元,他可能愿意“投资”数百万美元。

第四个缺陷:分叉。 工作量证明的另一个缺点是分叉是不可避免的。 每当两个或更多用户在几秒钟内解决密码难题时,链就会分叉,因为用户现在可能会看到下一个块的多个候选者。 一个分叉可能会继续存在一段时间,甚至可能通过添加新的区块来扩展所有分支。 但最终,除了一个分支之外的所有分支都会死亡,并且死亡分支中的所有块都会消失。

分叉是不受欢迎的不确定性和延迟来源。 如果给你的付款出现在最近添加到链中的区块中,你不能认为自己已经付款并发货了。 这是因为一些分叉可能会克服当前的链条,并且您的块可能会在死分支上结束并消失。 您需要等待一系列区块添加到您的付款中,然后再考虑自己付款,以最大程度地减少软分叉的机会,并且包含您的付款的区块最终会出现在死分支上。

你要等多久? 有些人建议在你的区块之后添加六个区块,以确保你的区块将保持在链上。 如果支付给您的款项数额巨大,其他人则建议等待更长时间。 因此,在对交易的最终结果有合理信心的情况下,您不必等待十分钟,而实际上必须等待数小时。

一些人建议让密码谜题更容易加速认证过程,例如每分钟而不是每 10 分钟找到一个解决方案。但是,通过这样做,在两秒内获得两个解决方案的可能性显着增加。 该系统可以应对偶尔的软分叉,但不能应对非常频繁的分叉。 费用、缓慢和不确定性确实是工作量证明 POW 方法的主要缺陷,但与其致命缺陷相比,这些都显得苍白无力。

工作证明的致命缺陷。 回想一下已经讨论过的致命缺陷:整个经济由一小部分经济主导。 在工作量证明中,经济的这一小部分由矿工拥有。 由于矿工只拥有工作量证明区块链中的一小部分资金,因此该链条并不安全。

委托权益证明 委托权益证明

一种不同的方法是委托权益证明 (PoS)。 这是一个非常简单的想法。 社区授权一些特殊用户,委托人,至少在一段时间内选择下一个区块。 (例如,在EOS中,受托人的数量是21。)因此,DPoS从一开始就是中心化的。 希望被选中的代表诚实地开始。 但是,依赖需要长期保持诚实的节点是有风险的。 我们再次认为整个经济是由一小部分经济主导的。

事实上,在 DPoS 区块链中,受托人可能拥有系统总资金的一小部分,但当且仅当大多数受托人诚实守信时,整个区块链才是安全的。

其他安全问题。 即使假设所有代表都将始终保持诚实的铁定保证,他们也是脆弱的。 特别是,它们可能会因拒绝服务 (DoS) 攻击而瘫痪。 在此类攻击中,攻击者用数以万计的垃圾邮件轰炸他选择的任何用户,导致该不幸用户的缓冲区溢出。 如果超级节点被如此轰炸,他将无法履行将新的有效交易整理到下一个区块的职责。 区块链将陷入停顿。 DoS 攻击非常便宜,可以立即安装,不仅可以对付 21 人,甚至可以对付 1000 人。 由于超级节点已经广为人知,即使它们只持续一天或一小时或一分钟,高级对手也可能通过快速的 DoS 攻击击倒所有超级节点。

Bonded Proof-of-Stake 质押权证明

BPoS 允许 20 个用户、200 个用户以及愿意在桌面上放一些钱的人——即债券——一种他们无法再触摸的债券。 这些节点是我们都选择代表我们生产区块的用户。 如果他们行为不端,他们的钱将被没收。

比特币的核心原理_比特币矿机原理_挖比特币原理

这种方法行得通吗?

让我问一个更简单的问题:你有多少可支配收入可以抵押? 答案很少。 因此,Bonded-PoS 不仅使之成为可能,而且实际上使拥有大笔资金的大盗很容易为了控制区块链而投入不成比例的资金。

但那又怎样?

如果他们行为不端,他们就会失去承诺的钱。 但真正去中心化、可扩展且安全的区块链应该保护数万亿美元的资产。 由于不当行为,恶意用户将赚取数十亿美元。 既然如此,你认为他可能会被没收几百万美元吗? 这只是做生意的代价,相比之下也是小菜一碟。 再一次,在 Bonded-PoS 中,我们有同样的致命缺陷:整个经济由一小部分经济主导。 事实上,在受保护的 PoS 中,经济的一小部分由(所有者)“抵押他们的钱的人”组成。

总之,以前的方法有几个缺点。 我们需要更好的设计。

Algorand 的逻辑和纯权益证明。

Algorand 的逻辑很简单:它将整个经济体的安全与大多数人的诚信挂钩,让少数经济体无法掌控整个经济体的命运。

Algorand 基于新的权益证明:PurePoS。 本质上,Pure PoS 不会因为害怕罚款而试图让用户保持诚实。 更确切地说,它让坏人不可能用小钱作弊,但可以愚蠢地用大钱作弊。

在 Algorand 中,没有永远质押的钱。 所有的钱总是在它应该在的地方:在你的钱包里,随时可以花,或者在 Algorand 区块链为你提供的各种金融工具里。 当你考虑系统中的所有资金时,无论它在哪里,当大部分资金掌握在诚实用户手中时,整个系统都是安全的。

正如我们所说,一小部分基金的所有者不可能损害整个系统,而大多数基金的所有者为了使他们的资产贬值而做出不当行为是愚蠢的。

例如,在 PoW 或 BPoS 中,少数用户可以阻止其他用户进行交易。 在 Algorand 中,只有大部分资金的所有者才能阻止其他用户进行交易。 但如果他们这样做,货币的声誉将受到极大损害,货币将不再被普遍接受,其购买力将大大降低。 对于大多数基金的所有者来说,这不是一个好结果。

实施 PurePoS。

现在让我们看看 Algorand 如何使用 PurePoS 来选择下一个区块。

还记得不可能三角问题吗? 我们希望区块生成同时具有可扩展性、安全性和去中心化性。

在 Algorand 的一个非常高的层次上,一个新区块分两个阶段构建:

● 在第一阶段,随机选择一个代币,其所有者是建议下一个区块的用户。

● 第二阶段,从系统当前所有代币中选出1000个代币。

这 1,000 个代币的所有者被选为第二阶段委员会的成员,该委员会批准第一个用户提议的区块。

挖比特币原理_比特币的核心原理_比特币矿机原理

因此,委员会的某些成员可以被选出两次或更多次,通常是 k 次,在这种情况下,该成员将在委员会中拥有 k 票以批准下一个区块。

为什么需要第二阶段?

在任何社会中,区块链也不例外,总有一小部分不良行为者被发现; 说1%。 也许是 2%。 如果一个人不幸生活在一个非常危险的社会中,那么其中10%的人很可能都是坏人。 甚至可能是 20%! 但在任何社会,坏人永远不会占多数; 否则,就不会有社会。 只要大多数成员遵守规定的规则,社会就会稳定和谐。

假设 Algorand 中 10% 的代币属于不诚实的人。 那么,在第 1 阶段选择提议区块的用户中有十分之一可能是坏人。 所以他可以告诉一些用户这个区块是 X 而其他人这个区块是 Y 等等,从而在什么是区块链上产生分歧。

阶段 2 消除了这个问题。 事实上,如果你随机挑选 1000 个硬币,当最多 10% 的硬币是不诚实的人时,所选硬币中的大部分属于坏人的概率,即委员会的大多数投票都是坏人的概率actors 的概率很低,可以忽略不计。

假设,这一次,你没有被选中提议一个区块。 它也没有被选为批准提议区块的委员会成员。 但是你看到给定的区块 B 已经被委员会以 700 票通过。 然后,你就会知道 B 确实是下一个块。

一个关键问题。 在这个高层次的描述中,自然会出现几个问题。 让我们从最明显的开始:随机选择委员会由谁来担任?

假设我告诉过你我做到了。 然后你可能会说“这是有史以来最集中的系统,你是它的中心!” 假设我告诉你所有用户讨论直到他们同意一个由数千名成员组成的委员会,然后他们同意这个问题。 那你可能会告诉我,人性如此,一辈子都不够选出我们需要的一千个委员。

Algorand 采用了一种非正统的方法:委员会成员自己选择。 你可能会想“什么?那是个糟糕的主意!因为如果我是一个糟糕的演员,我会选择自己加入这个委员会。接下来。在那之后……”但没那么快。

要加入委员会,您的一枚代币必须独立赢得机会,即加密公平彩票,您可以在自己的计算机隐私中独立运行——也就是说,无需与任何其他人交谈。 由于彩票在密码学上是公平的,因此您无法改变被选中的机会。 (即使是拥有大量计算资源的民族国家也无法提高被选中的概率。)

要从例如 10,000,000,000 个令牌中选择 1,000 个随机令牌,每个令牌的选择概率为 1,000/10,000,000,000 - 即概率为 10,000 分之一。

因此,一旦用户看到提议的区块,她就会问自己:我可以成为选择批准区块的委员会的一员吗?

我会得到多少票?

为了回答这些问题,她在她的笔记本电脑上为她拥有的每个代币举办了一场加密抽奖活动。 (如果用户有 n 个令牌,额外的算法技术基本上允许她运行一个完整的彩票而不是 n 个单独的彩票!)一旦用户运行她的抽奖,就会发生以下两种情况之一。

要么她的代币都没有中奖,在这种情况下,她对区块发表的任何意见都将被忽略。 或者其中一些 k > 1 个代币中了彩票,在这种情况下她得到了一张中奖彩票,这是一个简短的证明,每个人都可以轻松证明她在委员会中有 k 票。 在后一种情况下,她通过网络传播 (i) 证明她有 k 张票的中奖票和 (ii) 她对该票的看法。

解决区块链不可能三角! 让我争辩说,这个方法的第一个版本是——终于!

- 可以同时具有可扩展性、安全性和去中心化性。

1. 可扩展性。

比特币矿机原理_比特币的核心原理_挖比特币原理

用户运行自己的彩票需要多长时间? 无论她有多少令牌,大约一微秒。 这确实是超级快。 (此外,所有彩票都是相互独立运行的,因此用户无需等待其他用户完成彩票运行。)

一旦被选中,每个成员都会向网络传播一条简短且立即计算的消息。 因此,无论系统中有多少用户,需要传播的消息最大数量为1000条短消息。 这是可扩展的吗? 是的!

2. 安全。

现在我们安全了。 假设我是一个非常强大的对手,能够随时随地腐蚀用户。 显然,我想腐蚀委员会成员,但我有一个问题:我不知道他们是谁。 之所以如此,是因为委员会成员是通过秘密运行的、加密公平的个人抽签选出的。

因此,只有他们知道自己是谁,直到他们通过网络广播他们的中奖彩票和他们对区块的看法。 只有到那个时候,我才能明白委员会的成员是谁,即使我有超能力,我也可以一下子腐蚀整个委员会。 但那又怎样? 在这一点上腐蚀它们为时已晚。

无论委员会成员说什么,他们都说了,他们的获胜选票和对区块的上下意见在整个网络中传播。 我无权将他们的信息放回瓶子里,就像政府无权将维基解密病毒传播的信息放回瓶子里一样。

换句话说,Algorand 方法是安全的,因为事先,对手不知道谁会腐败,而当他知道时,腐败是无用的。 将其与拥有固定的 1000 人的强大委员会进行对比。 如前所述,即使委员会掌权一分钟,它也很容易受到 DoS 攻击。 如果委员会掌权的时间更长,比如一个星期,成员们甚至可能通过贿赂等传统手段在现实世界中被腐蚀。 但是,在Algorand的情况下,不知道DoS给谁,委员会一发话,DoS就没用了。

3.权力下放。

最后,我们来谈谈权力下放。 是否有少数用户负责选择下一个区块? 不是没有。 也没有一个由 1000 人组成的固定委员会负责批准该区块。 这一次,委员会是随机(秘密)选出的。 下一次,将随机(秘密)选择一个不同的委员会。 每个人都有机会参与新区块的产生。

Algorand 是一条不能分叉的链。

Algorand 技术的另一个优势是它的链永远不会分叉。 这是因为只有一个区块可以具有所需的委员会投票门槛。 因此,Algorand 中的所有交易都是最终的。 一旦一个区块出现,你就可以指望它永远成为链的一部分。 如果新区块包含给您的付款,您可以认为自己已付款并立即发送货物。

金融世界已经有其自身的风险,没有必要将其与“停止消失”的额外不确定性混合在一起。 顺便说一句,当我说 Algorand 的链永远不会分叉时,我有点在撒谎。 事实上,Algorand 中可能会出现分叉,但这种情况非常罕见。 Algorand 中分叉的概率设计为 10⁻¹⁸(10 的负十八次方)。 这种可能性看似极低极奇的选择,却有着自然而然的解释。 物理学家告诉我们,10¹⁸(十的十八次方)恰好是大爆炸以来的秒数。

换句话说,如果你生成一个块,顺便说一句,非常好的剪辑,你可能会看到一个软分叉比特币的核心原理,但你必须等待宇宙的生命周期才能看到它。

以上内容是对Algorand项目通俗易懂的讲解,希望对大家有所帮助。

相关具体开发者和SDK链接如下:

开发工具包:

JavaScriptSDK:

测试网申请链接:

Github 仓库链接:

开发者网址: