导航:首页 > 以太莱特 > 以太坊的公链结构

以太坊的公链结构

发布时间:2024-04-19 12:21:52

① Quorum介绍(一):Quorum整体结构概述

一句话概括,就是企业级以太坊模型。与传统的以太坊模型不同,Quorum既然是企业级应用,那么准入门槛、共识处理以及交易的安全机制上一定与传统的公链模型不同。稍后我们也将从以下几个方面详细介绍Quorum的结构模型和核心功能特色。

Quorum本身支持两种交易状态

两种交易核心不同就是内容是否加密。为了区别两种交易的类型,Quorum在每笔交易的签名中设置了一个特殊的value值,当签名中的value值为27或28时,表示这是一笔公开交易,如果是37或者38则是一笔私密交易。私密交易的内容会被加密,只有具有解密能力的节点才能获得具体的交易内容。

所以最终每个节点会有两套账本:一个是所有人都一样的公有账本,另一个是自己本地存储的私有账本。

所以Quorum的账本状态改变机制 允许以下几种情况的调用

s 表示交易发起者,(X) 表示私密, X表示公开

上述公式可以翻译为:

Quorum 不允许以下两种情况的调用

Quorum具体的状态状态校验(世界状态)可以调用RPC方法 eth_storageRoot(address[, blockNumber]) -> hash

Quorum核心分为两大块:Node节点和隐私管理。

Quorum节点本身是一个轻量版的Geth。沿用Geth可以发挥以太坊社区原有的研发优势,因此Quorum会随着Geth未来的版本更新而更新。

Quorum节点基于Geth做了一下改动:

Constellation和Tessera(以下简称C&T)是一种用Java和Haskell实现的安全传输信息模型,他们的作用就像是网络中的信息传输代理(MTA, Message Transfer Agent)所有消息的传输都通过会话信息秘钥进行加密

C&T其实是一种多方参与网络中实现个人消息加密的常用组件,在许多应用中都很常见,并不是区块链领域专有技术(笔者注,其实区块链本身就是各种技术的大杂烩,我们很难专门找到一门技术,说它就是区块链 )。C&T主要包括两个子模块:

交易管理模块主要负责交易的隐私,包括存储私密交易数据、控制私密交易的访问、与其他参与者的交易管理器进行私密交易载荷的交换。Transaction Manager 本身并不涉及任何私钥和私钥的使用,所有数字加密模块的功能都由The Enclave来完成。

Transaction Manager属于静态/Restful模组,能够非常容易的被加载。

分布式账本协议通常都会涉及交易验证、参与者授权、历史信息存储(通过hash链)等。为了在加密这一方面实现平行操作的性能扩展和,所有公私钥生成、数据的加密/解密都由Enclave模块完成。

② 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的工作流程做大致梳理和介绍

③ 区块链公链都有哪些

区块链有公有区块链、联合(行业)区块链、私有区块链。公链有点对点电子现金系统:比特币、智能合约和去中心化应用平台:以太坊。

区块链为分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

区块链(Blockchain),为比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。



(3)以太坊的公链结构扩展阅读

根据区块链网络中心化程度的不同,分化出3种不同应用场景下的区块链:

1、全网公开,无用户授权机制的区块链,称为公有链;

2、允许授权的节点加人网络,可根据权限查看信息,往往被用于机构间的区块链,称为联盟链或行业链;

3、所有网络中的节点都掌握在一家机构手中,称为私有链。

联盟链和私有链也统称为许可链,公有链称为非许可链。

区块链特征

1、去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。

2、开放性。区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。

3、独立性。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。

4、安全性。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。

5、匿名性。除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。

④ 公链和母链的区别

公链就是和比特币以太坊并齐的区块链,母链就是一个项目自己的区块链

根据区块链开放程度和准入机制的不同,区块链可以分为公有链、联盟链和私有链。其中公有链特点——对任何人开放,任何人都能参与。
理解公有链是所有参与节点都可读取,所有参与人都能发送交易且交易能获得有效确认,并参与其共识过程的一种区块链。公有链是开放程度最高参与程度最广泛的应用,也是去中心化属性最强的。在公有链中,数据的存储、维护等操作都不再依赖于一个中心化的服务器,而是由全球互联网上成千上万的网络节点共同记录维护的,没有人能够擅自篡改其中的数据。公有链完全去中心化,降低信用成本,在各行各业都能得到广泛应用。

