导航:首页 > 以太坊区 > 以太坊用的共识机制

以太坊用的共识机制

发布时间:2023-03-24 09:29:41

A. 关于以太坊ETH合并的错误观点理清

随着合并的临近,越来越多的文章在向人们发出信号:它确实快要临近了。这也带来了和 PoS 相关的一系列问题的讨论,人们在反复讨论着同样的话题和同样的误解。在上周 Kiln 测试网成功合并时,我已经在一定程度上看到了这一状况,今后我们还会看到更多类似的东西,所以我将一些常见的问题、观点归纳如下。

每当看到有人提出这些观点时,我就可以把这篇文章分享给他,我希望大家也可以这样做。如果本文存在一些纰漏,还望斧正或提出补充建议。

什么是合并?

更多的信息可以在 ethmerge.com 上找到,所以本部分将简单介绍。

在合并之后,Ethereum 将采取 PoS(股权证明)而不是 PoW(工作量证明)共识。合并并非「ETH 2.0」、也不存在「ETH 2.0」,这已经是一个过时的术语。

如果是 ETH 持有者,则不需要做任何事情。合并后你仍将持有相同数量的 ETH,没有「ETH2 币」,也不需要进行任何迁移。一切都完全相同,只有共识机制发生了变化。

之所以被称为「合并」,是因为 ETH 将信标链(共识层)与现存的链(执行层)合并,并抛弃了执行层的 PoW 部分。

解释一下,「共识」只是一个花哨的词汇,其含义是指如何对交易进行排序并保证安全性。PoW 和 PoS 都是实现共识的不同手段。

PoW:"打乱区块顺序的成本太高了,因为按规则办事更划算。"

PoS:「扰乱区块顺序的成本太高了,因为如果我这样做就会失去我抵押的所有钱。」

由于只是共识机制的改变,PoS 本身并不会大幅降低 Gas 费用。

为什么合并?

降低安全成本,因为达成共识所需的能源更少。

对于 PoW 来说,收益需要为矿工使用的所有硬件和能源买单,否则将无人再去挖矿。这就需要大量发行并迅速卖出 Ethereum 以换取法币来支付账单。

而 PoS 则不然,PoS 只需要支付给投机者一些收益,让人们愿意存入资本,而不是直接投资到其他地方。除了一台普通的电脑和互联网连接之外,并不需要支付大额账单。所以收益率只需要反映所涉及的机会成本和风险。

更具可持续性。

一条链的安全性基本上与它的市值成正比。无论是 PoW(更高价值的 Token 奖励 = 更有理由按规则行事 = 更多的矿工 = 更难以破坏共识)或 PoS(更高价值的抵押 Token = 更有理由按规则行事以避免失去抵押品)都是如此。

新发行的 Token 本质上是将价值从所有持币人身上转移走,并重新分配给特定的人。在其他条件相同的情况下,将这些 Token 卖出可以从网络中提取价值。

这为未来的许多扩容解决方案打开了大门:数据分片、无状态、轻客户端等等。

通过分离执行层和共识层,这将有助于降低未来的代码复杂性。

安抚环境和 游戏 玩家当然是一个积极的副作用,但这并非是切换到 PoS 的主因。切换更多是由于外部因素导致的,Ethereum 作为一个协议并没有对整个网络太多的控制权,例如能源生产、GPU 供应链等等。

何时合并?

目前官方尚未公布日期。综合各方面的原因,开发者和社区对 6 月中旬合并持谨慎乐观的态度

目前仍在测试之中,在开发人员完全确信不会出现错误之前,不会进行合并。

我个人不把希望寄托在 6 月,但我认为至少也会在夏季完成,除非在测试过程中出了极大的问题。例如,出现一个需要几周时间来修复的关键错误,或者规范本身存在需要几个月时间来修复的漏洞。

难度炸弹被设置在 6 月,所以无论届时是否进行合并,都将进行一次硬分叉。

建议将 wenmerge. com 存入书签,以便快速查看测试网合并的最新预估。

流传已久的错误观点

观点:「你这个白痴!开发团队会像过去一样拖延,早在数年前他们就应允合并了,但至今仍未兑现。」

首先是一些说明:现在仍未宣布正式的合并日期,此前也从来宣布过。一个本就不存在的最后期限,何来的拖延之说呢?

类似于「将在 2018 年转换为 PoS」的说法来自于极端乐观的态度,并且低估了 PoS 设计的复杂性和从 PoW 到 PoS 的安全过渡的复杂性。此前开发者所做的工作相当于部分完成了 Casper FFG 规范(一个混合 PoW 和 PoS 的机制),但它最终被废止了。现状已经存在很多不同了:

经过多年的研究、对潜在的攻击方向进行分析,现在拥有一个完整的协议规范。

客户端已经实现,现在只差测试尚未进行。

合并时所有人都在工作,除了合并外没有其他工作。合并所需的必要步骤都已完成。这甚至不是「他们已经完成了像 EIP1559 这样复杂的内容,所以现在可以把更多的注意力集中在合并上」,而是:「他们把所有的注意力都集中在合并上」。不可能会出现这种状况:因为开发者需从事其他内容的工作而导致合并再次被推迟。在合并完成之前,他们没有其他事情可以做。

自 2020 年 12 月以来,PoS 实际上正在以信标链的形式运行。这意味着以太坊的 PoS 已经在生产环境中进行了一年多的测试(在一定程度上),目前有超过 1000 万 ETH 在运行。它只是还没有为执行层生产区块而已。

观点:「数以百万计的质押 ETH 将在解锁的那一刻崩盘。」

可以肯定的是,会有大量的锁仓者想要最终获利,尤其是那些在 32 个 ETH 仅价值 1 万美元时就锁定了 ETH 的人。但从一角度来看,还有很多需要考虑的问题。

合并并不会解锁任何 ETH。解锁将在合并后的第一次硬分叉中进行,可能是 6-8 个月后。这意味着数个月内都将没有 PoW 方式增发的 ETH(约 13000 ETH/天)被抛售,也没有 PoS 增发的 ETH 进入流通。

就像存 ETH 要排队一样,取 ETH 也要排队。假设发生大规模抛售事件,每个人都将处于排队之中,以每天 1125 名的速度依次解锁。所以不存在 "开闸放水 "的时刻。每个人解冻都需要一年多的时间,一年的时间里,每天有约 38000 个 ETH 进入流通领域(大约是日均量的 1%)。

