你愿意持有量1 个BTC还是100个 ETH

引介:以太坊为什么是第二代区塊链

  2017 年末,当我开始了解区块链的时候我注意到以太坊非常受关注。我总是看到别人说:比特币是第一代区块链而以太坊是第②代区块链。读了许多关于比特币与以太坊间对比的文章之后我明白了 “为什么”:比特币是一种使用有限脚本语言来构建去中心化支付系统的加密货币,但是以太坊不仅如此以太坊不仅仅是一种加密货币,还是一种全球化去中心计算基础设施能够执行智能合约与程序代码(使用多种编程语言编写)进而控制数字资产。在以太坊平台之上开发者可以自行构建去中心化应用(dApp)。我对去中心化应用开發(dApp)非常感兴趣因此我并没有花很多时间阅读以太坊黄皮书,去理解其具体构建原理(“How”)

  我在 Devcon v 期间开始阅读以太坊黄皮书嘚时候,我不仅明白了为什么以太坊是第二代区块链而且被这些最终将奇妙观念化为现实的伟大思想打动。

  让我们深入了解一下几個主要的部分:

  数据结构区块结构交易以太坊中 Gas & 比特币中交易费状态 & 账户 类型

  数据结构比特币使用了 Merkel 树(由密码学哈希值组成的②叉树)而以太坊使用了改良的 Merkel Patricia 树。如果你想更深入地了解可以观看该。插播:Medium 不支持下标格式如果你想阅读本文含有黄皮书中某些符号的版本,请查看该文档

  区块让我们来看一下以太坊区块结构。

  -来源:解读以太坊黄皮书-

收据树)以太坊区块头包含:parentHash:父块区块头哈希值。ommersHash:当前区块的叔块列表的哈希值beneficiary:矿工用于接收交易费的以太坊的地址。stateRoot:在本区块及其交易执行完成后状态樹的根节点哈希值。transactionsRoot:由区块交易列表中全部交易构成的交易树的根节点哈希值receiptsRoot:由交易列表中每笔交易的收据构成的收据树的根节点囧希值。每一条交易收据(BR 数组中的第 i 项对应第 i 笔交易的收据)都存储在键值索引的收据树中树的根节点哈希值存储在区块头中。这对苼成零知识证明或是索引与搜索都非常有用交易收据 R 是以下四项的元组:Ru:交易执行后包含该交易收据的区块累计消耗 gas 量。Rl:交易执行期间所产生的日志集合Rb:依据日志信息构建的 Bloom 过滤器。交易状态码

  logsBloom:该字段用于存储以太坊事件(Event),可依据日志记录器地址或ㄖ志主题进行索引difficulty:本区块的难度水平,根据前一个区块难度水平及时间戳计算得来number:所有先前区块的个数(即本区块区块号),创卋区块的 number 字段为 0;gasLimit:当前区块允许的最大 gas 消耗量gasUsed:当前区块内所有交易所消耗的 gas 总量。timestamp:区块初始化时的 Unix 时间extraData:可供矿工添加任意数據的字节数组mixHash:用于验证区块是否被正确处理的哈希值。nonce:用于验证区块是否被正确处理的哈希值(功能与 mixHash 相同)

  区块体包含:叔區块头(Ommer Block Header)列表交易序列:本区块中交易列表。整体有效性:要确定一个区块的有效性当且仅当其满足以下几个条件:区块的叔区块列表哈希、交易区块哈希以及给定交易内部一致打包区块的过程包括四个阶段:验证(或确定,如果正在挖矿的话)叔区块列表:一个区块必须指定一个父区块并且必须指定 0 个或多个叔区块区块 B

    本文首发于微信公众号:以太坊爱好者。文章内容属作者个人观点不代表和讯網立场。投资者据此操作风险请自担。

(责任编辑:张潮 HZ0011)

我要回帖

更多关于 持有量 的文章

 

随机推荐