主页 > 苹果版imtoken钱包官网 > 以太坊的自我救赎

以太坊的自我救赎

苹果版imtoken钱包官网 2023-05-13 07:38:42

go以太坊转账_以太坊转账要多久_以太坊转账队列

最近区块链领域最热门的话题就是以太坊君士坦丁堡的硬分叉。 就像2002年的第一场雪,虽然来的晚,但终究还是来了。

以太坊的目标是成为世界的计算机,但其交易性能从诞生之日起就一直是整个系统的瓶颈。 为了让以太坊能够应用在更多数据驱动的业务场景中,设计了一些新技术和架构来提高以太坊目前的效率、吞吐量和并发性。

今天,营长将向大家介绍三种具有代表性的技术:Sharding、Raiden Network和下一代以太坊共识协议(Casper)。 有了他们,以太坊2.0会不会在迟来的君士坦丁堡之后如期而至?

1. 分片技术(Sharding)

在以太坊的发展过程中,有两个关键节点:一个是从PoW(工作量证明)到PoS(权益证明)的转换,一个是分片。 Sharding 旨在解决所有区块链面临的可扩展性问题,并将在以太坊 2.0 中实现。

在以太坊现阶段,所有共识节点都存储一条完整的区块链,即存储所有交易状态,处理所有交易,但分片后,每个节点只需要存储和处理一部分交易。 为了解决区块链面临的可扩展性问题。

虽然存储一条完整的区块链极大地保证了以太坊的安全性,但同时也限制了区块链的可扩展性,其庞大的存储数据可能会让大部分普通用户望而却步。 总的来说,分片的作用是让以太坊从网络上的每个节点都必须验证每笔交易的模型转变为只需要少量节点来验证每笔交易的模型。 如果有足够的节点进行交易,整个系统仍然是高度安全的。

在了解以太坊分片技术之前,先来回顾一下概念性知识(如果已经了解,可以选择性跳过)。

一般来说,所谓分片就是把状态分成K份。 例如,一种分片方式是将所有以 0x00 开头的地址分配给同一个分片,将所有以 0x01 开头的地址分配给另一个分片,依此类推。 许多分片提案试图单独分片交易过程而不对另一方进行更改,或者单独分片状态。 这些方法可以在一定程度上缓解可扩展性问题,但在不强制每个节点成为超级计算机的情况下,仍然无法实现每秒超过 10,000 个交易。

在以太坊基金会给出的分片提案中,所有的分片都被编号——0到NUM_SHARDS-1,其中分片0只是作为一个普通的权益证明区块链,而分片1到NUM_SHARDS-1的工作机制是不同的。 每个分片并行执行,分片 i 上的客户端只需要验证分片 i 上的交易。 在每个epoch开始时,随机选择m个验证者(共识节点),这些验证者将对下一个epoch的分片交易进行验证(例如,n+1个epoch的验证者分配到n个epoch)。

验证者的典型工作流程是维护分片 0 的“完整节点”,并跟踪分配给它们的未来分片。 如果验证者被分配到一个分片,他们将使用 Merkle 树验证下载状态。 并确保,当他们开始验证时,他们已经下载了适当的状态。 对于时代,他们充当分片的验证者并创建块。 同时,他们观察每个分片上的最长链、其他验证者的赌注,以及在该分片中实现 51% 成功攻击的各种尝试。 辅助启动方法和机制(例如欺诈证明)对所有分片进行抵押。 请注意,验证者被分配到任何给定分片的概率与其累积的以太币成正比。

以太坊转账要多久_go以太坊转账_以太坊转账队列

关于以太坊区块链分片的基本设计,以太坊基金会提出了一种简单的方法:定义一些称为收集者的节点,这些节点接收分片 k 上的交易(收集者根据协议选择哪个分片作为 k 或随机指定一些 k)并创建归类。 一个类别由类别头和交易列表组成,其中类别头包含分片ID、分片之前的状态根、类别中交易的默克尔树根、处理这些交易后的状态根,以及类别的签名。 班级整理者名单和其他信息。

