對區(qū)塊鏈最好的描述是將其描述為一個(gè)公共數(shù)據(jù)庫,它由網(wǎng)絡(luò)中的許多計(jì)算機(jī)更新和共享。
"區(qū)塊"指的是數(shù)據(jù)和狀態(tài)是按順序批量或"區(qū)塊"存儲的。 如果你向別人發(fā)送 ?ETH
?,需要將交易數(shù)據(jù)添加到一個(gè)區(qū)塊中才算成功。
"鏈"指的是每個(gè)區(qū)塊加密引用其父塊。 換句話說,區(qū)塊被鏈接在一起。 在不改變所有后續(xù)區(qū)塊的情況下,區(qū)塊內(nèi)數(shù)據(jù)是無法改變,但改變后續(xù)區(qū)塊需要整個(gè)網(wǎng)絡(luò)的共識。
網(wǎng)絡(luò)中的每臺計(jì)算機(jī)都必須就每個(gè)新區(qū)塊和鏈達(dá)成一致。 這些計(jì)算機(jī)被稱為“節(jié)點(diǎn)”。 節(jié)點(diǎn)保證所有與區(qū)塊鏈交互的人都有相同的數(shù)據(jù)。 要完成此分布式協(xié)議,區(qū)塊鏈需要一個(gè)共識機(jī)制。
與比特幣一樣,以太坊目前使用工作量證明 (?PoW
?) 作為共識機(jī)制。 這意味著,任何人想要在鏈上添加新的區(qū)塊,都必須解決一個(gè)困難的難題,該難題需要大量的算力來解決。 解決了這個(gè)難題,就 "證明"你已經(jīng)花費(fèi)了算力資源。 這種操作被稱為挖礦。 挖礦通常充滿了粗暴的嘗試和錯(cuò)誤,但是成功添加區(qū)塊會得到 ?ETH
?獎(jiǎng)勵(lì)。
新的區(qū)塊會被廣播到網(wǎng)絡(luò)中的節(jié)點(diǎn),經(jīng)過檢查和驗(yàn)證,同步更新狀態(tài)。
綜上所述,當(dāng)你向別人發(fā)送 ?ETH
?時(shí),這筆交易必須被打包并包含在一個(gè)新的區(qū)塊中。 然后將更新后的狀態(tài)與整個(gè)網(wǎng)絡(luò)共享。
在以太坊網(wǎng)絡(luò)中,有一臺規(guī)范化計(jì)算機(jī)(稱為以太坊虛擬機(jī),或 ?EVM
?),其狀態(tài)得到以太坊網(wǎng)絡(luò)中所有人的一致同意。 每個(gè)參與以太坊網(wǎng)絡(luò)的人(每個(gè)以太坊節(jié)點(diǎn))都會保存一份這臺計(jì)算機(jī)的狀態(tài)。 此外,任何參與者都可以廣播請求這臺計(jì)算機(jī)進(jìn)行任意計(jì)算。 每當(dāng)廣播這樣的請求網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)上的其他參與者就會驗(yàn)證、確認(rèn)并進(jìn)行(“執(zhí)行”)計(jì)算。 這個(gè)命令會導(dǎo)致 ?EVM
?的狀態(tài)變化,并且在整個(gè)網(wǎng)絡(luò)中傳播。
計(jì)算請求被稱為交易請求;所有交易的記錄以及 ?EVM
?的當(dāng)前狀態(tài)都存儲在區(qū)塊鏈中,而區(qū)塊鏈又由所有節(jié)點(diǎn)存儲并達(dá)成一致。
加密機(jī)制確保了一旦交易被驗(yàn)證為有效并添加到區(qū)塊鏈中后,之后就不會被篡改。 同樣的機(jī)制還確保所有交易都以適當(dāng)?shù)摹皺?quán)限”簽名和執(zhí)行(除了 Alice 本人,任何人都不能從 Alice 的賬戶發(fā)送數(shù)字資產(chǎn))。
以太幣 (?ETH
?) 是以太坊上的的原生加密貨幣。 為什么要有以太幣的存在?目的是為了允許算力市場的存在。 這種市場為參與者提供了一種經(jīng)濟(jì)激勵(lì),以驗(yàn)證并執(zhí)行交易請求,為網(wǎng)絡(luò)提供計(jì)算資源。
任何廣播交易請求的參與者也必須向網(wǎng)絡(luò)提供一定數(shù)量的以太幣作為獎(jiǎng)勵(lì)。 這筆獎(jiǎng)金將頒發(fā)給最終驗(yàn)證交易、執(zhí)行交易并將其提交到區(qū)塊鏈,并在網(wǎng)絡(luò)中廣播的任何人。
支付的 ?ETH
?數(shù)量對應(yīng)于進(jìn)行計(jì)算所需的時(shí)間。 這類獎(jiǎng)勵(lì)也可以防止惡意參與者通過請求執(zhí)行無限循環(huán)或資源密集型腳本來故意堵塞網(wǎng)絡(luò),因?yàn)檫@些參與者將為自己的計(jì)算時(shí)間付費(fèi)。
實(shí)際上,參與者不會每當(dāng)在 ?EVM
?上請求計(jì)算時(shí)都編寫新代碼。 而是應(yīng)用程序開發(fā)者將程序(可重復(fù)使用的代碼片段)上傳到 ?EVM
?存儲中,然后用戶通過不同的參數(shù)請求執(zhí)行這些代碼片段。 我們將這些上傳至網(wǎng)絡(luò)并由網(wǎng)絡(luò)執(zhí)行的程序稱為智能合約。
簡單來說,你可以把智能合約想象成一種自動售貨機(jī):通過特定參數(shù)調(diào)用腳本后,如果滿足某些特定條件,就會執(zhí)行一些操作或計(jì)算。 例如,如果調(diào)用者將以太幣發(fā)送給特定的接收者,通過簡單的賣方智能合約就可以創(chuàng)建和分配數(shù)字資產(chǎn)所有權(quán)。
任何開發(fā)者都可以創(chuàng)建智能合約并在網(wǎng)絡(luò)上公開,并使用區(qū)塊鏈作為其數(shù)據(jù)層,向網(wǎng)絡(luò)支付費(fèi)用。 然后,任何用戶都可以調(diào)用智能合約來執(zhí)行其代碼,并再次向網(wǎng)絡(luò)支付費(fèi)用。
因此,通過智能合約,開發(fā)者可以任意構(gòu)建和部署面向用戶的復(fù)雜應(yīng)用程序和服務(wù),例如市場、金融工具、游戲等。
所有已在網(wǎng)絡(luò)歷史上提交給以太坊網(wǎng)絡(luò)的區(qū)塊的序列。 如此命名,是因?yàn)槊總€(gè)區(qū)塊都包含對前一個(gè)區(qū)塊的引用,這有助于我們在所有區(qū)塊間(同時(shí)在精確的歷史記錄)上保持順序。
以太坊的原生加密貨幣。 用戶向其他用戶支付以太幣,使自己的代碼執(zhí)行請求得以滿足。
以太坊虛擬機(jī)是一個(gè)全局虛擬計(jì)算機(jī),以太坊網(wǎng)絡(luò)每個(gè)參與者都會存儲并同意其狀態(tài)。 任何參與者都可以請求執(zhí)行 ?EVM
?上的任意代碼;代碼執(zhí)行會改變 ?EVM
?的狀態(tài)。
存儲 ?EVM
?狀態(tài)的實(shí)體機(jī)器。 節(jié)點(diǎn)間相互通訊傳播關(guān)于 ?EVM
?狀態(tài)變化和新狀態(tài)更改的信息。 任何用戶還可以通過廣播來自節(jié)點(diǎn)的代碼執(zhí)行請求來請求代碼執(zhí)行。 以太坊網(wǎng)絡(luò)本身就是所有以太坊節(jié)點(diǎn)及其通信的集合。
存儲以太幣之處。 用戶可以初始化帳戶,將以太幣存入帳戶,并將以太幣轉(zhuǎn)給其他用戶。 帳戶和帳戶余額儲存在 ?EVM
?中的一個(gè)大表格中,是 ?EVM
?總體狀態(tài)的一部分。
“交易請求”是在 ?EVM
?上執(zhí)行代碼請求的正式術(shù)語?!敖灰住笔侵敢淹瓿傻慕灰渍埱蠛拖嚓P(guān)的 ?EVM
?狀態(tài)變化。 任何用戶都可以從節(jié)點(diǎn)向網(wǎng)絡(luò)廣播交易請求。 為了使交易請求影響 ?EVM
?的一致狀態(tài),就必須由其他節(jié)點(diǎn)對其進(jìn)行驗(yàn)證、執(zhí)行和“提交到網(wǎng)絡(luò)”。 執(zhí)行任何代碼都會導(dǎo)致 ?EVM
?的狀態(tài)更改;一旦提交后,該狀態(tài)更改將廣播到網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。 以下為一些交易示例:
ETH
?到 Alice 的帳戶。
EVM
?內(nèi)存中。
EVM
?中 X 地址的智能合約代碼。交易量巨大,因此交易分批或分區(qū)塊“提交”。 區(qū)塊通常包含數(shù)十至數(shù)百筆交易。
是開發(fā)者發(fā)布在 ?EVM
?內(nèi)存中的可重用代碼片段(程序)。 任何人都可以通過提出“交易請求”來請求執(zhí)行智能合約代碼。 因?yàn)殚_發(fā)人員可以通過發(fā)布智能合約將任意可執(zhí)行應(yīng)用程序?qū)懭?nbsp;?EVM
?(游戲,市場,金融工具等),所以這些通常也稱為 ?dapp
?或去中心化應(yīng)用。
更多建議: