區塊鏈是一個分散的和加密安全的數據庫。在這個分散的網絡中,任何參與者都有一個地址,我們稱之為公鑰,它與所謂的私鑰有很強的連接。存儲在區塊鏈中的數據可以是任何東西,但在大多數情況下,這些數據集是事務。這就是我們使用加密貨幣的地方——加密貨幣僅僅是一個區塊鏈網絡,其數據就是事務。在本文中,我想更深入地研究這個領域,并向您展示加密貨幣的實際工作方式。
數字貨幣實際上是如何工作的?
跟蹤資金——以賬戶為基礎的分類賬系統
在區塊鏈技術中,有兩種可能的方法來跟蹤網絡中的參與者所擁有的資金。比特幣網絡使用的系統是所謂的基于交易的分類賬。我將在另一篇文章中集中討論這個問題。最直觀的使用方式是基于帳戶的分類賬。簡單地說,在這個系統中,每個用戶都有一個具有以下屬性的帳號:
因此,該帳戶是一個包含用戶及其資金的公鑰的數據集。存在的每個帳戶都存儲在塊鏈中。資金將隨著每一個正在生成的塊而更新。如果一個用戶想要將他的一些硬幣轉移到另一個公鑰,他就會生成一個事務。交易是一個包含以下資料集:
事務 = {發件人、收件人、資金、簽名}
變量發送者代表資金發送者的公鑰,而變量接收者代表接收代幣的公鑰。可變基金指的是被轉移的代幣數量。簽名是使用橢圓曲線密碼術生成的,并證明私鑰確實是由發送代幣的人擁有的。如果您對這個過程不再熟悉,請再次查看一下了解如何編寫橢圓曲線密碼術。一旦交易數據集位于區塊鏈的最新塊中,資金就會被正式轉移。賬戶分類帳系統中的區塊結構可能是這樣的:
數字貨幣實際上是如何工作的?
每個事務數據集都包含發送方的公鑰、接收方的公鑰、所轉移的資金數額和發送方的簽名。帳戶數據是一個帳戶列表,其中每個帳戶只是一個只包含一個公鑰和資金數額的數據集。
網絡中的事務
用戶生成事務后,將該數據集發送到整個網絡,以便對其進行驗證。理論上應該是這樣的。實際情況是一個由完全節點和輕節點組成的網絡。這些完整的節點是網絡參與者,負責收集事務數據集、對它們進行驗證并將它們添加到它們生成的塊中。輕節點只是網絡的用戶,它們發送和接收資金。因此,產生事務的輕節點將事務數據集發送到整個節點,然后對其進行驗證。
確認程序要求整個節點查看簽名是否有效,如果匯款人在錢包中的資金數額足以轉移硬幣。因此,他得到區塊鏈的最后一個塊,并查找帶有用戶公鑰的帳戶,以檢查自有資金的價值是否至少與所轉移資金的價值一樣高。如果簽名和基金檢查結果為正值,發送方和接收方的帳戶將被更新,交易將被添加到最新的塊中。在一個實際生成該塊的網絡參與者收集了足夠的事務之后,他將該塊發送給塊鏈中的每個人。其他網絡參與者檢查塊中的數據及其有效性。在得到每個節點的接受之后,區塊鏈就會被更新,資金就會被轉移。資金轉移程序見下表。
數字貨幣實際上是如何工作的?
因此,現在您可能已經了解了如何使用區塊鏈技術處理加密貨幣的基本知識了。在下面的文章中,我們將編寫一個基于帳戶的分類帳系統。
《電鰻快報》
相關新聞