以太坊黃皮書閱讀筆記(區(qū)塊狀態(tài)和交易)

說明瓶盛,這里只是做一個(gè)記錄最欠,便于后續(xù)查詢示罗,沒有進(jìn)行深入的分析。需要說明的是芝硬,以太坊黃皮書中文字和公式的比例是1:1大概蚜点,如果你一直追著不放,估計(jì)一天都看不了多少拌阴,所以第一遍看绍绘,看個(gè)大概懂就可以了。有些不必深究迟赃。如果為了研究和深入開發(fā)陪拘,第二遍深究。第一遍看的目的是纤壁,對(duì)整體黃皮書的輪廓以及對(duì)整個(gè)以太坊的技術(shù)實(shí)現(xiàn)細(xì)節(jié)在概念上有一個(gè)直觀的映像左刽。

另外,由于黃皮書公式太多酌媒,不便于記錄欠痴。我會(huì)用自己的理解用白話說一下。

區(qū)塊狀態(tài)和交易

1.單位

最小單位wei秒咨,所有的貨幣值都按照wei的整數(shù)倍來記錄喇辽。一個(gè)以太幣等于10的18次方wei

2.交易

一個(gè)交易可能是一個(gè)消息或者是合約賬戶。他們的共同組成點(diǎn)

A拭荤。nonce茵臭,由交易發(fā)送者發(fā)送的交易數(shù)量

B。gasPrice舅世,為了執(zhí)行這個(gè)交易所需要的計(jì)算步驟總共所需花費(fèi)的gas價(jià)格旦委,用wei表示

C。gasLimit雏亚,為了執(zhí)行這個(gè)交易的最大gas限制

D缨硝。to,160位交易接受者地址

E罢低。value查辩,轉(zhuǎn)移或者接收的wei數(shù)量

F。v网持、r宜岛、s和交易有關(guān)的簽名

G。init功舀,evm代碼片段萍倡,這塊有疑問。辟汰,如下

如何理解

image

H列敲。data阱佛,不限制大小的字節(jié)數(shù)組用來表示,交易的數(shù)據(jù)戴而。

3.以太坊區(qū)塊頭結(jié)構(gòu)

A凑术。parentHash,父區(qū)塊頭的keccak256位hash

B所意。ommersHash淮逊,當(dāng)前區(qū)塊的ommers列表的keccak256的hash

C。beneficiary扁眯,挖到區(qū)塊獎(jiǎng)勵(lì)的接收地址壮莹。

D。stateRoot姻檀,所有交易執(zhí)行完成之后命满,定稿后的狀態(tài)樹的hash值

E。transactionsState绣版,區(qū)塊中所有交易組成的 樹結(jié)構(gòu)的根節(jié)點(diǎn)的默克爾hash

F胶台。receiptsRoot,當(dāng)前區(qū)塊中所有接收交易組成的樹結(jié)構(gòu)根節(jié)點(diǎn)的默克爾hash

G杂抽。logsBloom诈唬,當(dāng)前區(qū)塊中所有的交易的的可索引組成的bloom過濾器

H。difficultly缩麸,當(dāng)前去區(qū)塊的難度铸磅,它可以由前一個(gè)區(qū)塊的難度和時(shí)間戳通過計(jì)算獲得。

I杭朱。number阅仔,當(dāng)前區(qū)塊的祖先數(shù)量

j。gasLimit弧械,當(dāng)前區(qū)塊每個(gè)交易的gas上限

k八酒。gasused,當(dāng)前區(qū)塊的gas之和

L刃唐。timestamp羞迷,當(dāng)前區(qū)塊初始化的時(shí)間戳

M。extraData画饥,額外數(shù)據(jù)衔瓮,32個(gè)字節(jié)最多《陡剩可以存儲(chǔ)任何和當(dāng)前區(qū)塊有關(guān)的信息

N热鞍。mixHash,用來和nonce配合控制難度,說明區(qū)塊的產(chǎn)生經(jīng)過的足夠的計(jì)算量

O碍现。nonce,用來和mixHash配合控制難度米奸,說明區(qū)塊的產(chǎn)生經(jīng)過的足夠的計(jì)算量

4.交易有效性

為了讓交易信息對(duì)搜索昼接、零知識(shí)證明、索引都是高效且有用的悴晰。會(huì)將交易數(shù)據(jù)的關(guān)鍵信息提取并編碼為收據(jù)慢睡,并把收據(jù)構(gòu)建為一個(gè)以索引為鍵的樹種,樹的根節(jié)點(diǎn)放入?yún)^(qū)塊頭中铡溪。每筆交易的編碼收據(jù)提取的關(guān)鍵信息是:

A漂辐。當(dāng)前區(qū)塊交易發(fā)生之后累積的gas數(shù)量

B坚俗。交易過程中創(chuàng)建的日志集合氯质,

c。交易過程中的日志集合創(chuàng)建的bloom過濾器年叮,

d哈扮。交易的狀態(tài)碼

5.整體有效性

當(dāng)且僅當(dāng)一個(gè)區(qū)塊同時(shí)滿足以下幾個(gè)條件纬纪,才認(rèn)為它是有效的。

它必須由內(nèi)部一直的ommer和交易區(qū)塊的hash值所組成滑肉,且按照起始狀態(tài)(由前一個(gè)區(qū)塊繼承而來的)按順序執(zhí)行所有的給定交易后所達(dá)到的一個(gè)新的狀態(tài)包各。

6.區(qū)塊的序列化

首先需要定義一個(gè)嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)結(jié)構(gòu),使得區(qū)塊頭和區(qū)塊內(nèi)容做好被序列化的準(zhǔn)備靶庙。

之后通過RLP函數(shù)把這個(gè)結(jié)構(gòu)轉(zhuǎn)換為一個(gè)可以在網(wǎng)絡(luò)傳輸或者本地存儲(chǔ)的字節(jié)序列问畅。

7.區(qū)塊頭驗(yàn)證


image.png

這塊公式太多,截圖只是其中一小部分公式六荒。

最后區(qū)塊頭驗(yàn)證函數(shù)是


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末护姆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恬吕,更是在濱河造成了極大的恐慌签则,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铐料,死亡現(xiàn)場(chǎng)離奇詭異渐裂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)钠惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門柒凉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人篓跛,你說我怎么就攤上這事膝捞。” “怎么了愧沟?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蔬咬,是天一觀的道長(zhǎng)鲤遥。 經(jīng)常有香客問我,道長(zhǎng)林艘,這世上最難降的妖魔是什么盖奈? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮狐援,結(jié)果婚禮上钢坦,老公的妹妹穿的比我還像新娘。我一直安慰自己啥酱,他們只是感情好爹凹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著镶殷,像睡著了一般禾酱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上批钠,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天宇植,我揣著相機(jī)與錄音,去河邊找鬼埋心。 笑死指郁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拷呆。 我是一名探鬼主播闲坎,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼茬斧!你這毒婦竟也來了腰懂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤项秉,失蹤者是張志新(化名)和其女友劉穎绣溜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娄蔼,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怖喻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岁诉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锚沸。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涕癣,靈堂內(nèi)的尸體忽然破棺而出哗蜈,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布距潘,位于F島的核電站炼列,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏音比。R本人自食惡果不足惜唯鸭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望硅确。 院中可真熱鬧,春花似錦明肮、人聲如沸菱农。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)循未。三九已至,卻和暖如春秫舌,著一層夾襖步出監(jiān)牢的瞬間的妖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工足陨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫂粟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓墨缘,卻偏偏與公主長(zhǎng)得像星虹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镊讼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 不管你們知不知道以太坊(Ethereum blockchain)是什么宽涌,但是你們大概都聽說過以太坊。最近在新...
    Lilymoana閱讀 3,892評(píng)論 1 22
  • 寫在篇頭 本文是對(duì)以太坊的黃皮書的解析蝶棋,并參照go-ethereum中的實(shí)現(xiàn)卸亮,將相應(yīng)的代碼也列了出來。黃皮書中使用...
    yuan1028閱讀 7,558評(píng)論 4 17
  • 1區(qū)塊 所有的交易都被分組為“區(qū)塊”玩裙。區(qū)塊鏈包含一系列鏈接在一 起的這樣的塊兼贸。 在以太坊,一個(gè)區(qū)塊包括: 區(qū)塊頭 ...
    布尼區(qū)塊鏈閱讀 2,282評(píng)論 0 2
  • 前一段時(shí)間自己開發(fā)了一套基于Yarn的容器調(diào)度系統(tǒng)献酗,這篇文章就是分享其中的一些經(jīng)驗(yàn)寝受。 前言 這篇文章不會(huì)具體教你如...
    祝威廉閱讀 2,373評(píng)論 2 12
  • 230期雙飛中,殺兩碼組合對(duì)罕偎,殺和值對(duì)很澄。 231期:金膽: 6 雙膽: 1 6 五碼復(fù)式:(含組三)0...
    cc552c8fe296閱讀 275評(píng)論 0 0