合并后,验证者也将开始收到费用奖励,有预估表明收益率或将翻倍。现在有成千上万的人在排队等待进入质押。他们既然可以接受 5% 的 ETH 收益率,我不认为他们会在收益率变成 10% 的时候放弃存入。

到目前为止,抵押所涉及的最大风险是合并本身。一些灾难性的事情可能会导致合并出错,尽管存在这种风险、尽管 ETH 被锁定到一个未知的未来日期,但人们已经锁定他们的 ETH 一年多了。有多少人或机构还愿意袖手旁观、等待这种风险消失后再进入呢?

抵押者退出就意味着更少的验证者,这意味着对不退出的抵押者有更高的奖励。这也意味着更能激励其他之前未投资的人开始投资......

当然,这是加密世界,让加密归于加密。合并将带来兴奋和波动,可能会出现「sell the news」的跌幅,谁又知道呢?我不会假装预知未来,但在我看来,更多的 ETH 可能会流入、而不是流出锁仓。

观点:「如果 PoS 这么好,Ethereum 为什么不从一开始就这样做呢?」

PoW 很容易概念化并实现,PoS 则不然。当我们回到 2014 年,PoS 尚是一个仍在研究的理论概念,只有一些区块链实施了它的某种特定版本。

在考虑实施 PoS 之前,需要从研究角度解决一些基本问题。

没有放之四海而皆准的 PoS。每个 PoS 区块链都有自己的 PoS 规范,在各方面都有优缺点,所以这并非是「这个链做到了,为什么 Ethereum 不能做同样的事情」这样简单。

以一个 PoW 链作为开始,让任何人都可以在无需许可的条件下开采 crypto,这让 crypto 的分发机制比那些最初就是 PoS 的链要好得多。因为那些链从最初就是 PoS,这样必须决定如何分配初始 crypto,而不是无需许可的分发 Crypto。

Ethereum 存在预挖、预售,但经过多年的换手,现在已经稀释到一半左右,使其分布更接近 BTC 的分布。所以在 2022 年,当 ETH 作为流动性极强且易于获得的资产时,这并不是什么大问题。

观点:「这实际上只是在多年努力后最后一次坑害矿工的伎俩。」

从第一天起,PoS 就是最终的目标,每个人在挖矿时都知道它早晚有一天会结束。这里并没有什么不公正的事情发生。

经济因素胜过任何形式的矿工对链的忠诚度。你可以把一条链看作是一个企业,把矿工看作是雇员。

矿工/雇员已经为他们提供的服务(即安全共识)获得了区块奖励。工资由雇主支出,它来自于稀释现有持币者的价值。

矿工流向提供奖励最高的链,如果有另一个可由 GPU 开采的 crypto 可以提供更多的奖励,大多数矿工会立即抛弃 Ethereum。

类似地,如果验证者能够以更低的价格完成它所需要的服务,那么 Ethereum 将支付更少的费用。

这并不完全是排他性的。矿工也可以 ETH 的持有者,以及区块链的使用者。没有什么能阻止他们成为抵押者并获取抵押奖励。

观点:「如果挖矿没有花费现实世界的能源,则这枚 crypto 就不再具有内在价值。」

我不太相信这种说法。反复计算哈希值直到找到一个符合任意要求的哈希值,这并没有什么神奇之处。我的意思是,PoW 的区块链其工作是通过解密来完成的,但这并不意味着解密本身就能为世界带来价值。提高一个 Crypto 的挖矿难度并不会神奇地让每个人都变得更富有,它只会让挖矿的利润降低(当然,如果对这种 Crypto 的需求量也上升则不然)。

在我看来,一个币的价值最终来自于供给和需求,而需求来自于区块空间的价值。无论 ETH 是由矿工还是锁仓者生产的,人们都需要 ETH 来购买区块空间。当然,矿工越多,安全性/去中心化程度越高,这进一步增加了区块空间的价值主张,这是一个正反馈循环,但反馈循环也存在于 PoS 的 Ethereum 中,它也同样酷。

观点:「PoS 是中心化的不二法门。」

PoS 与 PoW 基本相同,但又存在差异。「更好」或「更坏」只取决于你的看法。在我看来,PoW 实际上只是 PoS 的额外步骤。

Ethereum 作为一个社区高度重视去中心化,任何潜在的中心化趋势都会被研究团队注意到并提出缓解的方法,即使是以其他重要的东西为代价,就比如可扩展性(保持低 Gas 限制以便更多的节点可以参与其中,即使这会导致拥堵和高费用)。

尽管目前存在一些缺点,但去中心化是一个缓慢的过程,我们还没有到那一步。目前有许多中心化的拐杖从长远来看是需要消失的。我个人认为,想出一大堆东西来解决某个问题比「放弃并说因为某问题而不能做」要吸引人得多。

Ethereum 的 PoS 有一些有趣的设计经常被忽视。单个验证器瘫痪、捣乱或直接攻击网络都不会受到很严重的惩罚。而一千个验证器同时这样做则会受到更严重的惩罚。

这意味着,如果你是一个拥有数千个验证者的大型企业,为了你自己的利益,应该把它们去中心化,避免使用云主机、使用不同的客户端等等。当然,资本仍然是集中的,但至少故障点是去中心化的,这对网络的整体 健康 是有利的。

与依靠中心化摊销成本的大型矿业相比,通过能源更容易发现 PoW 挖矿并被当局关停。在全世界范围内移动采矿设备是很难的,但锁仓则不需要,不需要消费级设备以外的任何额外硬件。

观点:「PoS 实际上就是『越有钱赚得越多』。」

是的。不幸的是,我们生活在一个财富高度不平等的世界。blockchain 并不能解决这个问题。

可这也是 PoW 的真实情况。谁有钱谁就可以买更多的矿机、赚更多的钱。在矿业,投资回报率也在随着规模经济的发展而变得更好。集中式的采矿作业可以获得更好的硬件折扣、并搬到电力便宜的地方。独立小矿工在现实中根本无法与之竞争。有了 PoS,每个人都能按比例获得相同的收益,无论他们的股份是 10 美元还是 1000 万美元。

它可能是中心化,但那些大的采矿业务没有理由攻击网络并削弱它,因为他们在基础设施上投入了数百万美元。所以……或许你对大型中心化主体的存在没有意见,只是对他们在网络中存在巨大利益而不满?

观点:「存款被动产生利息,这是在无中生有地印钱?这简直就是中央银行和法币的翻版!」

