链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 比特币 > 正文

比特币:以太坊是如何运作的?(一)_MER

作者:

时间:

前言:本文主要阐述当前以太坊的具体运作原理,有助于我们理解以太坊背后的各种概念和操作,适合初学者阅读。介绍不管你是否了解它究竟是什么,也许你已经听说过以太坊区块链。因为它在新闻中经常出现。假如你对以太坊没有基本了解,阅读本文可能有点摸不着头脑。那以太坊到底是什么?它本质上是公共数据库,它保存数字交易的永久记录。重要的是,这个数据库并不要求任何中心机构来维持和保护它的安全。相反,它作为一个“去中介信任”的交易系统进行运作,这是一种框架,在其中个人可以进行对等交易,同时无需任何第三方或彼此之间的信任。还感到困惑吗?这就是本文可以发挥作用的地方。我的目标是从技术层面来解释以太坊是如何运作的,这里不会有复杂的数学或吓人的公式。即使你不是程序员,我也希望你至少能有所收获。如果有部分太过于技术化和太过于晦涩,这也没有关系。你不需要懂得所有细节。我建议只需从大的层面去理解它。本文中提到的主题都是以太坊黄皮书中的概念剖析。我添加了自己的解释和图表,这样更容易理解。如果你对技术挑战感兴趣,也可直接阅读黄皮书。区块链的定义区块链是一种“具有共享状态的加密安全的交易单例机。”让我们拆解一下。“加密安全”是指所创建的数字货币由复杂的数学算法来保证它的安全,这个算法很难被破解。想一下各种防火墙。他们几乎不可能系统,例如创造虚假交易、删除交易记录等。“交易的单例机”是指有单个规范实例机负责所有在系统中创建的交易。换句话说,这里有一个所有人都相信的单一全球事实。“具有共享状态”是指存储在这个机器上的状态是共享的,向每个人公开。以太坊实现的是这种区块链的范式。以太坊区块链的范式阐述以太坊区块链本质上是基于交易的状态机。在计算机科学中,状态机指的是读取一系列的输入的东西,基于这些输入,会转换到新的状态。有了以太坊的状态机,我们从“创世状态”开始。这类似于空白平板,没有任何交易在网络上发生过。当交易执行,创世状态转换为某种最终状态。在任何时间点,最终状态代表以太坊的当前状态。以太坊的状态有数百万的交易。这些交易组成区块。一个区块包含一系列的交易,并且每个区块与其前一个区块链接在一起。要让一个状态转换到下一个状态,交易必须是有效的。一个交易要被认可为有效,必须经过验证的过程,这个过程称之为挖矿。一群节点花费它们的计算资源来创建包含有效交易的区块,这就是挖矿。网络上的任何节点都可以声明自己是矿工节点,都可以试图创建和验证区块。全世界有很多矿工试图在同一时间创建和验证区块。当向区块链提交区块时,每个矿工都会提供一个数学“证明”,该证明作为一个保证:如果证明存在,区块必须有效。对于要添入主链的区块,矿工必须比其他竞争对手更快地证明。通过让矿工提供数学证明的方法来验证每个区块的过程也就是所谓的“工作量证明”。验证新区块的矿工会被奖励一定数量的价值,以激励他们完成此项工作。什么样的价值?以太坊区块链使用原生数字代币“Ether”。每次矿工证明了一个区块,新的Ether代币就会产生并给予矿工奖励。你可能会想:用什么来保证大家都在同一条链上?我们怎么能肯定不会存在一部分矿工决定创建自己的链?在上文也提到,我们把区块链定义为一个具有共享状态的交易单例机。使用此定义,我们可以理解,正确的当前状态是一个单一的全球事实,每个人都必须接受。如有多种状态会毁掉整个系统,因为它不可能就哪个状态才是正确状态方面达成一致。如果链有多条,你可能在一条链上有10个代币,另外一条上有20个代币,还有一条上有40个代币。在这种情况下,无法确定那条链是最“有效”的。不管什么时候,只要有多条路径,就会产生“分叉”。我们通常希望避免分叉,因为它们会破坏系统并强迫人们选择相信那一条链。

Circle推出以太坊、Avalanche跨链USDC转账协议:金色财经报道,Circle 宣布已经启动了一个主网协议,允许用户在以太坊和 Avalanche 之间转移 USDC。Circle 团队在公告中表示,希望 CCTP 能够解决 Web3 生态碎片化的问题,许多最大的跨链协议已经承诺在未来使用 CCTP,包括 Celer、Hyperlane、LayerZero、LI.FI、MetaMask、Wormhole 等。[2023/4/26 14:28:51]