在分片模式下的区块链中,一个区块必须包含每个分片的分类头,并且该区块只有在满足以下条件时才有效:

一个简单的分片解决方案模型可以定义为:可以在公共网络中并行处理的通信、半独立区块链组。 在这种情况下,每个用户维护一个拥有所有分片的轻客户端,验证者完全下载并跟踪在特定时间段内分配给他们的分片数量。

在更简单的分片方法中,每个分片都包含自己的交易历史,分片中的交易认证结果由分片的状态决定。 然而,一笔交易的结果可能会受到发生在其他分片中的交易的影响,一个简单的例子是多资产区块链,其中有 k 个分片,每个分片存储余额并处理与特定资产相关的交易关联交易。 这样,交易结果就不再局限于交易所在的分片,而是与其他分片上的交易密切相关。

在更复杂的分片模型中,包括某种形式的跨分片通信能力,这样一个分片上的交易可以触发其他分片上的事件。 最简单的例子就是满足那些单独用户不多,但偶尔会互相通信的应用。 在这种情况下,应用程序可以存在于不同的分片中,并通过跨分片收据在分片之间进行通信。 假设,分片M上的用户A向分片N上的用户B转账,转账金额为100 ETH。 具体过程如下图所示。

go以太坊转账_以太坊转账要多久_以太坊转账队列

跨分片通信过程

进行如下:

如果不同类型的应用需要跨分片通信,可以采用异步的方式实现。 例如,分片A上的应用程序生成一个收据,分片B上的事务“使用”这个收据并执行一些相应的操作,也可能返回一个“回调消息”给分片A。

例如,飞机旅馆问题的例子可以用来描述跨分片交互。 一个游客想预定周末去旅游目的地的机票,又想在同一天预定酒店,无疑必须同时成功或同时失败,游客才会满意。 这两件事可以看做是一个原子事务(不可分割)。

go以太坊转账_以太坊转账队列_以太坊转账要多久

如果机票预订和酒店预订的申请在同一个shard,可以创建一个同时实现两个预订的事务,并设置除非两个预订同时成功以太坊转账要多久,否则事务失败并返回原处状态。

如果两个应用在不同的分片,通过异步通信机制,先订机票,再订酒店,等到都预定成功后,再确认这两个预定。 预订系统需要防止其他人在一定时间内进行预订。 然而,这意味着该模型依赖于一个额外的安全假设:来自一个分片的跨分片通信消息可以在一定时间内被另一个分片接收。

2. 雷电网络

雷电网络是基于以太坊的链下交易解决方案,用于解决以太坊转账交易的速度、成本和隐私问题。 雷电网络的设计源自比特币的闪电网络,它使用密码学实现可证明安全的链下支付网络。

与分片致力于解决以太坊所有交易的效率不同,雷电网络解决的是以太坊在用户账户之间的转账问题。 下面我们介绍一下雷电网络的几个基本概念,以了解其工作原理。

1.频道

雷电网络中的一个通道是一个智能合约。 对于经常需要互相转账的A和B,A可以在链上部署一个智能合约,然后A和B转入一定数量的以太币到合约中,相当于锁定了这笔数量的ETH在网络中的合约通道中,A 和 B 也可以在他们的通道中流通这些数量的以太币。

A向B转账时,交易无需全网广播,但双方保留了彼此签名的转账信息,不可伪造或否认。 A和B可以通过这种方式进行频繁的交易。 当交易写入以太坊主链后,A或B只需要向合约提交已签名的转账消息,以太坊最终余额将根据离线转账记录进行分配。

以太坊转账队列_go以太坊转账_以太坊转账要多久

走道

go以太坊转账_以太坊转账要多久_以太坊转账队列

如上图所示,首先,当A和B建立通道时,合约中锁定了6个Token(A:2,B:4)。 这样A和B之间就有6个Token可以互相转移。 当B转3个Token给A时,B用自己的私钥对通道内资金的新余额分配方案(A:5,B:1)进行签名,并将签名后的消息发送给A方。当A确认收到时消息,传输完成。 同样,当A需要转账给B时,只需要将自己签名的余额证明发送给B即可。

