主页 > imtoken官网下载2.0安卓钱包 > 什么是以太坊大都会:终极指南

什么是以太坊大都会:终极指南

首先感谢imToken钱包郭辉同志,第一时间将国外关于以太坊升级的详细解答翻译成通俗易懂的中文资料!

译者注:随着以太坊大都会第三阶段(区块高度4370000)的临近,imToken用户非常关注本次硬分叉的影响。 简单说明:imToken 会处理节点升级和硬分叉带来的所有变化。 用户什么都不用做,预计这次分叉不会产生新币。 为了让大家更好的了解Metropolis技术升级的细节,本文正在翻译中。 欢迎指正。 -- by imToken 郭辉

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

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

(一)《大都会》中以太坊的四个阶段是什么

这不是以太坊第一次升级,也不会是最后一次。 以太坊不仅被设计为一种货币模型,而且还是一个去中心化的应用平台。 在最终达到这个目标之前,需要经历不同的成长阶段,而在每个阶段,以太坊都会引入不同的特性,让系统更加稳定和强大。

以太坊完整的发展路线分为四个阶段,分别是“Frontier”、“Homestead”、“Metropolis”和“Serenity”。 “大都会”是以太坊发展四个阶段中的第三个。 随着它的到来,以太坊将增加许多有趣的功能。 以下是一些将对以太坊产生重大影响的功能,即:

zk-SNARKs

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

智能合约的灵活性和稳定性

抽象帐户

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

特征 1: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)假设有一个房间只能用钥匙打开,其他任何方法都打不开。 Alice 想向 Bob 证明她拥有这个房间的钥匙,有两种方法:

① 爱丽丝把钥匙给鲍勃看,鲍勃用钥匙打开房间,从而证明爱丽丝有正确的房间钥匙

② Bob确认房间里有物品,Alice用自己的钥匙打开房间的门,然后拿出物品给Bob看,从而证明她确实有房间的钥匙

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

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

以太坊重回pow_以太坊年底结束pow挖矿_以太坊团队持有以太比例

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

zk-SNARK 是如何工作的?

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 协议。 指出这样做的目的是在以太坊平台上创建一个真实的测试环境,但是这个协议能给以太坊带来什么好处呢? 让我们慢慢来:

降低系统的整体能源成本:世界各地的比特币矿工每小时成本约为 50,000 美元,或每年约 4.5 亿美元! 通过使用PoS协议,可以将整个流程虚拟化,大大降低成本;

无 ASIC 优势:由于整个过程是虚拟的,将不再取决于谁拥有更好的设备或 ASIC。

51%攻击难度加大:PoW协议存在算力集中的问题,51%攻击风险很大,PoS使得这种攻击难度加大;

无恶意验证者:任何需要锁定其在区块链中权益的验证者都将确保他们不会向链中添加任何恶意或错误的区块,因为这意味着所有权益将被扣除;

Create blocks:块生成,整个过程会更快(稍后详细介绍);

可扩展性:通过引入“分片”的概念,区块链变得可扩展;

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

Vitalik 是这样解释的:

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

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

什么是定时“难度炸弹”?

如何激励矿工从 PoW 转向 PoS?

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

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

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

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

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

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

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

获取新区块内容的哈希值

向块中添加一个随机字符串

再次散列新字符串

然后将最终哈希与难度系数进行比较,是否小于等于难度系数。

如果不是,则更改随机数并重新操作

如果是,将新区块添加到链中并向全网广播

相应的矿工将获得新的区块奖励

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