主页 > 下载最新版imtoken钱包 > 带你全面了解以太坊大都会(metropolis)的特点

带你全面了解以太坊大都会(metropolis)的特点

下载最新版imtoken钱包 2023-10-03 05:09:09

作为以太坊的里程碑事件,Metropolis 终于来到了我们身边。 以太坊开发团队计划于 9 月 18 日在测试网上对“大都会”(Metropolis)进行至少 3 周的测试。 如果测试正常,“Metropolis”将部署在主网上。 因此,最早升级到“大都会”阶段的时间是10月9日(译者注:实际部署时间有所延迟)。 那么,问题来了:

这些问题的答案可以在本指南中找到。

(一)以太坊“大都市”的四个阶段是什么

这不是以太坊第一次升级,也不会是最后一次。 以太坊不仅被设计为一种货币模型,而且还是一个去中心化的应用平台。 在最终达到这个目标之前,需要经历不同的成长阶段,而在每个阶段,以太坊都会引入不同的特性,让系统更加稳定和强大。 以太坊完整的发展路线分为四个阶段,分别是“Frontier”、“Homestead”、“Metropolis”和“Serenity”。 “大都会”是以太坊发展四个阶段中的第三个。 随着它的到来,以太坊将增加许多有趣的功能。 以下是一些将对以太坊产生重大影响的功能,即:

(二)“大都市”的四大特征

特征一:zk-Snarks

“大都会”最大和最重要的特点是 zk-Snarks 的实施。 zk-Snarks的全称是Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,即“简洁非交互式零知识证明”。 zk-Snarks 基于“零知识证明”(ZKP)。

什么是“零知识证明”?

“零知识证明”由 S.Goldwasser、S.Micali 和 C.Rackoff 在 1980 年代初期提出。 它是指证明者在不向验证者提供任何有用信息的情况下,使验证者相信某个断言是正确的能力。 “零知识证明”本质上是一种涉及两方或多方的协议,即两方或多方完成一项任务需要采取的一系列步骤。 证明者向验证者证明并使他相信自己知道或拥有某个消息,但证明过程不能向验证者泄露关于已证明消息的任何信息。 大量事实证明,“零知识证明”在密码学中非常有用。 如果能够利用“零知识证明”进行验证,将能够有效解决很多问题。 “零知识证明”的建立必须具备以下三个要素:

“零知识证明”不是数学意义上的证明,因为它出错的概率很小,作弊者可能通过虚假陈述来欺骗证明者。 换句话说,“零知识证明”是一种概率证明而不是确定性证明。 但也有一些技术可以将误差降低到可以忽略不计的值。 零知识的正式定义必须使用某种计算模型,最常见的是图灵机。

下面举两个例子来说明零知识证明:

1)假设有一个房间只能用钥匙打开,其他任何方法都打不开。 爱丽丝要向鲍勃证明她拥有房间的钥匙,有两种方法:①爱丽丝把钥匙给鲍勃看,鲍勃用钥匙打开房间,从而证明爱丽丝拥有正确的房间钥匙. ② Bob确认房间里有物品,Alice用自己的钥匙打开房间的门,然后拿出物品给Bob看,从而证明她确实有房间的钥匙。

后一种方法属于零知识证明。 好处是在整个证明过程中,Bob 永远看不到密钥的模样,从而避免了密钥的泄露。

2)这是一个很经典的例子:有一个圆形的走廊,有一个缺口,出口和入口的距离很近(眼睛距离以内),但是在走廊的中间某处有一扇门可以只有用钥匙才能打开,Alice 需要向 Bob 证明他拥有这把门的钥匙。 使用零知识证明以太坊如何产生,Bob 看着 Alice 从入口进入走廊,然后从出口走出走廊。 此时 Bob 并没有得到关于密钥的任何信息,但是可以证明 Alice 有密钥。

以太坊官网以太坊_sitejianshu.com 以太坊以太经典那个好_以太坊如何产生

以上两个例子就是零知识证明在现实世界中的“运行”,那么如何通过ZK-Snarks实现零知识证明在区块链中的应用呢?

zk-Snarks 是如何工作的?

zk-Snarks 由 3 种算法组成:G、P、V。

G是密钥生成器,需要生成随机变量L(必须保证在任何情况下都不会泄露)和程序C。然后生成两把公钥——证明公钥Pk和验证公钥Vk,两者都是这是公开的,任何人都可以查看。

P为证明者,需要输入三个参数,即要证明的公钥Pk、公开的随机输入哈希值x和待证明的隐私声明w。 P算法生成证明prf,函数表示为:prf = P ( Pk, x, w )

作为验证者的 V 将返回一个布尔结果,true 或 false。 V将以验证公钥Vk、P中随机输入的哈希值x、证明prf作为输入参数进行验证,即V(Vk, x, prf)。 如果证明者正确则返回 true,否则返回 false。

从上面G、P、V的关系可以看出,随机变量L非常重要,必须保密。 因为任何人都可以使用它来生成返回 true 的错误证明,而不管证明者是否知道隐私声明 w。 让我们回到我们的老朋友Alice和Bob,Alice是证明者,Bob是验证者。

