区块链:知识点来了 Eth1.x 术语你都了解吗?(中)

干货|Eth1.x术语表

节点行为

Gossip

事务广播

P2P网络的功能,帮助分发?新的?事务到网络中的所有节点

依赖于节点能够访问?ETH?DevP2PProtocol或者?LES?DevP2PProtocol

依赖于执行事务验证的能力来防止对节点的DoS攻击

而验证事务是计算密集型的

区块广播

广播最新的区块

依赖于区块验证的能力

历史数据检索

检索区块头

根据哈希

根据区块号

可批请求,所请求内容必须是连续的,或者其前后之间有一致的间隔

检索区块体

所得数据需要根据?Header.transactions_root?和?Header.uncles_root?来验证

检索收据

根据区块分批检索

所得数据需要根据?Header.receipts_root?来验证

状态检索

MolochDAO推出基于零知识证明的“隐私池”加密混合服务:3月7日消息,为以太坊基础设施项目提供资金支持的去中心化自治组织MolochDAO推出基于零知识证明的“隐私池”加密混合服务,旨在保护链上交易时的隐私,同时还允许用户证明他们遵守当地法规。

据悉,MolochDAO的隐私池(Privacy Pools)将利用零知识证明这一隐私保护技术,使用户能够证明他们正在将受制裁的钱包列入黑名单,同时无需透露他们是谁,也无需披露全部交易历史。(The Defiant)[2023/3/7 12:46:33]

根据哈希值来检索单个状态树节点

在未来的协议中有可能会移除,因为这种检索机制与flatdatabaselayout有冲突

追随区块链

依赖于节点能访问区块广播网络

依赖于具有从全体区块头中获得的近期区块头

依赖于执行区块验证的能力来防止DoS攻击

事务验证

验证事务需要:

有能力执行?ecrecover?操作来确定发送者

确认该事务的nonce?正是?该发起事务的账户的下一个nonce

确认该账户的余额足以支付该事务的gas

美国专利商标局和版权局就NFT对知识产权的影响展开研究:7月12日消息,美国专利商标局和版权局将启动一项研究,研究NFT对知识产权的影响。今年6月,参议员PatrickLeahy和ThomTillis要求深入研究这一新兴资产类别在知识产权方面可能产生的潜在影响。这两个部门已经同意与Leahy和Tillis进行通信研究,并就制定行动计划进行了初步讨论,其中包括与熟悉NFT领域的各种利益相关者进行磋商。佛蒙特州和北卡罗来纳州的两位参议员最初提出的一系列议题将被考虑。这包括NFT未来应用的潜在知识产权挑战、与转让NFT所有权相关的权利、许可权利和侵权以及授予NFT创作者的潜在知识产权等。(Cointelegraph)[2022/7/12 2:08:23]

需要了解EVM的规则来计算事务的gas值

区块验证

区块验证包含下述事项中的所有内容:

检查工作量证明的seal

计算密集型

比较同一高度上其它竞争区块的挖矿总难度

执行交易,以验证?Header.state_root?的正确性

需要区块执行能力

计算密集型

主链索引

StarkWare已开源零知识证明代码ethSTARK:零知识证明研发机构StarkWare已在GitHub开源ethSTARK。StarkWare称,2018年我们获得以太坊基金会的资助去探索对STARK友好的哈希函数以及开源ZKP代码。ethSTARK代码的证明速度将比现有的任何ZKP代码快20倍。

注:2018年7月份,StarkWare获得了以太坊基金会提供的400万美元资助,将研发对STARK友好的哈希函数和技术,并为生态系统提供开源代码。STARK将允许区块链在兼备隐私和后量子安全的情况下进行大规模扩展(例如分片)。(Github)[2020/7/27]

主链区块索引

把区块号映射为该高度的主链区块的哈希值

需要从全部区块头中构建

每100万个区块,存储映射需占用61MB

区块号需要32字节

区块哈希值也要32字节

可以使用更高效的变长编码方法来减少长度

每个条目需要64bytes

截至2021年1月29日,主链区块索引总共占用约600MB的空间

只能够通过验证所得区块哈希是否等于该高度上已知主链的区块哈希值来证明

声音 | 中国工程院院士吴光辉:利用区块链等技术保护知识产权:据解放日报消息,3月13日,十三届全国人大二次会议上海代表团举行全体会议。中国商用飞机有限责任公司副总经理、党委委员、中国工程院院士吴光辉建议,构建行政、司法、技术三位一体的保护机制。充分利用区块链、云计算、大数据、人工智能等信息技术,实现知识产权保护的确权、监测、维权一体化。加强对打击侵权行为、保护知识产权工作的宣传力度。[2019/3/13]

如果能为协议引入区块头累加器的话,证明效率可以更高

主链事务索引

把事务的哈希值映射成该事务所在主链区块的哈希值,以及该事务在该块内的索引值。

需要从历史区块体中构建

截至2021年1月29日,总共有10亿笔历史事务

每个条目都需要占用70字节

可以使用变长编码方法来稍微减少长度

事务哈希值32字节

主链区块哈希值32字节

事务索引4字节

截至2021年1月29日,这些索引总共占用65GB空间

可以使用根据?Header.transactions_root?生成的默克尔证据来证明

搜狐新闻总经理蔡明军:区块链原生于知识与社群经济:今日,搜狐新闻客户端总经理蔡明军在2018清华大学区块链应用高峰论坛发表了主题为“区块链释放知识与社群经济的新红利”的演讲。蔡明军分享了区块链与知识社群的关系,并认为区块链原生于知识与社群经济。在他看来,区块链接下来首先会在金融领域应用,另一个赛道便是知识与社群领域,比如版权溯源等。他进一步解释道:在区块链技术的作用下,知识资产可遵循市场化的定价与流通规则。上链后的知识资产可以限量、预售、流通,还将改革发行流通机制。此前,有传闻称蔡明军将离职创业,All in区块链。他在接受采访时也证实了这个消息,目前正在离职流程中。蔡明军还透露,区块链创业会重点关注区块链场景应用的孵化。[2018/4/25]

区块头累加器

一类能让我们高效证明某个区块头来自主链的机制。基于https://ethresear.ch/t/double-batched-merkle-log-accumulator/571

同步

历史同步

区块头同步

即一个节点追赶区块链的顶端时所用的进程。基于不同的安全等级,有几种同步方法“

完全验证

从创世块起下载全体区块头

检查点式下载法

使用一个自己信任的较近区块的区块头,并从该区块头开始追及区块链

追随HEAD

只需追随最新区块头,就可以相当有自信。区块链越长,攻击者要制造伪链所需付出的代价就越大

当前,只有掌握了全体区块头,才能够任意地验证其他历史数据。区块头累加器可以改善这个状态,使得一个客户端可以把检查点设在区块链顶端,而仍然能够验证历史数据。

区块同步

客户端用来pull历史事务和叔块信息的进程。

验证这些数据需要先有全体区块头,然后根据?Header.transactions_root?和?Header.uncles_root?来检查

收据同步

不执行FullSync的客户端往往需要通过ETHDevP2p协议来取得历史收据

验证这些数据需要先有全体区块头,然后根据?Header.receipts_root?和来检查

状态同步

节点获得近期状态完整副本的机制。

FullSync

下载所有历史区块并按顺序执行这些区块。

最简单的同步方法

计算量非常大

需要区块头同步

需要区块同步

快速同步

下载全部历史区块,以及近期状态数据的副本

使用了一个安全假设:从历史区块中得到的状态根都是正确的

要求历史同步

会给提供这些状态数据的节点造成很大的负担

FlatDtatabaseLayout不容易满足快速同步的要求

SnapSync

下载全部历史区块以及近期状态数据的副本

使用了一个安全假设:从历史区块中得到的状态根都是正确的

要求历史同步

非常适合FlatDtatabaseLayout

带宽、硬盘读写和耗费时间都有指数级节省

StatelessSync

这个术语并不常用,其定义也可能随时调整

不像其它状态同步方法,这一方法最终无法使节点获得近期状态数据的完整副本。就其自身而言,其用法是免去维护状态数据本地副本之需、仍能验证区块;或者,它可以与其他同步方法结合,从而能即时验证区块,然后慢慢在本地构建出可访问的完整状态数据。

需要区块广播

需要区块见证数据

BeamSync

光子同步本质上就是一种无状态同步,但不要求网络提供区块见证数据。相反,客户端是按需从网络中请求所需的状态

需要区块广播

需要按需状态检索

Accesslist的可得性大大提高了这种方法的效率

OnDemandStateRetrieval

即从网络中检索任意状态元素的能力。

GetNodeData

ETH?DevP2P协议会暴露信息对?GetNodeData/NodeData,允许检索任意状态。此消息格式可能会被弃用。

基于DHT的状态网络

一种设想:我们可以让状态分散在网络中的所有节点中,并使这些数据能够按需被发现及检索到。

执行

挖矿

要求节点能够:

访问待打包事务池

运行EVM

AccessList

在某些形式的EVM执行过程中会触及的账户和合约存储位置的列表

StateAccessPatterns

StaticStateAccess

EVM执行在某些时候会具备的一种属性:调用者可以准确地预知该次执行会触及哪些状态

DynamicStateAccess

EVM执行在某些时候会具备的一种属性:调用者无法准确地预知到底会触及哪些状态

区块执行

需要EVM执行

就是执行给定区块中所有事务的过程

计算密集型

EVM执行

举要EVM的某种实现

要求能够访问该次执行所触及的状态

可以使用近期状态来实现

也可使用区块见证数据来实现

账户管理

管理用于签署事务的私钥

账户一般会存储在一个Keyfile里

密钥文件

一种加密的存储格式,用于存储私钥

Eth2BLSKeystore规范:https://eips.ethereum.org/EIPS/eip-2335

Eth1Keystore规范:https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition

解密一般来说依赖于一些密码学元件,如:?keccak、?scrypt、?pbkdf2?和ECC/BLS12-381

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:523ms