區塊鏈 位元幣中的區塊 賬戶驗證和記賬

2021-09-12 17:11:36 字數 1011 閱讀 6534

賬本驗證問題

賬戶所有權的證明

如果我要通過某個賬戶給另乙個賬戶轉賬,必然需要證明我對此賬戶的所有權。對於中心化的貨幣系統,我們只需要向銀行出示密碼即可,但是對於去中心化的系統,如果我們也通過出示密碼給其他節點,來證明我們對賬戶的所有權,那麼我們的密碼也就洩露給了其他節點(即使用者)。

事實上這是乙個現代密碼學中比較基礎的問題,說白了就是如何在不暴露自己私鑰的前提下,自證身份,也有很成熟的解決方法:利用非對稱加密演算法。關於演算法的細節,計畫在後面單獨說說現代密碼學的一些基礎演算法,這裡我們就用模擬的方法描述一下。

首先我們來確定要解決的問題:

a要從賬戶x中轉賬一筆錢給賬戶y,就需要向全網廣播一條訊息,網路中的其他節點收到訊息後,要有方法能夠驗證廣播這條訊息的人(也就是a),確實擁有賬戶x的所有權。同時,訊息中不能包含賬戶x的密碼,否則就意味著賬戶的控制權洩露給了全網的使用者。

解決方法是這樣的:

由a向全網發布廣播,廣播的訊息中需要包括:

①           原始交易資訊(如打款賬戶位址、收款賬戶位址、打款金額等)

②           原始交易資訊經過hash演算法後得到的一條摘要資訊

③           簽名

前兩條很好理解,關於簽名,我們可以這麼理解:

有這麼個簽名函式,輸入是打款賬戶的私鑰(只有賬戶的所有者才有)和②摘要資訊,而輸出就是③簽名,即:

簽名= sign (私鑰, 交易資訊摘要)

網路中其他節點收到廣播後需要驗證a是否有權將賬戶x中的錢轉出去,驗證步驟如下:

廣播中①原始交易資訊中,有打款者的賬戶位址,這個位址其實就相當於公鑰。

相對應於簽名函式,還有個校驗函式,輸入是③簽名和公鑰(也就是①中的打款賬戶位址),輸出則是摘要資訊,即:

交易資訊摘要 = verify(簽名, 公鑰)

只需要比對verify函式算出的交易資訊摘要與廣播中的②交易資訊摘要相吻合,那麼就認為廣播這條訊息的人(也就是a),擁有正確的私鑰,即擁有賬戶x的所有權。

而通過公鑰是無法推算出私鑰的,因此也不會有洩露私鑰的風險。

區塊鏈 位元幣中的區塊 賬戶驗證和記賬

賬本驗證問題 賬戶所有權的證明 如果我要通過某個賬戶給另乙個賬戶轉賬,必然需要證明我對此賬戶的所有權。對於中心化的貨幣系統,我們只需要向銀行出示密碼即可,但是對於去中心化的系統,如果我們也通過出示密碼給其他節點,來證明我們對賬戶的所有權,那麼我們的密碼也就洩露給了其他節點 即使用者 事實上這是乙個現...

區塊鏈 位元幣中的區塊 賬戶驗證和記賬

賬本驗證問題 賬戶所有權的證明 如果我要通過某個賬戶給另乙個賬戶轉賬,必然需要證明我對此賬戶的所有權。對於中心化的貨幣系統,我們只需要向銀行出示密碼即可,但是對於去中心化的系統,如果我們也通過出示密碼給其他節點,來證明我們對賬戶的所有權,那麼我們的密碼也就洩露給了其他節點 即使用者 事實上這是乙個現...

區塊鏈和位元幣

1.區塊鏈解決了啥問題 乙個東西有價值,一定是解決了乙個社會上的痛點。我們說人工智慧是未來的趨勢,因為它主要解決的是生產力的公升級問題,工業革命代替人的簡單體力勞動,人工智慧代替的是例如思考之類的複雜勞動。區塊鏈解決的是生產關係的問題,也就是信任的問題,想一下為什麼 需要有支付寶,因為如果沒拿到貨而...