Demi關於數字貨幣合約跟單系統開發技術方案

a1271916008發表於2023-04-25

交易/事務(Transaction):

學習過資料庫的讀者,應該能夠理解”事務“的含義,如果對事務一詞 不是很理解,可以搜尋“資料庫事務”來學習。

舉個例子,想象一張表, 裡面列出了某個電子貨幣所有賬戶的餘額。當從一個賬戶到另一個賬戶的轉賬請求發生時,這個資料庫的事務特性確保從一個 賬戶中減掉的金額會被加到另一個賬戶上。如果因為某種原因 , 往目標賬戶上增加金額的操作無法進行,那麼原賬戶中的金額也不會發生任何變化。 此外,當一個事務特性被應用到這個資料庫的時候,其他事務不能修改該 資料庫。 傳送者(建立者)對一個交易進行密碼學簽名,可以非常直觀地理解 為該資料庫增加了訪問保護。 在上面的電子貨幣的例子中, mint()函式中的一 個簡單檢查就可以確保只有持有賬戶金鑰的人才能從該賬戶向外轉賬。

區塊:

一個區塊就是若干交易的集合,它會被標記上時間戳和前一個區塊的 Hash 標識。區塊在經過雜湊運算後生成一份工作量證明 , 從而驗證區塊中的交易。 有效的區塊經過全網路的共識之後會被追加到區塊鏈中。 為什麼要這樣設計呢?因為在比特幣及以太坊這樣的完全去中心化的區塊 鏈中,需要解決被稱為 雙花攻擊 Cdouble-spend attack)的難題,即如果網路中 存在兩筆相互衝突的交易,它們都想花光同一個賬戶中的錢時會發生什麼情況 呢?
實際上網路會自動選擇一個交易序列,並打包到區塊中,然後在所有參與 節點中執行和分發(廣播)。 如果兩筆交易相互衝突,那麼最終被確認為後發生 的交易將被拒絕,不會被包含到區塊中。

這些塊按時間形成了一個線性序列,這正是區塊鏈這個詞的來源。區塊以 一定的時間間隔被新增到鏈上。對於以太坊, 這個間隔大約是 17 秒
作為“ 順序選擇機制”(也就是挖礦)的一部分,可能有時會發生區塊 被回滾的情況,但通常僅在鏈的“末端”。 在末端增加的塊越多,其發生回滾的 機率越小。因此交易被回滾甚至從區塊鏈中抹除也是可能的,但交易發生後等 待的時間越長, 這種情況發生的機率就越小。

創世區塊(  Genesis Block )是區塊鏈中的第一個區塊,其區塊序號是 0。 它 是區塊鏈中一一個不指向前一個區塊的區塊,因為沒有前一個區塊。 只有 當網路中的兩個節點有相同的創世區塊時,它們才會彼此配對。

共識協議:工作量證明(PoW)

目前以太坊使用工作量證明共識協議防止區塊鏈被篡改。 工作量證明系統 需要解決一個複雜的數學難題以建立新的區塊。 解決難題需要大量算力,這就 使建立區塊很困難。 每一個礦工都各自解決數學難題,其中 第一個解決難題的礦工是勝利者, 其得到的回報是 5 個以太幣和該區塊中全部 交易的交易費。 區塊有一個 區塊頭(Header)和一系列交易。每一個區塊都儲存前一個區塊的雜湊值,由 此建立一個相連的鏈。
那麼礦工是如何解決難題的?

礦工首先從所收到的廣播中收集新的未 挖出的交易,然後過濾掉不合法的交易。 合法的交易必須滿足正確地使用私鑰 簽名、賬戶有足夠的餘額進行交易等條件。
區塊頭包含 前一個區塊的雜湊值、 區塊序號、隨機數(Nonce)、 目標值( Target)、 時間戳(Timestamp)、 難度值 (Difficulty)、礦工地址 (Address)等內容。 時間戳表示區塊初始時間 。 以太坊使用  Ethash 雜湊演演算法, 目標值越低,發現隨機數需要的時間越 多; 目標值越高,發現隨機數需要的時間越少。

網路中的任何節點都可以檢查區塊鏈是否合法,首先檢查交易在區塊鏈中 是否合法以及時間戳的驗證情況, 然後檢查區塊的目標值和隨機數是否合法、 礦工是否得到合法的回報等。 如果網路中的節點接收到兩個不同的合法區塊鏈, 那麼所有區塊的整體難度值較高的那個區塊鏈將被視為合法的區塊鏈。

權益證明(PoS)

以太坊最終會切換到使用權益證明,以解決工作量證明過於消耗資源的問 題。 權益證明的主要思路是:  作為驗證節點 , 首先必須擁有一定數量的 以太幣, 根據以太幣的數量和時間會產生用於下注驗證區塊的權益。只有擁有權益的節 點才能有效驗證區塊,當所驗證的區塊被打包進鏈後,將獲得和權益成正比的 區塊獎勵。如果是驗證惡意或錯誤的區塊,那麼所下注的權益將被扣除。

以太坊 虛擬機器(EVM)

以太坊虛擬機器 (EVM, Ethereum Virtual Machine)是以太坊中智慧合約的執行環境。

編譯合約

在以太坊虛擬機器上執行的是合約的宇節碼形式,需要在部署之前先對合約 進行編譯,可以選擇使用 Remix 或 sole 編譯器,之後章節會繼續講解。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983064/viewspace-2948660/,如需轉載,請註明出處,否則將追究法律責任。

相關文章