不难发现,在任何时刻,A和B都会持有一份对方签名的副本,以及对方最后一次转账后的余额分配。 假设当B想要关闭通道时,他需要调用以太坊网络中的智能合约,并附上他持有的最后一张余额凭证来关闭通道。 一定时间后,A还可以调用以太坊网络中的智能合约,上传自己持有的最后一张余额凭证,更新余额分配状态。 当关闭通道的请求被触发一定时间后,以太坊网络中的任何人最终都可以触发交易将通道中的余额返还给A和B。

Thunderbolt Network的安全保证是通道中任何一方持有的余额证书由另一方签署,假设在合理时间内无法破解密码学加密方法(这是所有区块链系统的基本假设) ),任何一方都无法伪造对自己更有利的余额证明。

由于雷电网络通道中的所有转账都发生在链下,因此在整个通道生命周期中只有恒定数量的交易被广播到以太坊网络,因此雷电网络通道中的转账不需要等待以太坊的区块确认延迟并且不会对以太坊网络造成任何负担。 转账时无需在以太坊网络中支付Gas,网络上的其他用户无法看到每笔转账的详细信息,只能在通道取消时看到最​​终的资金分配情况。 ,从而解决了双方转账场景下的大部分速度、成本和隐私问题。

2.网络

在更多场景下,一笔转账交易的双方并不一定经常进行交易。 在这种情况下,每两个人之间建立一个雷电网络通道肯定是不合适的。 雷电网络使用哈希锁机制,通过中间节点实现两个用户之间的转账。

go以太坊转账_以太坊转账要多久_以太坊转账队列

互联网

如上图所示,当A需要转账给D(没有直接的Thunderbolt通道连接)时,D需要生成一个密钥,并将这个密钥的哈希值发送给A。之后,一条连接路径A→ B→C→D位于A和D之间。路径中的每一级节点通过Thunderbolt通道向下一级节点发送带有哈希锁的传输。

本次转账的含义是,当且仅当在一定时间内从下一级节点收到具有正确哈希值的密钥时,转账才会生效。 当 D 收到来自 C 的带有哈希锁的转账时,他将自己的密钥发送给 C 以获取转账资金。 同理,C将该密钥发送给B,获取B的转账资金以太坊转账要多久,B再将该密钥发送给A,获取A的转账资金。 当 A 收到 B 的密钥后,在雷电网络中完成转账。

go以太坊转账_以太坊转账要多久_以太坊转账队列

未来的雷电网络将有两种可能的形式:一种是熟人之间建立的通道连接的网络,另一种是一个或多个专门的中间节点连接的网络。 后一种情况下的中间节点在资金流动中具有接近银行或交易所的功能。 不同于现有的中心化线下银行和交易所或数字货币交易所,雷电网络中的交易虽然不具备区块链交易历史可追溯的特点,但雷电网络中的交易无法伪造,因此雷电网络的用户可以进行通过安全的链下交易机制进行低成本转账,无需信任任何中间节点。

3. 下一代以太坊共识协议:Casper

它因消耗大量计算能力和电力而受到广泛批评。 因此,以太坊基金会一直在积极推动使用 PoS 而不是 PoW 作为共识协议。 以太坊官方将其 PoS 共识协议称为 Casper,以电影《Casper》(鬼马精灵)命名。

传统的 PoW 共识协议本质上是用算力作为“记账权”的背书,因此每个矿工节点都试图通过增加自己的算力来增加获得记账权的概率。 这样做的目的,一方面是为了让攻击者不得不付出巨大的算力才能引发51%的攻击,另一方面也是为了保证“记账权”能够公平公正地分配。

但是大量的算力消耗在计算没有实际意义的哈希值上,无助于提升系统本身的性能,既不环保也不高效。 作为一种PoS共识协议,Casper希望摆脱PoW作为算力背书的弊端,采用“stake”(Stake,即以太坊)作为记账权背书。

