引介:以太坊為什么是第二代區塊鏈?
2017年末,當我開始了解區塊鏈的時候,我注意到以太坊非常受關注。我總是看到別人說:比特幣是第一代區塊鏈,而以太坊是第二代區塊鏈。讀了許多關于比特幣與以太坊間對比的文章之后,我明白了“為什么”:比特幣是一種使用有限腳本語言來構建去中心化支付系統的加密貨幣,但是以太坊不僅如此。以太坊不僅僅是一種加密貨幣,還是一種全球化去中心計算基礎設施,能夠執行智能合約與程序代碼進而控制數字資產。在以太坊平臺之上,開發者可以自行構建去中心化應用。我對去中心化應用開發非常感興趣,因此我并沒有花很多時間閱讀以太坊黃皮書,去理解其具體構建原理。
我在Devconv期間開始閱讀以太坊黃皮書的時候,我不僅明白了為什么以太坊是第二代區塊鏈,而且被這些最終將奇妙觀念化為現實的偉大思想打動。
讓我們深入了解一下幾個主要的部分:
數據結構
區塊結構
交易
以太坊中Gas&比特幣中交易費
狀態&賬戶類型
數據結構
比特幣使用了Merkel樹,而以太坊使用了改良的MerkelPatricia樹。如果你想更深入地了解,可以觀看該視頻。
插播:Medium不支持下標格式,如果你想閱讀本文含有黃皮書中某些符號的版本,請查看該文檔。區塊
讓我們來看一下以太坊區塊結構。
江蘇出臺教育領域數字人民幣試點實施方案:金色財經報道,江蘇省教育廳近日印發《江蘇省教育領域數字人民幣試點實施方案》,提出要全面推進教育領域數字人民幣試點工作,暢通全省教育領域數字人民幣收入和支付渠道,積極構建教育收費、各類考試報名費、國庫集中支付以及獎助學金發放等業務數字人民幣應用場景。《方案》明確分階段推進教育領域數字人民幣試點,至2023年底,力爭在教育收費、考試報名繳費、獎助學金發放等重點應用場景覆蓋面取得明顯進展,每所省屬學校至少推進一個數字人民幣應用項目。至2025年底,江蘇基本形成應用覆蓋面廣、服務便捷高效、生態較為完善的教育領域數字人民幣運營管理體系。[2023/5/9 14:52:42]
-來源:解讀以太坊黃皮書-區塊包含:
區塊頭:
請注意,比特幣區塊頭中只有1棵Merkel樹,以太坊區塊頭中有4棵。以太坊區塊頭包含:
parentHash:父塊區塊頭哈希值。
ommersHash:當前區塊的叔塊列表的哈希值。
beneficiary:礦工用于接收交易費的以太坊的地址。
stateRoot:在本區塊及其交易執行完成后,狀態樹的根節點哈希值。
transactionsRoot:由區塊交易列表中全部交易構成的交易樹的根節點哈希值。
receiptsRoot:由交易列表中每筆交易的收據構成的收據樹的根節點哈希值。每一條交易收據都存儲在鍵值索引的收據樹中,樹的根節點哈希值存儲在區塊頭中。這對生成零知識證明或是索引與搜索都非常有用。交易收據R是以下四項的元組:
A股收盤:深證區塊鏈50指數上漲3.48%:金色財經消息,A股收盤,上證指數報3323.27點,收盤上漲1.14%,深證成指報11338.67點,收盤上漲1.08%,深證區塊鏈50指數報3345.8點,收盤上漲3.48%。區塊鏈板塊收盤上漲4.17%,數字貨幣板塊收盤上漲4.74%。[2023/4/28 14:32:54]
Ru:交易執行后包含該交易收據的區塊累計消耗gas量。
Rl:交易執行期間所產生的日志集合。
Rb:依據日志信息構建的Bloom過濾器。
交易狀態碼。
logsBloom:該字段用于存儲以太坊事件,可依據日志記錄器地址或日志主題進行索引。
difficulty:本區塊的難度水平,根據前一個區塊難度水平及時間戳計算得來。
number:所有先前區塊的個數,創世區塊的number字段為0;
gasLimit:當前區塊允許的最大gas消耗量。
gasUsed:當前區塊內所有交易所消耗的gas總量。
timestamp:區塊初始化時的Unix時間。
extraData:可供礦工添加任意數據的字節數組
mixHash:用于驗證區塊是否被正確處理的哈希值。
nonce:用于驗證區塊是否被正確處理的哈希值。
區塊體包含:
比特幣全網未確認交易數量為14960筆:金色財經報道,據BTC.com數據顯示,目前比特幣全網未確認交易數量為14960筆,全網算力為294.45 EH/s,24小時交易速率為3.94交易/s,目前全網難度為43.05 T,預測下次難度下調0.5%至42.84 T,距離調整還剩10天22小時。[2023/3/1 12:34:56]
叔區塊頭列表
交易序列:本區塊中交易列表。
整體有效性:要確定一個區塊的有效性,當且僅當其滿足以下幾個條件:區塊的叔區塊列表哈希、交易區塊哈希以及給定交易內部一致打包區塊的過程包括四個階段:
驗證叔區塊列表:
一個區塊必須指定一個父區塊,并且必須指定0個或多個叔區塊
區塊B中包含的叔區塊必須具有以下性質:a.區塊B的叔區塊必須是區塊B第k代祖先區塊的直接子塊,其中2<=k<=7。b.區塊B的叔區塊不能是區塊B的祖先。c.叔區塊的區塊頭必須有效,但是無需被驗證也無需是有效區塊。d.叔區塊必須與先前區塊打包的叔區塊以及本區塊的其他叔區塊不同。
交易驗證:區塊頭中gasUsed的數值必須與最后一筆交易打包后區塊累計的gas消耗量一致。
申請獎勵:如果存在叔區塊,則叔區塊可用于增加本區塊受益人與產生叔區塊的受益人的賬戶余額。當同一區塊高度有多個有效區塊時,叔區塊機制有助于激勵礦工維護網絡正常運行。叔區塊獎勵劃分規則:叔區塊獲得其基礎獎勵的87.5%,包含該叔區塊的主鏈區塊獲得基礎獎勵的3.125%。不過,叔塊受益人和侄塊受益人都不能得到叔塊中的交易手續費。
哈薩克斯坦總統簽署限制加密采礦的能源使用的法案:金色財經報道,根據總統網站上發布的一份聲明,哈薩克斯坦總統 Kassym-Jomart Tokayev 簽署了限制國內加密貨幣礦工使用能源的法律。哈薩克斯坦一直在努力滿足電力需求,因為包括非法運營商在內的比特幣礦工在過去幾年涌入該國領土,給電網基礎設施帶來壓力。新法律允許礦工僅在有盈余時使用國家電網的電力,有效地限制了該行業的能源使用。盈余將分配給有執照的運營商,他們將能夠競標電力。那些使用可再生能源、進口電力或自己未連接電網的能源發電能力的礦工將不受此上限限制。
該立法要求礦工必須獲得當局的許可,并對行業的稅收制度進行了一些小幅調整。政府還將批準一份公司可以使用的礦池清單,并將要求礦工將他們開采的加密貨幣出售給在該國經濟特區阿斯塔納國際金融中心注冊的加密貨幣交易所。到 2024 年,礦工將不得不將一半的加密貨幣出售給此類交易所,到 2025 年將達到 75%。[2023/2/8 11:53:49]
驗證狀態以及區塊nonce。通過檢查最終狀態是否與區塊頭中stateRoot一致即可檢驗。
而比特幣中區塊結構如下
-來源:5minuteblockchain-區塊包含:
區塊頭:
timestamp:區塊初始化時的Unix時間。
nonce:用于PoW算法的計數器。
Version:用于追蹤軟件或協議升級的版本號。
Previous:鏈上父區塊哈希值。
NFT交易聚合器Gem已支持OpenSea稀有度開放標準OpenRarity:10月8日消息,NFT交易聚合器Gem首席開發者Vasa在社交媒體上透露,用戶現在可以使用“刷新”功能自行刷新Gem上任何NFT藏品或任何特定項目的元數據+價格+排名。此外,Gem目前已支持OpenSea的NFT稀有度開放標準OpenRarity,這意味著Gem現在支持了4家NFT排名服務提供商。[2022/10/8 12:49:19]
MerkelRoot:本區塊中交易所構造的Merkel樹樹根的哈希值。
Difficulty:產生該區塊所必須的難度值,該值在挖礦過程中根據該區塊前一定數量的區塊產生所用時間動態調整。
區塊體包含:
交易序列:本區塊中包含交易的列表
交易
以太坊交易T
以太坊中包含兩類交易:消息調用與合約創建。每筆交易的執行都將引起機器狀態μ的變化。每筆交易包括以下字段:
nonce:發送方先前發出的交易總數量。
gasPrice:單位gas消耗需支付給網絡的以太幣數量。
gasLimit:該交易執行過程中能夠消耗的最大gas數量。
to:消息調用接收方地址。
value:發送方轉移給消息接收方的以太幣數量。
v,r,s:交易簽名相關字段。
Init:不限制大小的字節數組,包含合約創建所需的EVM字節碼。
data:不限制大小的字節數組,用于指定消息調用交易的輸入數據。
比特幣交易
-來源:gomedici-
交易頭
比特幣協議版本
輸入數量
輸出數量
區塊鎖定時間
一個或多個輸入
先前交易的哈希值
先前交易的輸出的索引號。
解鎖腳本以及解鎖腳本長度,用于證明該UTXO的所有權。
一個或多個輸出
發送方給接收方發送的比特幣數量。
鎖定腳本以及鎖定腳本長度。‘scriptPubKey’是一個條件公鑰腳本。任何可以滿足公鑰腳本條件的人都可以花費該UTXO中的比特幣。
以太坊的Gas&比特幣的交易費
EthereumGas
由于以太坊是圖靈完備的系統,為了避免計算資源被濫用,以太坊中所有編程計算操作都要收取交易費。計算就要投入成本,需要的計算資源越多則與之對應的交易費就越高。用于購買gas的以太幣被轉入受益者地址。如果賬戶余額地址不能支付gas的費用,那么該交易就被認為是無效的。在以太坊平臺中,只有執行交易的過程中才涉及gas消耗。每筆交易都有一個與之關聯的具體gas消耗量。gasLimit與gasPrice也在交易中指定。
gasLimit:發送方愿意支付用于交易執行的gas最大數量。gasLimit的存在,有助于解決交易陷入無限循環而無法退出的情況。在交易執行之后,如果仍有gas剩余,那么這些gas將返回給發送方。但是,如果交易因為某種原因執行失敗,gas就不再退回。
gasPrice:gasPrice是指“你想支付多少以太幣來購買一單位gas”。交易發送方可以任意指定gasPrice的具體數值,然而,礦工也可以自由忽略一些gasPrice不符合他們需求的交易。
比特幣交易費
比特幣交易費是由礦工收取的一小筆款項。比特幣交易費并不是必須的,但由于礦工可以自由忽略任意交易,添加手續費則可以激勵礦工將你的交易打包進區塊鏈中。比特幣交易費的數值等于交易輸入減去輸出所得到的差值。
狀態&賬戶類型
比特幣
比特幣地址是一個ECDSA公鑰,該地址的余額并不保存在比特幣區塊鏈中。如果你想要知道如何查看比特幣余額,個人錢包應用通過掃描區塊鏈數據庫,計算出與某一具體地址相關的所有UTXO,進而求出該地址的比特幣余額。
以太坊
以太坊區塊鏈始終維護一個世界狀態σ,其中包含了地址與賬戶狀態的映射。
以太坊包含兩種類型的賬戶:
由私鑰控制的外部持有賬戶
由智能合約控制的合約賬戶。
賬戶狀態σ:賬戶狀態存儲在區塊鏈之外的改良版MerklePatriciaTrie樹中。如果你想更深入的了解狀態數據庫中MPT樹是如何存儲的,請觀看該視頻。賬戶狀態包含四個字段:
nonce:包含合約創建交易在內的由該地址發出的所有交易數量。
balance:該地址持有的以太幣數量。
storageRoot:編碼賬戶存儲內容的MerkelPatricia樹的根節點哈希。
codeHash:存儲在狀態數據庫中EVM字節碼的哈希值。與其他字段不同,該字段是不可變的。
有興趣看看黃皮書么?!
我確信你一定非常希望通過閱讀黃皮書了解更多有關以太坊的設計細節,上文所提到的比特幣與以太坊的不同僅是我的個人觀點。但是,如果你真的下決心去讀,可以參考我的經驗,因為這并不是一件容易的事情。我記得當我告訴一個朋友我要開始閱讀黃皮書并寫一些相關博客的時候,他跟我說:“天吶!不可能的:D。雖然很有教育意義,但是依舊是不可能的!”他是對的,我閱讀以太坊黃皮書的目的是寫一篇總結,就像我讀完比特幣白皮書一樣,但是當我第一遍讀完黃皮書的時候,寫總結簡直太難了。為了寫一篇黃皮書總結,我斷斷續續讀了4遍:D我第一遍讀完黃皮書之后,我只能掌握大概50%-60%的內容,因為在閱讀數學推導的時候我遇到了很大困難。但是,通過多次閱讀黃皮書,我更深入地理解了以太坊的設計原理以及我先前在以太坊上開發去中心化應用時所遇到的一些Bug。總的來說,我還是非常滿意的。以下是當時對我幫助很大的一些文章鏈接:
這是我讀過的最棒的解釋黃皮書的文章。
特別感謝我在devcon學者項目的同事@shaqueilla.seale,她發給我了解讀以太坊黃皮書系列文章
以太坊中數據是如何存儲的
對我而言,黃皮書中最難理解的部分是:
代數符號,這個答案給了我很多幫助
約定部分,這個gist給了我很多幫助
原文鏈接:
https://medium.com/ethereum-foundation-devcon-scholars/the-mystery-behind-ethereums-shine-76f9011deb8a
作者:EmanHerawy
翻譯&校對:stormpang&阿劍
Tags:以太坊GAS比特幣區塊鏈以太坊價格走勢UGAS-JUN21價格比特幣市值跌破5000億美元是真的嗎區塊鏈運用的技術中不包括哪一項內容
親愛的BKEXer: BKEXGlobal將于新加坡時間2019年9月7日15:00上線DOGE.
1900/1/1 0:00:00尊敬的用戶, BiKi平臺將于9月6日開啟“6-8折認購34萬ETM”活動,詳情如下,本次搶購共分三輪,搶購要求不同,分時開啟,用戶可點擊首頁左上角BiKiLab查看或者點擊搶購鏈接參與活動.
1900/1/1 0:00:00尊敬的用戶: 受全網算力暴增等影響,BTC收益率出現波動。K網國際站為了保證用戶的收益率,現決定對已經推出的KEX首款礦池產品—BTC螞蟻礦機S9永續合約款進行降價.
1900/1/1 0:00:00尊敬的ZB用戶: ZB.com將于香港時間2019年9月5日14:00開放HX充值及提現業務,并將于2019年9月6日14:00在活動區開放HX/USDT及HX/QC交易.
1900/1/1 0:00:00GGBTC交易所將于2019年9月6日上線EMOGI,屆時將開放LOL充值和交易服務,具體如下:開放交易開始時間:2019年9月6日14:00開放充值時間:2019年9月6日14:00開放提現時.
1900/1/1 0:00:00全球經濟的衰退似乎越來越近,連被看來是人類希望的比特幣也是一蹶不振。有很多朋友都在問我后續對比特幣的看法。我想先不聊比特幣之后會怎樣這樣的話題,畢竟前面的文章都已經講過很多了.
1900/1/1 0:00:00