以太坊 簡介

2022-05-07 18:09 更新

該手冊僅供技術學習,挖礦以及虛擬貨幣交易均為違法行為?。?!

什么是區(qū)塊鏈?

對區(qū)塊鏈最好的描述是將其描述為一個公共數(shù)據(jù)庫,它由網(wǎng)絡中的許多計算機更新和共享。

"區(qū)塊"指的是數(shù)據(jù)和狀態(tài)是按順序批量或"區(qū)塊"存儲的。 如果你向別人發(fā)送 ?ETH?,需要將交易數(shù)據(jù)添加到一個區(qū)塊中才算成功。

"鏈"指的是每個區(qū)塊加密引用其父塊。 換句話說,區(qū)塊被鏈接在一起。 在不改變所有后續(xù)區(qū)塊的情況下,區(qū)塊內(nèi)數(shù)據(jù)是無法改變,但改變后續(xù)區(qū)塊需要整個網(wǎng)絡的共識。

網(wǎng)絡中的每臺計算機都必須就每個新區(qū)塊和鏈達成一致。 這些計算機被稱為“節(jié)點”。 節(jié)點保證所有與區(qū)塊鏈交互的人都有相同的數(shù)據(jù)。 要完成此分布式協(xié)議,區(qū)塊鏈需要一個共識機制。

與比特幣一樣,以太坊目前使用工作量證明 (?PoW?) 作為共識機制。 這意味著,任何人想要在鏈上添加新的區(qū)塊,都必須解決一個困難的難題,該難題需要大量的算力來解決。 解決了這個難題,就 "證明"你已經(jīng)花費了算力資源。 這種操作被稱為挖礦。 挖礦通常充滿了粗暴的嘗試和錯誤,但是成功添加區(qū)塊會得到 ?ETH ?獎勵。

新的區(qū)塊會被廣播到網(wǎng)絡中的節(jié)點,經(jīng)過檢查和驗證,同步更新狀態(tài)。

綜上所述,當你向別人發(fā)送 ?ETH ?時,這筆交易必須被打包并包含在一個新的區(qū)塊中。 然后將更新后的狀態(tài)與整個網(wǎng)絡共享。

以太坊簡介

在以太坊網(wǎng)絡中,有一臺規(guī)范化計算機(稱為以太坊虛擬機,或 ?EVM?),其狀態(tài)得到以太坊網(wǎng)絡中所有人的一致同意。 每個參與以太坊網(wǎng)絡的人(每個以太坊節(jié)點)都會保存一份這臺計算機的狀態(tài)。 此外,任何參與者都可以廣播請求這臺計算機進行任意計算。 每當廣播這樣的請求網(wǎng)絡時,網(wǎng)絡上的其他參與者就會驗證、確認并進行(“執(zhí)行”)計算。 這個命令會導致 ?EVM ?的狀態(tài)變化,并且在整個網(wǎng)絡中傳播。

計算請求被稱為交易請求;所有交易的記錄以及 ?EVM ?的當前狀態(tài)都存儲在區(qū)塊鏈中,而區(qū)塊鏈又由所有節(jié)點存儲并達成一致。

加密機制確保了一旦交易被驗證為有效并添加到區(qū)塊鏈中后,之后就不會被篡改。 同樣的機制還確保所有交易都以適當?shù)摹皺嘞蕖焙灻蛨?zhí)行(除了 Alice 本人,任何人都不能從 Alice 的賬戶發(fā)送數(shù)字資產(chǎn))。

什么是以太幣(ETHER)?

以太幣 (?ETH?) 是以太坊上的的原生加密貨幣。 為什么要有以太幣的存在?目的是為了允許算力市場的存在。 這種市場為參與者提供了一種經(jīng)濟激勵,以驗證并執(zhí)行交易請求,為網(wǎng)絡提供計算資源。

任何廣播交易請求的參與者也必須向網(wǎng)絡提供一定數(shù)量的以太幣作為獎勵。 這筆獎金將頒發(fā)給最終驗證交易、執(zhí)行交易并將其提交到區(qū)塊鏈,并在網(wǎng)絡中廣播的任何人。

支付的 ?ETH ?數(shù)量對應于進行計算所需的時間。 這類獎勵也可以防止惡意參與者通過請求執(zhí)行無限循環(huán)或資源密集型腳本來故意堵塞網(wǎng)絡,因為這些參與者將為自己的計算時間付費。

什么是智能合約?