⑤ 区块链三大公链是什么

公链,公有链的简称,指全世界任何人都可读取,任何人都可以发送交易且交易能获得有效确认任何人都能参与其中共识过程的区块链。

一 . 全球排名前三大公链
BTC、ETH、EOS(按市值) 三个重量级的产品,分别代表区块链1.0、区块链2.0和区块链3.0 三个阶段。

1. 比特币BTC(区块链1.0)
比特币2009诞生以来作为一种新型的数字货币和全球支付网络而出现,BTC也是区块链最成功最成熟的应用,现在很多情景下BTC的名气要比区块链还要响亮得多。

2 . 以太坊ETH(区块链2.0)
通俗说,以太坊是开源平台数字货币和区块链平台,为开发者提供在区块链上搭建发布应用的平台。以太坊可以编程,分散,担保,交易任何事物,投票域名,金融交易所,众筹,公司管理合同与大部分的协议,知识产权,还有硬件集成的智能资产等。

3 . 柚子EOS(区块链3.0)
EOS在比特币和以太坊的基础上,以企业级区块链操作系统出现,比前者更易用更强大。EOS为所有的应用程序开发者提供了数据库账目权限设置,执行调度认证以及网络通信等诸多功能。

二 . 全球三大交易所公链:火币公链Huobi Chain、币安链Binance Chain、OKEx链OKChain
1 . 全球第一大交易平台火币开发,Huobi Chain是自主创新的面向金融领域的可监管区块链操作系统,基于区块链全球性资产数字化和金融市场的基础设施。同时基于对HT长期价值注入统一价值载体的考虑,HT将作为火币公链唯一的底层通证。
2 .全球第二大交易平台币安开发, Binance Chain在应用方面起步早,目前主要DEX和资产链上流通。Binance Chain是一个数字资产创建与交换平台,BNB作为主链代币
3 . 全球第三大交易平台OKEx开发,OKChain更具可扩展性,高交易处理能力的交易与智能合约平台,OKChain 基于 Cosmos-SDK 研发,共识使用DPOS。OKB是OKEx生态系统的底层通证。

⑥ 新兴公链角逐,谁将最先比肩以太坊

本视频由白泽研究院联合腾讯新闻共同制作。

由于以太坊公链上 DeFi 和 NFT 领域的爆炸性增长,导致以太坊的性能很难承载更大的市场需求,但是官方解决方案的以太坊 2.0 的进展缓慢。当大家都在关心以太坊能否超越比特币的神话时,以太坊的“竞品们”也正在通过性能、智能合约应用、受众群体等方面向以太坊发起强大的攻势。那么谁会最先比肩以太坊呢?

大家好,欢迎来到白泽研究院。从本期节目开始,我们来聊一聊最近火爆的新兴公链。首先,要了解本系列所要讲到的公链,我们得先明白一些基础性的概念。什么是区块链?什么是公链?为何又有许多的新兴公链能够崛起,去挑战以太坊这个区块链当红炸子鸡呢?

区块链这个概念最早是在2008年由比特币的创造者——中本聪第一次提出的,从概念上来看,区块链是一种将数据区块有序连接、并以密码学的方式保证不可篡改、不可伪造的分布式账本技术。简单来说,区块链技术可以在不需要第三方参与的情况下实现系统中所有数据信息的公开透明、不可篡改、不可伪造和可追溯性。

为了方便理解,从本质上来讲,区块链就是一个数据库。不过这个数据库有点特殊,它是一个分布式的,去中心化的数据库。数据库大家都知道吧,那么分布式和去中心化如何理解呢?

以我自己举例来说吧,我,黑米,以前过日子稀里糊涂,挣多少钱,花到哪儿了,从来没有个数。后来高人指点,说你这样不行,你得学会记账,搞清楚你的收入支出,学会计划,这样日子才会越过越好。我一听有道理,那就记账吧。