为了决定那条路径是最有效的,并且防止多条链产生,以太坊使用称为“GHOST协议”的机制。“GHOST”=“GreedyHeaviestObservedSubtree”简单来说,GHOST协议说我们必须挑选耗费最多算力的那条路径。决定那条路径的一个方法是使用最新区块的区块编号,它表示当前该路径的全部区块总数。区块编号越高,路径就越长,抵达“叶区块”所需的挖矿工作量就越大。使用这种推理方法,我们能够就当前状态的规范版本达成一致。

现在你已经多少了解一些区块链的大概,让我们更加深入了解以太坊系统的主要组件:l账户l状态lgas和费用l交易l区块l交易执行l挖矿lPoW开始前要注意一个事情:本文说的X的“哈希”时,通常是指以太坊使用的KECCAK-256哈希。账户以太坊的全球“共享状态”是由很多小的对象组成,这些账户通过消息传递框架实现彼此交互。每个账户都有一个与之关联的状态以及一个20字节的地址。以太坊中的地址是160位比特的标识符,用于标识任何账户。有两种类型的账户:l外部账户,由私钥控制,没有与之关联的代码。l合约账户,由合约代码控制,有与之关联的代码。外部账户Vs.合约账户理解外部账户和合约账户之间的根本区别是非常重要的。通过创建及使用其私钥签名一个交易,外部账户能够给其他外部账户或其他合约账户发送消息。两个外部账户之间的消息只是简单的价值传输。但从外部账户发送到合约账户的消息可以激活合约账户的代码,允许它执行各种操作与外部账户不同,合约账户无法自行启动新的交易。相反,合约账户仅能够通过响应其他它们收到的交易来触发自身的交易。比如从外部账户或从其他的合约账户的交易来触发。我们会在“交易和消息”章节中了解到更多合约到合约的请求。因此,任何以太坊区块链上发生的操作始终由外部账户所触发的交易来启动。

欧易OKX将支持以太坊Shapella升级,届时将暂停ETH、OP、ARB等充提业务:金色财经报道,欧易OKX发公告称,为支持即将于4月13日6:27在以太坊网络epoch 194,048时期进行的Shapella升级,欧易将于4月13日5:30暂停ETH、OP、ARB、ERC-20代币以及OPTIMISM (OP)、ARBITRUM (ARB) 和zkSync Lite网络代币的充值和提现业务,待网络稳定运行时重新开放,相关交易不受影响。在Shapella升级之后,欧易将把以太坊网络充值确认数从目前的12个区块增加到64个区块。[2023/4/12 13:57:51]

账户状态账户状态由四个部分组成,无论账户类型是什么,它们都存在:Nonce:如果该账户是外部账户,这个数代表从这个账户地址发出来的交易数。如果该账户是合约账户,则该nonce是该账户创建的合约数。余额:该地址拥有的Wei数。每个Ether有1e+18Wei。StorageRoot:MerklePatricia树的根节点的哈希值。Merkletree对该账户的存储内容的哈希进行编码,默认情况下为空。CodeHash:该账户EVM代码的哈希。对合约账户而言,这是被哈希后并存储为CodeHash的代码。对于外部账户而言,codehash字段是空字符串的哈希。世界状态我们知道以太坊的全球状态包括账户地址和账户状态之间的映射。该映射存储在MerklePatriciatree树的数据结构中。Merkle树是一种由一组节点组成的二叉树,其中:l树底部的大量叶节点包含底层数据l一组中间节点,其中每个节点都是两个子节点的哈希l一个根节点,也是由两个子节点的哈希形成,表示树的顶部树底部的数据是通过拆分数据产生,这些数据我们希望存储进入块中,然后把块拆分进入桶中,之后取每个桶的哈希并重复相同的过程,直到剩余的哈希总数变为只有一个:根哈希。Merkle树要求每个存储其中的值都有一个键。从树的根节点开始,键应该告诉你要遵循哪个子节点,以获取相应的值,值是存储在叶节点上的。在以太坊的案例中,状态树的键/值映射是在地址和它们相关的账户之间的,包括了每个账户的余额、nonce、codeHash、StorageRoot。

10月以太坊链上NFT销售额不足3亿,创自2021年7月以来最低记录:11月1日消息,据CryptoSlam数据显示,10月以太坊链上NFT销售额仅有275,712,033.97美元,创下自2021年7月以来最低记录。此外,10月以太坊链上NFT交易总量为877,851笔,较9月上涨7.6%,独立买家162,835个,独立卖家144,103个,链上单笔交易均价约为314.08美元。[2022/11/1 12:03:41]

相同的trie结构也被用于存储交易和收据。更具体来说,每个区块都有一个“块头”,块头存储三种不同Merkletrie结构的根节点哈希,包括:l状态triel交易triel收据trie