验证者仍在进行着「工作」:创建区块和验证其他区块。只是这些工作完全由 blockchain 达成共识所需的实际有用的工作组成,而不是一遍又一遍地计算哈希值。

这并不是真正的 "凭空印出的免费的钱",这些资金仍然有成本,它们只是比能源账单更抽象、更不直观而已。他主要存在于下面几个成本:

机会成本:如果另一项投资能给你带来更好的收益,为什么还要赌?

流动性差:从你存款的那一刻起资金就被锁定了。你需要排队等待你的验证器激活,而当你取款时,又要排队才能取回。

固有风险:这仍然是一个相当新事物,可能会出现问题:一个关键错误、网络被攻击、你的抵押物受损等等。

波动性:这仍然是一种不稳定的资产,如果你以本国法币计价,那么使用一种可能一夜之间下跌 30% 的资产来获取 5% 的收益率并不是那么好。

维护:验证者需要维护验证器、更新软件等,以此来确保 100% 的正常运行时间。

这就是它有趣的地方:越多的锁仓者、每人的奖励就越低。这也意味着所有成本都将交由市场本身定价。如果质押收益率太低,那么奖励就不能证明成本的合理性,人们就会撤出并投资于其他地方,这一举动会使收益率回升。同样,如果收益率太高,也会吸引更多的资本使收益回落。

就通货膨胀而言。假设市场认为 5% 是理想的收益率,其中 3% 来自增发。这样算下来,每年大约有 3000 万个 ETH 被抵押,将发行 90 万个新 ETH。在总供应量为 1.2 亿 ETH 的情况下,通货膨胀率为 0.75%。只要 Gas 费用高于 23gwei,EIP1559 燃烧的 ETH 就将超过这一数量。我要强调的是,Ethereum 很快就会成为一种带有收益的通缩资产。

「ETH 一直没有供应上限,且他们一直在改变货币政策。」

多年来,Ethereum 的目标一直是「确保网络安全的最低可行发行量」,将网络安全置于控制供应上限之上。对货币政策的任何更新都没有增加供应通货膨胀。从第一天起低通胀率就一直是目标。

一旦 EIP1559 的燃烧率与发行率相匹配,就会有一个作为有效供应上限的平衡点——再次由市场力量决定对 Ethereum 区块空间的估值。

并不存在一个 "Ethereum 中央银行 "任意调整利率并向亲信印钞。市场本身决定了有多少通货膨胀/通货紧缩,并不存在一个可以像中央银行控制法币通货膨胀率那样的实体控制 Ethereum。

观点:「巨鲸有足够的钱来接管和改变 游戏 规则,并打击诚实的锁仓者。」

不,Ethereum 没有任何形式的链上治理。

协议更新是社区的努力(Layer 0),你不需要锁仓 ETH 来提出不良的提案、参与协议更新。

这一过程与 PoW 完全相同。即使你拥有 99% 的算力,你也不能在没有私钥的情况下进行无效的交易、窃取他人资产、改变协议规则,或者除了重组区块之外真的做些什么。1% 的诚实节点将拒绝任何不遵守规则的区块,你将在一个无效的/无用的链上挖矿。现在把「哈希算力/挖矿」换成「质押金额/锁仓」,PoS 也是如此。不过不同的是,被发现重组区块的人将被销毁他们的整个权益,而链不能完全摧毁采矿机。

简单地说,这涉及到大量的 ETH。在合并之前高达 1000 万计数的 ETH,约合 300 亿美元。锁仓的 ETH 数额和 ETH 的价值预计都会上升,所以攻击变得越来越不可能,因为做一次攻击所涉及的经济成本太高了。而且如果攻击来自外部行为者,他能够获得这么多 ETH 就是很荒谬的,你在哪里能买到 1000 万 ETH 来拥有 51% 的股份?

观点:「32 个 ETH 太多了,普通人没有这么多钱。」

我同意这是一个很大的问题。之所以有这么高的数字,是因为它必须落在一个技术的平衡点上:它必须低到有充足的验证者来保证链的安全,但又要高到避免验证者太多以使链的开销膨胀。

从技术角度来看,有一大问题涉及到 32ETH,当时 32ETH 价值约 7000 美元。2017 年的早期曾有人甚至建议最低超过 1000ETH。

值得庆幸的是,就像矿池的存在一样,也有锁仓池,允许用户以小金额参与锁仓。这归功于像 RocketPool、Secret Shared Validators 这些使用智能合约的无许可、去中心化的非托管协议。而且由于上面提到的二次惩罚,我相信从长远来看,去中心化的锁仓操作会比中心化的要好。像 Rocket Pool 这样的协议最好被看作是基础锁仓的高级抽象,而不是 "只是一个锁仓池"。

观点:「PoS 还没有被证明,而我们知道 PoW 是有效的。」

这实际上是完全公正,显然我们无法真正的反驳这一点,只有时间会证明。只是我认为在 Ethereum 正在转向 PoS 的背景下,这是无关的。如果你不相信它,就不要参与/投资它。我个人相信一个长期可持续的 PoS Ethereum,但即使如此,我也乐于见到 bitcoin 继续沿用它的 PoW。

这都是我们一生中伟大的 crypto 实验的一部分。PoS Ethereum 要么只是一阵风,失败直至默默无闻,要么将成功地创造出能够超越人类的怪物般的强大网络。

我在 bitcoin 和 Ethereum 中看到,为了实现这一目标,优先考虑去中心化是关键。尽管两者的理念大不相同,但我很高兴能同时拥有这两种东西,以真正看到长期的价值。

B. ETH矿机还能挖多久不必为此焦虑

以太坊(ETH)是一种被认为是“比特币2.0版”的数字令牌。它使用不同于比特币的区块链技术“以太坊”。开发者需要以太坊来支持应用的运行。以太币和其他数字货币一样,可以在交易平台上交易。

在以太坊网络中,如果你想得到以太坊,你必须挖掘它。还有以太坊的开采能持续多久?是很多投资者关心的问题。我们知道以太坊2.0的到来给我们带来了很多影响,那么以太坊还能矿吗?

以太坊还能挖矿。为了弥补比特币的不足,以太坊提出了一种新的共识机制,叫做POS。简单来说,POS其实和它的字面意思是一样的:股权和股权。持有以太坊越多,股权越多,股权越高。以太坊的POS是指你持有的硬币越多,持有硬币的时间越长,你的计算难度就越小,越容易挖矿。