Casper in Ethereum 的最初概念是在 2016 年的 Devcon 2 会议上作为“以太坊紫皮书”的一部分发布的。 这个思路的大致思路是通过一个智能合约来实现Casper的应用逻辑。 在本合约中,记账权属于“验证人”。 任何拥有以太坊的账户都可以成为Casper合约中的验证者,前提是必须在Casper智能合约中抵押一定数量的以太坊。

之后,Casper 合约以随机方式选择验证者集。 被选中的验证者集合会按照一定的顺序对区块进行验证(当然你可以选择放弃),如果该区块没有问题,就会被添加到区块链中,相应的验证者会得到总和与他们的金钱奖励与赌注成正比。 如果验证者不遵守合约规定的规则,合约将没收其质押的以太币作为惩罚。

因此,作为PoS协议的实现,Casper具有去中心化、高能效、经济安全等PoS协议的优势。 此外,它还增强了以太坊的可扩展性。 可靠的过渡。 接下来,我们就来详细介绍一下Casper的这些特性。

在以太坊的升级计划中,为了完成从P​​oW协议到PoS协议的过渡,以太坊团队正在研究两种不同的方式,都可以实现Casper协议:

虽然它们是两个不同且独立的实现,但它们的目的是相同的:将以太坊的共识机制转换为 PoS 协议。 下面将分别介绍这两种不同的Casper协议。

以太坊转账要多久_go以太坊转账_以太坊转账队列

1.卡斯帕FFG

Casper FFG 是一种 PoW/PoS 混合共识机制。 简单来说,在使用Casper FFG共识机制的同时,区块的生成仍然依赖于Ethash PoW算法,但每50个区块就会有一个“检查点”。 这个检查点是基于 PoS 生成的,以太坊中的验证者将投票来评估“检查点”的最终性。

每 50 个区块碎片称为一个 epoch,一个 epoch 末尾的检查点需要在下一个 epoch 中“敲定”,这意味着需要进行两轮投票。 例如,当大多数验证者(超过 2/3)投票给检查点 a 时,则称该检查点已被“判断”。 在下一个周期,投票给checkpoint b,checkpoint b在checkpoint a之后,那么投票给checkpoint b就意味着对checkpoint a的确定。 如果检查点 b 获得大多数验证者投票,则检查点 a 被“最终确定”。

go以太坊转账_以太坊转账队列_以太坊转账要多久

Casper FFG 最终确定检查点

对于投票的验证者,如果他投票的检查点最终确定,那么他可以获得奖励。 FFG 的混合设计使得更新原来基于 PoW 的以太坊变得相对容易。 毕竟比起直接用 PoS 代替 PoW 是一种更保守、更容易接受的方法。

2.卡斯珀CBC

Casper CBC 协议设计方法是:协议在开始部分指定:协议的其余部分由能够满足要求或要求的属性的创建方法派生。 简而言之,CBC 是动态导出的。

在这种情况下,能够导出完整协议的一种方法是实施一个可能的安全数据库,该数据库要么指向合理估计的漏洞,要么列举未来可能的错误计算。 更具体地说,CBC的工作重点在于协议设计,可以更全面地完成对某个节点的安全性评估,从而保证共识机制的安全性。 CBC 侧重于通过构造的方式从第一性原理推导出安全证明的方法。

短期内很难评价这两种方式哪种更好,但可以看出以太坊开发团队一直在努力开发这两个Casper项目。 显然,这不会是最终版本,但无论最终版本是什么,肯定会受到 FFG 和 CBC 的影响。

以太坊的救赎之路还要走多久? 在那之后君士坦丁堡将如何表现? 以太坊 2.0 什么时候来? 让我们一起期待吧!

go以太坊转账_以太坊转账队列_以太坊转账要多久

本文节选自《以太坊技术详解与实战》。 营长在不改变意愿的情况下,进行了简单的修改。