把所有这些信息有效地存入Merkletries的能力在以太坊中非常有用,因为我们有“轻客户端”和“轻节点”。请记住,区块链由一堆节点维护。广义上讲,有两类节点:全节点和轻节点。完整节点通过下载整个链数据来同步区块链,从创世区块到当前区块,执行其中包含的所有交易。通常,矿工存储完整到归档节点,因为它们要去挖矿必须执行该操作。无须执行任一操作也可以下载完整节点。无论如何,任何全节点包括所有链。但,除非一个节点有必要执行每个交易或为方便查询历史数据,否则,没有必要存储整条链的数据。这也是轻节点概念的由来。无须下载和存储完整链的数据以及执行所有交易,轻节点仅下载链头,从创世区块到当前区块的块头,而无须执行任何交易或检索任何相关的状态。由于轻节点可以访问区块头,区块头包含了三种tries的哈希,它们依然能够轻易生成和接收可验证的答案,如关于交易、事件、余额等。这样做能行的原因是Merkle树中的哈希是向上传播的——如果一个恶意用户试图把虚假交易置入Merkle树的底部,这样的改变会导致上面节点的哈希发生变化,然后会继续改变上面节点的哈希,如此传递下去,最终改变了树根的哈希。

以太坊未确认交易为158,322笔:金色财经消息,据OKLink数据显示,以太坊未确认交易158,322笔,当前全网算力为415.40TH/s,全网难度为5.54P,当前持币地址为56,330,184个,同比增加182,112个,24h链上交易量为3,481,522.95ETH,当前平均出块时间为13s。[2021/3/16 18:50:19]

想要验证数据的任何节点都能使用“Merkle证明”来达成目的。Merkle证明包含:l要证明的一堆数据和它的哈希l树的根哈希l“分支”

所有读取证明的人都能验证分支的哈希是沿着树向上一致的,因此,给定的区块实际上是在树中的某个位置上。总之,使用MerklePatricia树的好处是该结构的根节点在加密方面依赖于存储在树上的数据,因此根节点哈希能够用于该数据的安全标识。既然区块头包含状态、交易以及收据树三者的根哈希,因此,任何节点都可以验证一小部分的以太坊状态,而无需存储所有状态,完整节点可能会非常大。--未完待续---

动态 | 智能合约平台RSK开启比特币和以太坊之间的互操作性桥梁:基于比特币的智能合约平台RSK的母公司推出了一个新的代币,以作为将其连接到以太坊的桥梁。位于直布罗陀的开发团队IOV Labs周三宣布,新发布的互操作性桥梁工具将允许用户跨基于RSK和以太坊的数字资产,包括ETH和ERC-20代币。当用户传输代币时,该桥梁的智能合约将锁定初始代币,并在另一个链上生成相应数量的新代币。使用该系统,基于以太坊网络的代币可以转换为基于RSK的RRC20代币,而该代币反过来又可以转换为基于以太坊的ERC777代币。(CoinDesk)[2020/2/7]

标签:比特币区块链ERKMER丘比特币行情魔兽币是有使用区块链技术吗TERKshibmerican币最新价格

比特币热门资讯
数字资产:OK Research 区块链行业周报(第44期)_区块链

本周行情总览本周,全球区块链数字资产日均市值为1200.92亿美元,较上周下跌3.19%,其中TOP5数字资产日均总市值较上周上涨5.45%;全球数字资产日均交易量为202.4亿美元.

区块链:星球日报 | 可用于部署Ethereum 2.0的以太坊测试网络G?rli发布;伊朗推出由黄金支撑的加密货币“Peyman”_Bitindi Chain

头条 以太坊测试网络G?rli已发布,将用于部署Ethereum2.01月31日,以太坊开发团队推出新的测试网络G?rli,将用于部署Ethereum2.0.

比特币:“火炬传递”容易,但闪电网络还需要解决一个很大的问题…_MER

编者按:本文来自蓝狐笔记,作者:MichaelKern,编译:Leo,星球日报经授权发布。前言:最近在推特上有一项“闪电火炬”传递的活动正在进行,活动的主要内容是通过闪电网络进行支付接力.

DAILY:调查:章鱼娱乐或涉资金盘局,资方都说这样很危险_ILY

文|蒋倩“上万款游戏都会并入我们平台,我们要打造的是区块链世界的游戏帝国……”在一场播放量过万的直播中,自称业哥的男子为章鱼娱乐画下了一个大饼.

区块链:PoS为什么比PoW更能避免51%攻击?_Daily COP

编者按:最近ETC发生51%攻击,PoW的安全性问题被热议,以太坊创始人V神也对此称这证明从PoW转为PoS是正确的选择.

POS:红杉刚投的Veil能把去中心化Augur再次带火吗?_Liquid Staked ETH

文|张雪编辑|卢晓明 最近,基于Augur和0x开发的预测市场平台Veil宣布获得了一笔融资,Paradigm领投,红杉资本和1confirmation跟投.