2017年开始,以太坊提出升级到2.0,解决性能瓶颈问题。与普通大众的认知不同,ETH2.0要实现的技术升级远不止简单的将POW机制改为POS机制。我们现在看到的技术升级方向包括市场上其他公链正在密切研究的技术,如切片技术、分层技术、子链技术等。如果这些技术全部升级,相信以太坊可以解决性能瓶颈问题,吸引各类项目开发者进行各种创新。

据世联财经(shilian.com)了解,目前,云计算挖掘是以太坊一种新的挖掘方式。其优势在于降低以太坊的挖矿门槛,让更多的投资者参与其中,获得更高的回报率。总的来说,以太坊采矿还是一个不错的选择。

C. 以太坊基金会:ETH将在未来几个月转向PoS 能源消耗至少减少99.95%

长话短说:以太坊在合并完成后的能源消耗至少能减少99.95%。

以太坊将在接下里的几个月完成向权益证明(PoS)共识机制的过渡,这带来了无数种已被理论化的改进。但既然信标链( Beacon chain)已经运行了几个月的时间,我们实际上就可以深入研究具体的数字了。我们很高兴 探索 的一个领域涉及新的能源使用估算,因为我们将结束在共识上花费一个国家所耗能源价值的过程。

截至目前,还没有任何关于能源消耗(甚至使用什么硬件)的具体统计数据,因此下面是对以太坊未来能源消耗的粗略估算。

由于很多人都在运行多个验证器,因此我决定使用可存款的独立地址的数量,来作为今天有多少台服务器的代理数。很多质押者可以使用多个 ETH 1.0地址,但这在很大程度上抵消了那些冗余设置。

在撰写本文时,有来自16405个独立地址的140592个验证器。显然,这是由于交易所和staking质押服务造成的偏差,因此移除它们会导致有87,897个验证器被假定是在家里质押的。作为一个健全的检查,这意味着平均每个家庭质押者运行了5.4个验证器,这对我来说似乎是一个合理的估计值。

能源要求

运行一个信标节点(BN)、5.4个验证器客户端(VC)以及一个以太坊1.0全节点需要多少能量?以我的个人设置为基础,大约是15瓦。Joe Clapis(Rocket Pool开发者)最近运行了10个验证器客户端(VC),1个Nimbus信标节点(BN)以及1个10Ah USB电池组的Geth全节点,然后运行了10个小时,这意味着这个设置平均为5瓦。而一般的投资人不太可能运行这样的优化设置,所以我们取100 瓦作为参考数。

将其与之前的87000个验证器相乘,就意味着家庭质押者的消耗电量约为1.64兆瓦。估计托管质押者所消耗的能源会更多一些,他们运行了成千上万个具有冗余和备份的验证器客户端。

为了简化计算,我们还假设他们每5.5个验证器使用100瓦。基于我所接触过的基础设施团队,这是一个粗略的高估值。真正的答案要少50倍左右(如果你是一个质押托管团队,并且每个验证器消耗电量超过5瓦,我相信我可以为你提供帮助)。

因此,总的来说,采用权益证明(PoS)的以太坊网络会消耗大约2.62兆瓦的电量。这不是一个国家的用电规模,也不是省甚至城市的用电规模,而大约是一个小镇(约2100个美国家庭)的用电规模。

作为参考,当前工作量证明(PoW)以太坊网络所消耗的能量相当于一个中等国家的能源,但这实际上是保持PoW链安全所必需的。顾名思义,PoW达成共识的基础是哪个分叉在这方面做的“工作”最多。有两种方法可以提高“工作”完成率,一是提高挖掘硬件的效率,二是同时使用更多的硬件。为了防止区块链被成功攻击,矿工必须比攻击者更快的速度“工作”。由于攻击者很可能拥有类似的硬件,矿工必须保持大量高效的硬件运行,以防攻击者挖出它们,所有这些硬件都会消耗大量的能量。

在PoW共识机制下, ETH 价格与算力正相关。因此,随着价格的上涨,在均衡状态下,网络消耗的电力也会随之增加。而在PoS共识机制下,当 ETH 价格上涨时,网络的安全性也会提高( ETH 的价值更高),但对能源的需求保持不变。

一些比较

据数字经济学者估计 ,以太坊矿工目前每年要消耗44.49太瓦时的电量,这意味着,根据上述保守估计,PoS的能效提高了约2000倍,这反映了总能源使用量至少减少了99.95%。

如果每笔交易的能耗高于你的速度,则约为35Wh/tx(平均约60K gas/tx)或TV约20分钟的耗电量。相比之下,以太坊PoW每笔交易使用相当于一栋房子2.8天的能量,比特币的每笔交易则消耗相当于一栋房子38天的能量。

展望未来

尽管以太坊目前仍在使用PoW共识机制,但这种情况不会持续太久。在过去的几周里,我们看到了第一批用于合并的测试网的出现(注:The Merge合并是以太坊从PoW切换到PoS时的名称)。几个工程师团队正在加班加点地工作,以确保合并尽快到来,同时又不影响安全性。

扩容解决方案(例如rollup和分片)将通过利用规模化经济来帮助进一步减少每次交易消耗的能量。

以太坊网络超级耗电的日子屈指可数了,我希望这个行业的其他部分也是如此。

D. Quorum介绍(二):Quorum共识

我们知道,公共区块链是一个开放的社区,任何人都能够成为一个节点加入网络,在网络中计算,提交交易到链上等,因此公链是没有信任基础的,所以公链的共识第一要义就是证明交易的合法性和真实性,防止恶意成员的捣乱,效率不是第一要义。

与公链的环境不同,有准入门槛的企业链或者联盟链链上的所有成员在加入时实际上是已经获得了某些认可和许可的,因此企业链/联盟链上的成员是有一定信任基础的。在企业级链上我们没有必要使用POW或者POS这种浪费算力或者低效的交易共识。

Quorum提供了多种共识供用户采用:

在讲Raft前,有必要提一下Paxos算法,Paxos算法是Leslie Lamport于1990年提出的基于消息传递的一致性算法。然而,由于算法难以理解,刚开始并没有得到很多人的重视。其后,作者在八年后,也就是1998年在ACM上正式发表,然而由于算法难以理解还是没有得到重视。而作者之后用更容易接受的方法重新发表了一篇论文《Paxos Made Simple》。