我就开始每天记呀记,我一个月收入多少,支出多少,结余多少,全部记下来,我用来记账的笔记本可以叫做1个数据库,写在笔记本上的各项收入支出就是数据库里的数据。

但是现在我一个人记账,只有一个数据库。哪天我的笔记本被火烧了,账本没了,数据库也就没了。

于是乎,我动员爸妈跟着我一起记账,在核对时,以大多数相同的记录为共识。这样的话,就有3个账本在同时记账,即使有一天,我的笔记本被火烧了,但是他俩的笔记本还在,数据不会丢失,这就是分布式去、中心化的账本,它的好处是数据是安全的,没有唯一的中心,谁的数据丢了都无所谓。

为了方便对账,我们3个人每天的收支记录核对后记到另外一张纸上,这张纸我们可以把它叫做一个区块,一天记一张纸,一个区块接着一个区块记下去,连到一起就叫做区块链。

好的,到这里我们再来总结一下,第一,记账的笔记本是个数据库。第二,它是分布式的、去中心化的,3个账本共同记账,如果记录相同,那么就都是有效的;如果有不同,那么就取大多数相同的为准。3个账本在3个人手里,不可能同时被毁,数据是绝对安全的。

这样的分布式、去中心化账本或者说是数据库就是区块链。

好了,了解了区块链这个概念后,我们再来理解一下不同的区块链种类。按照节点准入的规则,区块链可以分为:公链、私链、联盟链。

公链,也可以叫公有链,代码是开源的,去中心化的,在这种区块链上,世界上的任何个人或者组织都可以随时发起交易,任何人都可以参与区块链的共识。即便是这条公链的创始人或开发团队也无法侵犯用户的权益。公有链是最早的区块链,也是应用最广泛的区块链,比如我们所熟知的比特币、以太坊等各加密货币均基于公链。

联盟链,也叫联合区块链,是由某个组织内部指定多个预选的节点为记账人,每个区块的生成由所有被选择的节点共同决定,其他被准入的节点或者用户可以参与交易,但不会问记账过程。所以,联盟链其实也可以称之为“超级账本”。

私链,也可以叫私有链,顾名思义,仅仅使用区块链技术进行记账,可以是一个公司,也可以是个人,独享这个区块链的权限。

需要说明的是,加密货币的投资在我们国家被严格禁止。本视频主要是为了给读者介绍区块链技术领域的发展趋势,不建议大家参与炒币。

在过去的几年中,公链的发展步伐不断加快,已涌现出上百个大大小小的公链,其中较为知名的公链包括:BTC、ETH、BSC、Polkadot等。

由于以太坊公链上DeFi和NFT领域的爆炸性增长,导致以太坊的性能很难承载更大的市场需求。以太坊作为第一个但并非是唯一一个支持智能合约的区块链,虽然开发团队意识到了性能的限制,正在寻求通过研发以太坊2.0来改善,但是进展缓慢。当大家都在关心以太坊能否超越比特币的神话时,以太坊的“竞品们”也正在通过性能、智能合约应用、受众群体等方面向以太坊发起强大的攻势,毕竟,谁不想代替以太坊成为整个加密世界的主流操作系统呢,这其中就包括近些年各种为以太坊扩容的Layer2解决方案和一些新兴公链。

今年下半年,加密行业可以说爆发了一场“公链之争”,由Solana公链最先打响第一枪,随后Avalanche公链宣布总价值1.8亿美元的流动性挖矿计划,使多个DeFi龙头项目集成至Avax;Fantom公链投入3.7亿枚FTM代币推出生态激励计划;一些DeFi龙头项目联合出资1亿美元,以扶持Celo公链的发展。与其说是Solana、Terra、Avalanche等这些新兴公链之间的攀比,不如说是新兴公链组团向以太坊、BSC、Polygon等前辈发起的挑战。由此来看,公链市场的格局已经完全改变。