實際上,參與者不會每當在 ?EVM ?上請求計算時都編寫新代碼。 而是應用程序開發(fā)者將程序(可重復使用的代碼片段)上傳到 ?EVM ?存儲中,然后用戶通過不同的參數(shù)請求執(zhí)行這些代碼片段。 我們將這些上傳至網(wǎng)絡并由網(wǎng)絡執(zhí)行的程序稱為智能合約。

簡單來說,你可以把智能合約想象成一種自動售貨機:通過特定參數(shù)調(diào)用腳本后,如果滿足某些特定條件,就會執(zhí)行一些操作或計算。 例如,如果調(diào)用者將以太幣發(fā)送給特定的接收者,通過簡單的賣方智能合約就可以創(chuàng)建和分配數(shù)字資產(chǎn)所有權。

任何開發(fā)者都可以創(chuàng)建智能合約并在網(wǎng)絡上公開,并使用區(qū)塊鏈作為其數(shù)據(jù)層,向網(wǎng)絡支付費用。 然后,任何用戶都可以調(diào)用智能合約來執(zhí)行其代碼,并再次向網(wǎng)絡支付費用。

因此,通過智能合約,開發(fā)者可以任意構建和部署面向用戶的復雜應用程序和服務,例如市場、金融工具、游戲等。

術語

Blockchain 區(qū)塊鏈

所有已在網(wǎng)絡歷史上提交給以太坊網(wǎng)絡的區(qū)塊的序列。 如此命名,是因為每個區(qū)塊都包含對前一個區(qū)塊的引用,這有助于我們在所有區(qū)塊間(同時在精確的歷史記錄)上保持順序。

ETH 以太幣

以太坊的原生加密貨幣。 用戶向其他用戶支付以太幣,使自己的代碼執(zhí)行請求得以滿足。

EVM 以太坊虛擬機

以太坊虛擬機是一個全局虛擬計算機,以太坊網(wǎng)絡每個參與者都會存儲并同意其狀態(tài)。 任何參與者都可以請求執(zhí)行 ?EVM ?上的任意代碼;代碼執(zhí)行會改變 ?EVM ?的狀態(tài)。

Nodes 節(jié)點

存儲 ?EVM ?狀態(tài)的實體機器。 節(jié)點間相互通訊傳播關于 ?EVM ?狀態(tài)變化和新狀態(tài)更改的信息。 任何用戶還可以通過廣播來自節(jié)點的代碼執(zhí)行請求來請求代碼執(zhí)行。 以太坊網(wǎng)絡本身就是所有以太坊節(jié)點及其通信的集合。

帳戶

存儲以太幣之處。 用戶可以初始化帳戶,將以太幣存入帳戶,并將以太幣轉給其他用戶。 帳戶和帳戶余額儲存在 ?EVM ?中的一個大表格中,是 ?EVM ?總體狀態(tài)的一部分。

交易

“交易請求”是在 ?EVM ?上執(zhí)行代碼請求的正式術語?!敖灰住笔侵敢淹瓿傻慕灰渍埱蠛拖嚓P的 ?EVM ?狀態(tài)變化。 任何用戶都可以從節(jié)點向網(wǎng)絡廣播交易請求。 為了使交易請求影響 ?EVM ?的一致狀態(tài),就必須由其他節(jié)點對其進行驗證、執(zhí)行和“提交到網(wǎng)絡”。 執(zhí)行任何代碼都會導致 ?EVM ?的狀態(tài)更改;一旦提交后,該狀態(tài)更改將廣播到網(wǎng)絡中的所有節(jié)點。 以下為一些交易示例:

  • 從我的帳戶發(fā)送 X 個 ?ETH ?到 Alice 的帳戶。
  • 將一些智能合約代碼發(fā)布到 ?EVM ?內(nèi)存中。
  • 使用 Y 參數(shù)執(zhí)行 ?EVM ?中 X 地址的智能合約代碼。

區(qū)塊

交易量巨大,因此交易分批或分區(qū)塊“提交”。 區(qū)塊通常包含數(shù)十至數(shù)百筆交易。

智能合約

是開發(fā)者發(fā)布在 ?EVM ?內(nèi)存中的可重用代碼片段(程序)。 任何人都可以通過提出“交易請求”來請求執(zhí)行智能合約代碼。 因為開發(fā)人員可以通過發(fā)布智能合約將任意可執(zhí)行應用程序寫入 ?EVM?(游戲,市場,金融工具等),所以這些通常也稱為 ?dapp ?或去中心化應用。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號