可见,Paxos算法是有多难理解,即便现在放到很多高校,依然很多学生、教授都反馈Paxos算法难以理解。同时,Paxos算法在实际应用实现的时候也是比较困难的。这也是为什么会有后来Raft算法的提出。

Raft是实现分布式共识的一种算法,主要用来管理日志复制的一致性。它和Paxos的功能是一样,但是相比于Paxos,Raft算法更容易理解、也更容易应用到实际的系统当中。而Raft算法也是联盟链采用比较多的共识算法。

Raft一共有三种角色状态:

每个节点上都有一个倒计时器 (Election Timeout),时间随机在 150ms 到 300ms 之间。有几种情况会重设 Timeout:

在分布式系统中,“时间同步”是一个很大的难题,因为每个机器可能由于所处的地理位置、机器环境等因素会不同程度造成时钟不一致,但是为了识别“过期信息”,时间信息必不可少。

Raft算法中就采用任期(Term)的概念,将时间切分为一个个的Term(同时每个节点自身也会本地维护currentTerm),可以认为是逻辑上的时间,如下图。

每一任期的开始都是一次领导人选举,一个或多个候选人(Candidate)会尝试成为领导(Leader)。如果一个人赢得选举,就会在该任期(Term)内剩余的时间担任领导人。在某些情况下,选票可能会被评分,有可能没有选出领导人(如t3),那么,将会开始另一任期,并且立刻开始下一次选举。Raft 算法保证在给定的一个任期最少要有一个领导人。

特殊情况的处理

在以太坊中节点本身并没有角色,因此在使用Raft共识时,我们称leader节点为挖矿节点:

Raft共识机制本身保证了同一时间点最多只有一个leader,因此用在以太坊模型下也只会有一个出块者,避免了同时出块或者算力浪费的情况。

在单笔交易(transaction)层级Quorum依然沿用了Ethereum的p2p传输机制,只有在块(block)层级才会使用Raft的传输机制。

其中需要注意到一点,在以太坊中一个节点收到块以后就会立刻记账,而在Quorum模型中,一个块的记录必须遵从Raft协议,每个节点从leader处收到块以后必须报告给leader确认收到以后,再由leader通知各个节点进行数据提交(记录)

在Quorum模型中新块的信息是很有可能和已有块的header信息不符的,最容易发生这种情况的就是选举人更替(挖矿节点更替),具体描述如下:

假设有两个节点,node1和node2,node1是现有的leader,现有链的最新区块是0xbeda,它的父区块是0xacaa

对块“Extends”或者“No-op”的标记是在更上层完成的,并不由raft本身log记录机制实现。因为在raft内部,信息并不分为有效或无效,只有在区块链层面才会有有效区块和无效区块的含义。

需要注意的是,Quorum的这种记账机制和本身Ethereum的LVC(最长链机制)是完全不一样的

Quorum的出块频率默认是50ms一个块,可以通过 --raftblocktime 参数进行设置

投机性出块并不是以太坊Raft共识严格必须的核心机制之一,但是是提高出块效率的有效方式。

一个块从产生到实际被记录账本,走完整个raft流程实际上是需要耗费一定时间的。如果我们在上一个块被计入账本之后才开始产生下一个块,那么一笔交易想要成功被记录需要耗费较多的时间。

而在投机性(speculative minting)出块中,我们允许一个新块在它的父块被记录之前就产生。依次类推,在一段时间内,实际上会产生“投机链(speculative chain)”,在祖先块没有被记录进账本之前,一个一个新块已经依据先后关系组成了一条临时链片段,等待被记录。

对于已经被记录进投机块的交易,我们会在交易池中标记为“proposed transaction”

在之前我们说过,raft机制中是存在两个挖矿节点比赛出块和记账的可能的,因此,一条 speculative chain 中间的某一个块很有可能不会被记录到账本中。在这种情况下我们也会把交易池中的交易状态修改回来。( InvalidRaftOrdering event)

目前,Quorum并没有对speculative chain的长度做限制,但在它的未来规划中有讲这一点作为一个性能优化项加入开发进程,最后能够让一个挖矿节点即使在raft共识层没有连接上,它也可以离线一直出块,产生自己的speculative chain。

一条speculative chain有以下几个部分构成:

在块传输上我们使用etcd Raft默认的http传输,当然使用Ethereum的p2p传输也是可以的,但是Quorum团队在测试阶段发现,高负载的状态下,ETH p2p的性能没有raft p2p性能好。

Quorum使用50400端口作为Raft 传输层的默认监听端口,也可以通过 --raftport 参数自行设置。

一个集群默认的最大节点个数是25,可以通过 --maxpeers N 来设置,N是你的最大节点个数。

Quorum的IBFT其实就是PBFT,只不过摩根大通把它自己实现的PBFT叫做IBFT,所以IBFT的基本原理与PBFT是一样的,所不同的是,IBFT中把出块和共识的三阶段结合在了一起。

Istanbul BFT修改自PBFT算法,包括三个阶段: PRE-PREPARE 、 PREPARE 以及 COMMIT 。在 N 个节点的网络中,这个算法可以最多容忍 F 个出错节点,其中 N=3F+1 。

Istanbul BFT算法中的区块是确定的,意味着链没有分叉并且合法的区块一定是在链中。为了防止一个恶意节点生成不同的链,在把区块插入进链 之前 ,每一个validator必须把 2F + 1 个 COMMIT 签名放进区块头的 extraData 字段。因此,区块是可以自我验证的(因为有签名)并且轻客户端也支持。

然而动态的 extraData 也会造成区块的hash计算问题。因为一个区块可以被不同的validator验证,所以会有不同的签名,所以同一个区块会有不同的hash。解决的方案是,计算区块hash的时候把 COMMIT 签名排除在外。因此我们任然可以在保证block hash一致性的同时进行共识验证。

由于Ethereum POA共识在网上已经有大量介绍,笔者这里就不多做详细介绍,只对重要特点和POA的工作流程做大致梳理和介绍

E. 以太坊技术系列-以太坊共识机制

区块链的特点之一是去中心化。也就是节点会分布在各个地方组成分布式系统。各个节点需要对1个问题达成一致,理想情况下,只需要同步状态即可。

如上图所示 B节点将a=1=> a=2的状态同步给  ACDE四个节点,这时系统中状态变为a=2, 但如果其中有恶意节点 AE 收到通知后把a=1=>a=3修改为错误的节点,这个时候大家的状态就不一致了,此时需要共识机制使系统中得到1个唯一正确的状态。

如上面说到分布式系统存在恶意节点导致系统中状态不一致的情况有1个比较著名的虚拟问题-拜占庭将军问题。

拜占庭将军问题是指,N个将军去攻打一座城堡,如果大于一定数量的将军同时进攻则可以攻打成功,如果小于则进攻失败。将军中可能存在叛徒。

这个时候有2种情况

1.如果2个叛徒都在BCDE中,那么共识算法需要让其余2个将军听从A的正确决策进攻城堡。

2.如果A是1个叛徒,共识算法需要让BCDE中剩余的3个忠诚将军保持一致。

这个问题有很多种解法,大家有兴趣可以自行查阅(推荐学习PBFT),我们重点来看看以太坊中目前正在使用的Nakamoto 共识和将要使用的 Casper Friendly Finality Gadget共识是如何解决拜占庭将军问题的。

说到Nakamoto共识和Casper Friendly Finality Gadget共识可能大家不太熟悉,但他们的部分组成应该都比较熟悉-POW(工作量证明)和POS(权益证明)。

POW或POS称之为Sybil抗性机制,为什么需要Sybil抗性机制呢,刚刚我们说到拜占庭将军问题,应该很容易看出恶意节点越多,达成正确共识的难度也就越大,Sybil攻击就是指1个攻击者可以伪装出大量节点来进行攻击,Sybil抗性是指抵御这种攻击能力。

POW通过让矿工或验证者投入算力,POS通过让验证者质押以太坊,如果攻击者要伪装多个节点攻击则必将投入大量的算力或资产,会导致攻击成本高于收益。在以太坊中保障的安全性是除非攻击者拿到整个系统51%算力或资产否则不可能进攻成功。

在解决完Sybil攻击后,通过选取系统中的最长链作为大家达成共识的链。

很多人平时为了简化将pow和pos认为是共识机制,这不够准确,但也说明了其重要作用,我们接下来分析pow和pos。

通过hash不可逆的特性,要求各个矿工不停地计算出某个值的hash符合某一特征,比如前多少位是000000,由于这个过程只能依赖不停的试错计算hash,所以是工作量证明。计算完成后其他节点验证的值符合hash特征非常容易验证。验证通过则成为成为合法区块(不一定是共识区块,需要在最长链中)。

以太坊中的挖矿算法用到2个数据集,1个小数据集cache,1个大数据集DAG。这2个数据集会随着区块链中区块增多慢慢变大,初始大小cache为16M DAG为1G。

我们先来看这2个数据集的生成过程

cache生成规则为有1个种子随机数seed,cache中第1个元素对seed取hash,后面数组中每个元素都是前1个元素取hash获得。

DAG生成规则为 找到cache中对应的元素后 根据元素中的值计算出下次要寻找的下标,循环256次后获得cache中最终需要的元素值进行hash计算得到DAG中元素的值。

然后我们再看看矿工如何进行挖矿以及轻节点如何验证

矿工挖矿的过程为,选择Nonce值映射到DAG中的1个item,通过item中的值计算出下次要找的下标,循环64次,得到最终item,将item中的值hash计算得到结果,结果和target比较,符合条件

则证明挖到区块,如果不符合则更换nonce继续挖矿。矿工在挖矿过程中需要将1G的DAG读取到内存中。

轻节点验证过程和矿工挖矿过程基本一致,

将块头里面的Nonce值映射到DAG中的1个item,然后通过cache数组计算出该item的值,通过item中的值计算出下次要找的下标,循环64次,得到最终item,将item中的值hash计算得到结果,结果和target比较,符合条件则验证通过。轻节点在验证过程中不需要将1G的DAG读取到内存中。每次用到DAG的item值都使用cache进行计算。

以太坊为什么需要这2个不同大小的数组进行辅助hash运算呢,直接进行hash运算会有什么问题?

如果只是进行重复计算会导致挖矿设备专业化,减少去中心化程度。因为我们日常使用的计算机内存和计算力是都需要的,如果挖矿只需要hash运算,挖矿设备则会设计地拥有超高算力,但对内存可以缩小到很小甚至没有。所以我们选用1G的大内存增加对内存访问的频率,增加挖矿设备对内存访问需求,从而更接近于我们日常使用的计算机。

我们看看在Nakamoto共识是如何解决拜占庭将军问题的。首先看看区块链中的拜占庭将军问题是什么?

区块链中需要达成一致的是哪条链为主链,虽然采用了最长链原则,但由于分叉问题,还是会带来拜占庭将军问题。

本来以太坊pow目标是抵抗51%以下的攻击,但如上图如果恶意节点沿着自己挖出的区块不断挖矿,由于主链上有分叉存在,恶意节点不需要达到51%算力就可以超过主链进而成为新的主链,为此以太坊使用了ghost协议给上图中的B1和C1也分配出块奖励,尽快合并到主链中,这样主链长度(按照合并后的总长度算,长度只是抽象概念,以太坊中按照区块权重累加)还是大于恶意节点自己挖矿的。

网络中的用户通过质押一定数量的以太坊成为验证者。每次系统从这些验证者从随机选择出区块创建者,其余验证者去验证创建出的区块是否合法。验证者会获得出块奖励,没有被选中的区块不进行验证则会被扣除一定质押币,如果进行错误验证则会被扣除全部质押币。

如上图,权益证明在每隔一定区块的地方设置一个检查点,对前面的区块进行验证,2/3验证者通过则验证通过,验证通过则该区块所在链成为最长合法链(不能被回滚)。

我们简化地只分析了权益证明本身,在以太坊中权益证明较为复杂的点在于和分片机制结合在一起时的运行流程,这部分会在后面单独将分片机制的一篇文章中详述。

本篇文章主要讨论了共识机制是解决分布式系统中的拜占庭将军问题,以及分析了以太坊中的共识机制一般包括最长链选择和一种sybil抗性机制(pow或pos)。重点分析了pow和pos的流程以及设计思想。后续将开始重点讨论智能合约的部分。

F. 区块链的共识机制

所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。北京木奇移动技术有限公司,专业的区块链外包开发公司,欢迎洽谈合作。下面我们将一下区块链的几种共识机制,希望对大家了解区块链基础技术有帮助。

因为区块链技术的发展, 大家对共识机制这个词也不再陌生,随着技术发展,各种创新的共识机制也在发展。

POW工作量证明

