详解以太坊工作原理
发布于 4 天前 作者 stvenyin 105 次浏览 来自 以太坊

以太坊本质是员一个交易的状态机,在科学计算机中,一个状态机是可以读取一系列的输入,根据这些输入,会转换出一些新的状态出来的东西。 根据以太坊的状态机,我们从创始状态(genesis block),这差不多类似于一片空白得 石板,在网络中还没有产生任何的交易的状态,当交易被执行后,这个创始状态就会转变成最终状态。在任何时候,这个最终状态代表着以太坊的当前状态。 以太坊状态有百万个交易,这些交易被组团到一个区块中 。一个区块被包含了一系列交易,每个区块都与他前一个区块连接起来。

以太坊分叉打包算法 ,以太坊叫做GHOST协议,(GHOST Protocol.)数学机制。

简单来说,GHOST协议就是让我们必须选择一个其上完成最多的路径。一个方法路径就是使用最近的一个区块(叶子区块)的区块号,区块号代表当前路径上总的区块是(不含创始区块)。区块号越大,就说明越多的挖矿算力被消耗在此路径上达到的叶子区块。使用这种推理就可以允许我们赞同当前状态权威版本。

以太坊系统的主要组成 账户(accounts) 状态(state) 损耗和费用(gas and fees) 交易(trancations) 区块(blocks) 交易执行(trancation excute) 挖矿(Mining) 工作量证明(proof of Work) 在开始之前需要注意的是:每当我说某某的hash, 我指的都是KECCAK-256 hash, 以太坊就是使用这个hash算法。

以太坊中比较重要的一个概念是费用(fees),以太坊网络每次产生交易发生的每一次计算,都会产生费用,没有免费的午餐。 这个费用称之为"gas"来支付。 gas就是用来衡量一个具体计算中要求费用的单位。 gas price 就是愿意在每个gas上花费 ether的数量。以wei为单位进行衡量。wei是ether的最小单位,1eher表示10的18次方的wei 对于每个交易,发送者设置gas limit,gas price。就代表着发送者意愿为执行交易支付的Wei最大值。 nonce:发送者发送交易数的计数 gasPrice:发送者愿意支付执行交易所需的每个gas的Wei数量 gasLimit:发送者愿意为执行交易支付gas数量的最大值。这个数量被设置之后在任何计算完成之前就会被提前扣掉 to:接收者的地址。在合约创建交易中,合约账户的地址还没有存在,所以值先空着 value:从发送者转移到接收者的Wei数量。在合约创建交易中,value作为新建合约账户的开始余额 v,r,s:用于产生标识交易发生着的签名 iinit(只有在合约创建交易中存在); 用来初始化新合约账户的EVM片段。 init值会初始化一次,当init第一次执行的时候,他会返回一个账户代码体,也就是永远与合约账户关联的一段代码。 data(可选域,只有消息通信存在);消息通话中的输入(也就是参数)

1 回复
回到顶部