其实仔细想一想,像Solana、Terra、Avalanche、Fantom这些新兴公链能够崛起,并不是因为所谓的“区块链性能超过以太坊”,背后的真正原因其实是跨链桥在各个公链的普及,这个我们以后再讨论。

如果未来的区块链世界真的是行业内专家们所说的多链并存、互联互通的话,那么属于新兴公链的故事还远未结尾。一些其他的明星公链也在这场公链之争中崭露头角,例如Celo、Near、Algorand、Harmony等,他们的综合实力也毫不逊色,正在蓄势待发。

链得得仅提供相关信息展示,不构成任何投资建议

⑦ 公链是什么公链有什么用

公链(Public Blockchain),也称“公有链”,指的是全世界任何人都有权限读取、发送且获得有效确认的共识区块链。其无需注册、授权便可匿名访问网络,且具有去中心化、中立、开放、不可篡改等特点,适用于虚拟货币、互联网金融等领域。

可以说, 公有区块链是世界上最早的区块链。

目前,大多数区块链项目都以EOS、以太坊和比特币块链作为主要公有链。这些公链通过创建一个对开发者友好的区块链底层平台,支持允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用,允许用户按照自己的意愿创建复杂的操作,为开发dAPP提供底层的模板。

保证公链稳定运行的关键在于特定的共识机制,例如比特币块链是由工作量证明机制(PoW)维护,以太坊则是依赖于权益证明机制(PoS),它们是以经济奖励(Token)与加密数字验证相结合的方式而存在的。进一步阐释即:Token会激励人们主动参与到节点的维护中,共同维护链上数据的安全性,而这些被维护的区块链通常就被认为是“完全去中心化”的。

那么,公链有什么优点?它又有什么作用?

1.   公链可以保护用户权益免受程序开发者的影响

在公链中程序的开发者没有权利干涉用户,所以公链可以保护使用该程序的用户权益。此外,高度去中心化的分布式数据存储也是公链最大的特点之一,交易数据公开透明化、数据无法篡改等优点,使公链可以有效保障用户的数据安全。

2.公链可以产生网络效应

一种信息产品存在着互联的内在需要,因为人们生产和使用它们的目的就是更好地收集和交流信息。随着网络规模的扩大,用户能从中获取更多的价值,需求得到更大的满足。共有链具有开放性,因此有机会被很多的外界用户应用并且产生一定程度的网络效应。

也就是说,随着公链网络规模的扩大,用户数量不断增多,网络效应也在不断增强。

3. 公链可以落地应用于实际商业场景

除金融类的应用外,任何对信任、安全和持久性要求较高的应用场景,比如资产注册、投票、管理和物联网等等3.0时代应用,都会大规模地受到公链的影响。

简言之,底层公链就相当于区块链世界的基础设施,解决方案用来拓展底层公链的性能或为商业应用提供服务支撑。只有在底层公链扎实稳健高效运转的基础上,区块链商业应用才能发展和落地。公链在整个区块链领域的重要性和必要性,发展空间和需求都非常大。不过如何正确分辨出它的优势和问题,且脚踏实地去开拓应用领域,现在还需要一些时日。

⑧ AUV公链的机制是怎么样的

AUV公链采取了活性证明机制的共识机制,所有数据默认公开,通过其公共性来产生自己的安全性

阅读全文

与以太坊的公链结构相关的资料

热点内容
什麼是比特币 浏览:1000
数字货币翻倍名单 浏览:439
ltb虚拟货币 浏览:57
以太坊的修改版 浏览:747
星火矿池eth查看算力 浏览:12
nbo新比特币创始人 浏览:297
区块链java开发工程师招聘 浏览:373
关于虚拟货币的机器 浏览:471
ipfs挖矿减半周期 浏览:206
TOPBT数字货币交易所 浏览:246
区块链数字资产钱包被黑 浏览:236
区块链保险马士基 浏览:553
美国区块链水印 浏览:333
夜神模拟器和矿机 浏览:845
显卡挖矿程式 浏览:92
mk区块链 浏览:812
RNDR矿池 浏览:595
vds矿机出来了吗 浏览:517
以太坊钱包怎么绑定 浏览:63
虚拟货币会回收吗 浏览:73