比特币就是使用PoW工作量证明机制,到后来的以太坊都是PoW的共识机制。Pow相当于算出很难的数学难题,就是计算出新区块的hash值,而且计算的难度会每一段时间就会调整。PoW虽然是大家比较认可的共识机制,计算会消耗大量的能源,还有可能会污染环境。

POS权益证明

通过持有Token的数量和时长来决定获得记账权的机率。相比POW,POS避免了挖矿造成大量的资源浪费,缩短了各个节点之间达成共识的时间,网络环境好的话可实现毫秒级,对节点性能要求低。

但POS的缺点同样明显,持有Token多的节点更有机会获得记账权,这将导致“马太效应”,富者越富,破坏了区块链的去中心化。

DPOS权益证明

DPOS委托权益证明与POS原理相同,其主要区别在于,DPOS的Token持有者可以投票选举代理人作为超级节点,负责在网络上生产区块并维护共识规则。如果这些节点未能履行职责,将投票选出新的节点。同样的弊端也是倾向于中心化。

POA权威证明

POA节点之间无需进行通信即可达成共识,因此效率极高。并且它也能很好地对抗算力攻击,安全性较高。但是POA需要一个集中的权威节点来验证身份,这就意味着它会损害区块链的去中心化,这也是在去中心化和提高效率之间的妥协。

G. etr是什么币

以太坊区块链上的代币称为以太币(Ether),代码为ETH,可在许多加密货币的外汇市场上交易,它也是以太坊上用来支付交易手续费和运算服务费的媒介 。
以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。
拓展资料
以太币跟比特币有什么区别:
一、ETH与比特币方向不同
首先,ETH与比特币,这两者背后区块链系统的方向完全不同。比特币的定位就是单纯的数字货币,可以被认为是一种点对点的电子现金。它是为了取代法币、解决金融危机而诞生,主要应用于付款和价值转移。所以比特币背后的整个区块链网络方向都是以货币为主,解决交易、支付问题。而ETH则不同,它虽然也是数字货币,具备一定的交易属性,但是ETH背后的以太坊区块链网络定位是世界级的通用计算平台,它只是借用比特币中的区块链技术,以此为基础,朝着偏向于互联网的操作系统级应用方面发展。
二、ETH与比特币作用不同
由于以太坊与比特币的方向定位不同,导致两者的数字货币作用也有所不同。比特币的方向是货币,想要成为常规货币的替代品。所以,比特币系统中,其数字货币BTC是极为重要的一环,可以说是整个系统的最终体现,它的作用就是作为支付交易的媒介和价值储存的载体。而以太坊的目标是操作系统级别的计算平台,就比较偏向于互联网服务方面,它的价值体现在于有多少用户使用以太坊这个平台,以及你这个平台给我提供多优质的服务。所以,这就决定了ETH在以太坊平台中,只是一个重要环节,但却不是全部平台的价值体现,它只是以太坊上提高服务质量、处理交易的一种货币工具,让平台上发生的点对点交易和应用程序更加便捷化。所以,尽管比特币和以太币都是数字货币,但比特币是想要成为法币的替代品,作为一种去中心化的电子现金系统被大家使用,整个系统更像是使用区块链技术支持的一个特定应用程序。
三、ETH与比特币机制原理不同
比特币与以太坊的共识机制不同。在比特币区块链网络中,起到数据维护作用的共识机制是PoW机制,即工作量证明机制。它的工作原理是,大家一起参与,谁处理得最快最好,谁就能获得记录数据的权力,进而获得比特币奖励。因为比特币的应用方向是货币,使用场景是没有中心化机构参与的点对点支付与交易,所以,比特币就强烈地需要去中心化与安全这两个属性,而PoW机制虽然处理交易的速度过慢,而且需要花费大量的资源,但是安全性和去中心化程度极高,故此与比特币契合。
以太坊所采用的是PoS共识机制,即权益证明机制,它的工作原理是,大家一起参与,谁持有的以太币多,谁就越容易获得记录数据的权力,进而获得ETH奖励。以太坊的应用方向是操作系统,它是想让大家在它的系统上部署智能合约、开发去中心化应用。以太坊虽然也需要去中心化的属性,但是比起比特币,它更需要高效率与低成本,不然你平台数据处理的效率过慢,手续费还高,谁愿意在你的平台上开发?所以,以太坊就采用了PoS机制,PoS的去中心化性虽然没PoW机制强,但是效率更快,处理数据也不需要花费非常大的资源。
四、ETH与比特币通证生态不同
ETH和比特币通证生态不同。比特币因为要做货币,其价值生态的支撑点在于共识价值,即有多少人认可它,并使用它进行交易。因此比特币的通证设计实际是一个通货收缩的经济模型,限定了比特币只有2100万枚,这样因为稀缺属性,价格会越来越高,更容易取得共识价值。而以太币不同,支撑它价值生态的点在于产品,即整个平台提供了什么样的服务,解决了什么样的痛点等服务价值,与安卓系统、微信等产品类似,以太币是以太坊平台的一个工具,可以用来购买gas做手续费、募资等其他使用场景。因此以太坊的通证设计中,以太币并没有数量限制,发行量上限为每年1800万,挖矿难度也会随时间而上升,相对通货膨胀率每年都会下降。总的来说,ETH和比特币虽然都是数字货币,但各自背后代表的整个区块链系统,在作用、原理、生态价值等都有不同,以太坊的本质是一个操作系统级别的计算中心,以太币是打破了原有数字货币的定位,在比特币的基础上开创了新的方向,它除了自身的货币价值外,还包含了整个产品的价值,这是前所未有的,只有理解了这一点,才能理解为什么以太坊是区块链2.0的代表。

H. 号称“区块链的灵魂”的共识机制是什么

我们知道区块链是去中心化分布式记账技术,在区块链系统当中,没有一个像银行一样的中心化记账机构,如何保证每一笔交易在所有记账节点上的一致性呢?共识机制解决的就是这个问题,因此也可以说共识机制是区块链的灵魂。

目前比较常见的共识机制有:工作量证明 PoW(Proof of Work)、权益证明(Proof of Stake)以及委托权益证明(Delegated Proof of Stake):

 01 

PoW(Proof-of-Work)

工作量证明机制

POW的全称为Proof of Work,翻译过来即“工作证明”或者“工作量证明”。挖矿获得多少货币奖励,取决于挖矿贡献的有效工作,也就是说矿机的性能越好、挖矿的时间越长,所获得的货币奖励就越多。