Bob 作为验证者做的第一件事就是使用 G 生成证明公钥 Pk 和验证公钥 Vk。 为此,他需要生成一个随机变量 L。如前所述,Bob 必须对 L 非常小心,他不能让 Alice 知道 L 的值,以防 Alice 创建假证明。

现在 Bob 已经生成了两个公钥,Alice 需要生成一个 proof prf 来证明语句的有效性。 她将使用证明算法 P 生成一个证明,证明她知道隐私声明 w 的哈希值 x。 接下来,Alice 将这些证明参数交给 Bob以太坊如何产生,Bob 最终运行 ZK-Snarks 验证算法。 Bob 会使用验证算法 V(Vk, x, prf) 来验证结果,如果返回 true,那么 Alice 是真诚的,真的知道隐私声明 w 是什么。 如果返回 false,则爱丽丝在撒谎,说她知道 w 是什么。

以太坊和 zk-Snarks

以太坊和 Zcash(零现金,一种完全基于 zk-Snarks 的加密货币)正在密切合作。 如果你问我谁是zk-Snarks和区块链结合最紧密的,那无疑是Zcash。 就个人而言,我迫不及待地想看到 Metropolis 和 zk-Snarks 的结合。

特点二:早期实现PoS(Proof of Stake,即权益证明)

在这一部分,我们将详细阐述备受争议的 PoS 协议,并将其与 PoW(工作量证明)进行比较。

PoS 与 PoW

PoW:大多数主流加密货币,包括 ETH 和 BTC,都使用该协议。 PoW 需要矿工(或节点)不断消耗算力进行哈希计算,以找到想要的随机数,这意味着系统需要消耗大量的算力和电力。

PoS:在这个系统中,我们有验证者而不是矿工。 其原理是,作为验证节点,首先要有一定数量的以太币,根据以太币的数量和时间,产生一个区块用于押注验证权益。 只有拥有权益的节点才能有效地验证区块。 当你验证的区块被打包进链后,你将获得与你的权益成比例的区块奖励。 如果您验证了恶意或错误的区块,您的质押股份将被扣除。

为了实现 PoS,以太坊将采用 Casper 共识算法。 一开始,它会是一个 PoW 和 PoS 共存的系统。 区块中的大部分交易仍然使用 PoW 协议,每 100 个区块中就有一个使用 PoS 协议。 指出这样做的目的是在以太坊平台上创建一个真实的测试环境,但是这个协议能给以太坊带来什么好处呢? 让我们慢慢来:

虽然之前已经部署了各种简单的PoS协议,但真正让Casper共识算法脱颖而出的是它可以激励诚实的矿工,惩罚不诚实的矿工。 如果你尝试验证恶意区块,那么很抱歉,你的所有权益将被扣除,并且将严厉惩罚任何不遵守游戏规则的人。

Vitalik 是这样解释的:

想象一下,有 100 个人围着一张圆桌,其中一个人手里拿着很多张纸,每张纸上记录着很多历史交易信息。 第一个人签字后拿起笔递给了第二个人,第二个人也做出了同样的选择。 如果大多数人做出相同的选择,即他们都在同一张纸上签名,那么当你做出与大多数人不同的选择时,每个参与者将获得 1 美元并放火烧你的房子!

然后他补充说,这可能是确保每个人都签署正确论文的正确动机! 所以:

矿工花费大量资金购买设备进行挖矿,随着 PoS 的出现,很多设备变得一文不值; 想象一下,一个花费大量资金建造的超级复杂的矿池突然变得毫无用处!

如果真的无法阻止矿工留在PoW上继续挖矿,那么就会产生三种以太币:ETC、ETH-PoW、ETH-PoS,这绝对是以太坊的噩梦! 因为那样不仅会降低以太坊的公信力和经济价值,还会稀释整个系统的算力比,更容易被黑!

为了保证以太坊矿工能够加入新链,开发团队引入了“难度炸弹”机制。 “难度炸弹”于2015年9月7日上线,要了解“难度炸弹”的工作原理,我们首先需要了解什么是“难度”和挖矿。

什么是“难度”,它是如何运作的?

“难度”的概念起源于比特币。 比特币诞生之初,因为挖矿的人比较少,所以挖矿比较简单。 只要使用电脑,任何人都可以从事挖矿活动。 随着比特币越来越受欢迎,矿工的数量也在增加。 为了防止所有的比特币都被过早地开采出来,中本聪从一开始就在比特币中引入了难度系统。

难度系统的工作原理大致如下:矿工利用自己的计算机算力进行解密。 解密过程是在已经哈希过的区块中随机加入一个随机字符串(也叫随机数),然后再对整个字符串进行哈希。 如果结果数小于某个值,则认为解密正确,并将这个新块添加到链中。 然而,找到这个随机数通常是极其困难和随机的,这是挖矿的核心。

这个过程也可以简单概括如下:

比特币的难度每 2016 个区块调整一次。 难度系数与区块生成速度成正比。 比特币每 10 分钟产生一个新区块。 如果出块时间小于10分钟,难度系数增加; 否则,难度系数降低,比特币调整难度系数,保证出块时间可以一直保持在10分钟左右。