主页 > imtoken钱包安卓安装教程 > 以太坊分叉倒计时(Ethereum July Fork)

以太坊分叉倒计时(Ethereum July Fork)

imtoken钱包安卓安装教程 2023-02-21 07:28:22

柏林硬分叉会给以太坊带来什么?

柏林上线后,EIP-1559 有望在 7 月份单独上线,修改以太坊的收费模型。 EIP 在以太坊社区引起了很高的期待,因为网络拥塞导致费用飙升,导致许多用户感到恼火并迁移到其他区块链(例如 Binance Smart Chain)。

以太坊目前运营着两条独立的链:工作量证明和权益证明。

以太坊挖矿

柏林硬分叉将标志着大都市时代的结束。 这是以太坊历史上的一个关键阶段,分两个阶段(拜占庭和君士坦丁堡)执行,包括亚特兰蒂斯、伊斯坦布尔等几个分叉,最终在柏林达到顶峰。

什么是以太坊硬分叉

硬分叉是一种不支持向后兼容的软件升级方法。 通常,当节点以与旧节点规则冲突的方式添加新规则时,就会发生这些情况。 新节点只能与运行新版本软件的节点进行交互。 结果,区块链分裂,产生了两个独立的网络:一个按旧规则运行,一个按新规则运行。 升级后节点变为蓝色。 之前的黄色节点拒绝连接到蓝色节点,蓝色节点可以互相连接。 所以现在有两个网络并行运行。 他们将继续生产区块和交易,但不再在同一个区块链上工作。 在区块链网络到达一个分叉块之前以太坊分叉币前景,所有节点都有相同的区块链(并且历史仍然存在),但之后它们将具有不同的块和交易。 由于存在相同的历史记录,如果您在分叉之前持有代币,那么您将在两个网络上都有代币。 假设分叉发生在区块高度 600,000 时,您手上有 5 个 BTC。 您可以选择在区块高度达到600,001时在原区块链上花费这5个代币,但在区块高度600,001处的消费不会记录在新生成的区块链上。 假设加密没有改变,那 5 个令牌将仍然存在于新分叉上的私钥中。 以太坊硬分叉的一个案例是,2016年6月17日,DAO合约出现漏洞,被攻击者利用,导致约360万个ETH被盗。 根据合约的设计,这些资金需要冻结28天才能成功转出。 如果什么都不做,黑客将拥有所有 ETH 的 4.4%。 为了解决这个问题,备受争议的EIP 779被提出,旨在修改攻击者的锁定合约。 通过这种方式,ETH 持有者可以从 DAO 合约中提取他们的 ETH。 7月20日,以太坊大部分成员支持硬分叉,但少数社区成员反对并决定实施硬分叉。 分叉后的原链更名为Ethereum Classic。

Quorum简介(二):Quorum Consensus

我们知道公链是一个开放的社区。 任何人都可以成为节点加入网络,在网络中进行计算,向链上提交交易等。因此,公链没有信任的基础以太坊分叉币前景,所以公链的共识是第一点,第一点是证明交易的合法性和真实性,防止恶意会员作祟。 效率不是第一点。

与公链的环境不同,企业链或联盟链的所有成员都有准入门槛,在加入时实际上已经获得了一定的认可和许可,因此企业链/联盟链的成员具有一定的信任基础。 在企业链上,我们不需要使用 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)。 If a person wins the election, they serve as leader for the remainder of that term. 在某些情况下,可能会进行投票,但可能没有选出领导者(例如 t3),然后另一个任期开始,下一次选举将立即开始。 Raft 算法保证在给定任期中至少有一个领导者。

特殊情况的处理

在以太坊中,节点本身是没有作用的,所以在使用 Raft 共识时,我们称领导节点为挖矿节点:

Raft 共识机制本身保证最多同时有一个领导者,所以在以太坊模型下只会有一个出块人,避免同时出块或浪费算力。

Quorum在交易层面仍然使用以太坊的p2p传输机制,而Raft的传输机制只是在区块层面使用。