BTC就是POW机制下最成功的加密货币。POW机制虽然已经成功证明了其长期稳定和相对公平,但在现有框架下,采用POW的“挖矿”形式,将消耗大量的能源。其消耗的能源只是不停的去做SHA256的运算来保证工作量公平,并没有其他的存在意义。而目前BTC所能达到的交易效率为约5TPS(5笔/秒),以太坊目前受到单区块GAS总额的上限,所能达到的交易频率大约是25TPS,与平均千次每秒、峰值能达到万次每秒处理效率的VISA和MASTERCARD相差甚远。

 02 

PoS(Proof-of-Stake)

权益证明机制

POS 即权益证明或者股权证明,全称为 Proof of Stake。权益证明模式就是根据所持有货币的量和时间,来发利息的的一个模式。

POS机制,相比于POW,POS机制节省了能源,引入了“币龄”这个概念来参与随机运算。POS机制能够让更多的持币人参与到记账这个工作中去,而不需要额外购买设备(矿机、显卡等)。每个单位代币的运算能力与其持有的时间长成正相关,即持有人持有的代币数量越多、时间越长,其所能签署、生产下一个区块的概率越大。一旦其签署了下一个区块,持币人持有的“币龄”即清零,重新进入新的循环。

在POS机制下,因为区块的签署人由随机产生,则一些持币人会长期、大额持有代币以获得更大概率地产生区块,尽可能多的去清零他的“币天”。因此整个网络中的流通代币会减少,从而不利于代币在链上的流通,价格也更易受到波动。由于可能会存在少量大户持有整个网络中大多数代币的情况,整个网络有可能会随着运行时间的增长而越来越趋向于中心化。相对于PoW而言,PoS机制下作恶的成本很低,因此对于分叉或是双重支付的攻击,需要更多的机制来保证共识。稳定情况下,每秒大约能产生12笔交易,但因为网络延迟及共识问题,需要约60秒才能完整广播共识区块。长期来看,生成区块(即清零“币龄”)的速度远低于网络传播和广播的速度,因此在PoS机制下需要对生成区块进行“限速”,来保证主网的稳定运行。

 03 

DPoS

委托权益证明机制

DPOS即授权股权证明(delegated proof of stake)。

DPoS机制要求在产生下一个区块之前,必须验证上一个区块已经被受信任节点所签署。相比于PoS的“全民挖矿”,DPoS则是利用类似“代表大会”的制度来直接选取可信任节点,由这些可信任节点(即见证人)来代替其他持币人行使权力,见证人节点要求长期在线,从而解决了因为PoS签署区块人不是经常在线而可能导致的产块延误等一系列问题。DPoS机制通常能达到万次每秒的交易速度,在网络延迟低的情况下可以达到十万秒级别,非常适合企业级的应用。

 04  其他共识机制

区块链系统中还有其它共识机制比如联盟链常用的PBFT,新经币(NEM)用的POI等。这些共识机制是为了解决现有共识机制的一些缺点而被提出的。但目前使用的系统不如POW,POS和DPOS多。

共识机制是区块链系统的核心,它决定了一个区块链系统的去中心化程度,性能和安全性。因此公链的开发中,共识机制的设计是核心和关键。

I. 以太坊共识协议Casper原理是怎样的

Casper(投注共识)是一种以太坊下一代的共识机制,属于PoS。Casper的共识是按块达成的而不是像PoS那样按链达成的。数字货币交易所币汇

J. 一文了解以太坊挖矿算法及算力规模2020-09-09

以太坊网络中,想要获得以太坊,也要通过挖矿来实现。当前以太坊也是采用POW共识机制,但是与比特币的POW挖矿有点不一样,以太坊挖矿难度是可以调节的。以太坊系统有一个特殊的公式用来计算之后的每个块的难度。如果某个区块比前一个区块验证的更快,以太坊协议就会增加区块的难度。通过调整区块难度,就可以调整验证区块所需的时间。

以太坊采用的是Ethash 加密算法,在挖矿的过程中,需要读取内存并存储 DAG 文件。由于每一次读取内寸的带宽都是有限的,而现有的计算机技术又很难在这个问题上有质的突破,所以无论如何提高计算机的运算效率,内存读取效率仍然不会有很大的改观。因此,从某种意义上来说,以太坊的Ethash加密算法具有“抗ASIC性”。

加密算法的不同,导致了比特币和以太坊的挖矿设备、算力规模差异很大。

目前,比特币挖矿设备主要是专业化程度非常高的ASIC 矿机,单台矿机的算力最高达到了 112T/s(神马M30S++矿机),全网算力的规模达到139.92EH/s。

以太坊的挖矿设备主要是显卡矿机和定制GPU矿机,专业化的ASIC矿机非常少,一方面是因为以太坊挖矿算法的“抗 ASIC 性”提高了研发ASIC矿机的门槛,另一方面是因为以太坊升级到2.0之后共识机制会转型为PoS,矿机无法继续挖。

和ASIC矿机相比,显卡矿机在算力上相差了2个量级。目前,主流的显卡矿机(8卡)算力约为420MH/s,比较领先的定制GPU矿机算力约在500M~750M,以太坊全网算力约为235.39TH/s。

从过去两年的时间维度上看,以太坊的全网算力增长相对缓慢。

以太坊协议规定,难度的动态调整方式是使全网创建新区块的时间间隔为15秒,网络用15秒时间创建区块链,这样一来,因为时间太快,系统的同步性就大大提升,恶意参与者很难在如此短的时间发动51%(也就是半数以上)的算力去修改历史数据。

阅读全文

与以太坊用的共识机制相关的资料

热点内容
女主重生远离哥哥 浏览:307
一部蛇变人的中国老电影 浏览:975
旱田雨露txt全文阅读 浏览:318
怎么看羞羞的视频 浏览:884
韩国电影合集3 浏览:769
好看的电影免费你懂的 浏览:570
教授家的媳妇儿的生活 浏览:987
镜花风月六部曲系列 浏览:910
许多视频专业网站 可在线观看 浏览:394
比特币今日行情美金 浏览:208
老首长孙子流落民间的小说 浏览:441
论文里写了电影的台词要怎么引证 浏览:811
韩国爱情大全免费 浏览:351
哦啊黄色玄幻小说 浏览:479
电影入口在哪里 浏览:541
微电影有叫声的床戏 浏览:46
区块链工作室怎么赚钱 浏览:301
棋牌比特币 浏览:582
爱念电影完整版 浏览:291
少林武打片100部 浏览:501