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