需要注意的是,在以太坊中,一个节点收到一个块后会立即记账,而在Quorum模型中,一个块的记录必须符合Raft协议,每个节点收到一个块后必须向leader报告。领导者。 leader确认收到后,leader会通知各个节点提交数据(record)

在 Quorum 模型中,新区块的信息很可能与现有区块的头部信息不一致。 最有可能发生的是选举人的更换(挖矿节点更换)。 具体描述如下:

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

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

需要注意的是,Quorum的记账机制与以太坊的LVC(最长链机制)完全不同

Quorum的出块频率默认为50ms/block,可以通过--raftblocktime参数设置

投机出块并不是以太坊 Raft 共识所必需的核心机制之一,但却是提高出块效率的有效途径。

从一个区块的产生到真正记录账本的整个 raft 过程其实需要一定的时间。 如果我们在前一个区块被包含在分类账中之后开始生成下一个区块,那么成功记录交易将需要更多时间。

而在投机铸币中,我们允许在记录其父块之前生成一个新块。 以此类推,在一段时间内,实际上会产生一条“投机链”。 在祖先区块被记录到账本之前,每一个新区块都已经按照顺序关系形成了一个临时的链片,等待被记录。

对于已经记录在投机区块中的交易,我们会在交易池中将其标记为“拟议交易”

我们之前说过,在raft机制中,存在两个挖矿节点竞争出块和记账的可能。 因此,投机链中间的某个区块很可能没有被记录在账本中。 这种情况下,我们也会将交易池中的交易状态修改回来。 (无效的 RaftOrdering 事件)

目前,Quorum 不限制投机链的长度,但在其未来的规划中,提到这一点将作为性能优化项加入到开发过程中。 最后,即使一个挖矿节点没有连接到 Raft 共识层,也可以一直离线出块,生成自己的投机链。

投机链由以下部分组成:

对于块传输,我们使用 etcd Raft 默认的 http 传输。 当然,也可以使用以太坊的p2p转账。 但Quorum团队在测试阶段发现,在高负载情况下,ETH p2p的性能不如raft p2p。

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

集群中默认的最大节点数为 25,可以通过 --maxpeers N 设置,其中 N 是您的最大节点数。

Quorum的IBFT其实就是PBFT,但是JPMorgan Chase把自己的PBFT叫做IBFT,所以IBFT的基本原理和PBFT是一样的,不同的是在IBFT中结合了出块和共识三个阶段。

Istanbul BFT 由 PBFT 算法修改而来,包括三个阶段:PRE-PREPARE、PREPARE 和 COMMIT。 在 N 个节点的网络中,该算法最多可以容忍 F 个故障节点,其中 N=3F+1。

伊斯坦布尔拜占庭算法中的区块是确定性的,即链上没有分叉,合法的区块一定在链上。 为了防止恶意节点生成不同的链,每个验证者在将块插入链之前必须将 2F + 1 个 COMMIT 签名放入块头的 extraData 字段中。 因此,块是自我验证的(因为有签名)并且轻客户端支持它们。

但是动态的extraData也会造成区块的哈希计算问题。 因为一个区块可以被不同的验证者验证,它会有不同的签名,所以同一个区块会有不同的哈希值。 解决方案是在计算区块哈希时排除 COMMIT 签名。 因此,我们仍然可以在保证区块哈希一致性的情况下进行共识验证。

由于网上对以太坊POA共识的介绍很多,笔者在此不作详细介绍,仅对POA的重要特性及工作流程进行简单梳理和介绍

以太坊分叉发送代币吗?

递送

然而,在ICO被取缔后,币圈又出现了一种新的玩法——IFO。所谓IFO,是指以比特币、以太坊等主流币为基础,发行分叉币。 在这些主流币原有区块链的基础上,按照不同的规则拆分出另一种币

根据上述定义,IFO是一个具有预挖行为的分叉币项目。 显然,对于项目方来说,相当于变相的ICO。 也就是说,IFO基本上兼有ICO的优点和缺点。 以太坊官方宣布,以太坊网络将在区块高度9,200,000处进行“Muir Glacier”硬分叉。 其实我们经历过很多次BTC的分叉,2017年还有一波糖果分叉。