區塊鏈之虛擬幣傳奇

簽名驗證邏輯代碼

賬戶地址(公鑰):2A39CBa2390FDe
賬戶地址 私鑰:378sknJhidhLIqdngalket
公鑰 私鑰可以互相加密解密

簽名過程:
hash('{"付款地址":"2A39CBa2390FDe","收款地址":"AAC9CBa239aFcc","金額":"1btc"}') = 8aDB23CDEA6
#將交易信息hash加密爲交易摘要
sign("8aDB23CDEA6","378sknJhidhLIqdngalket") = 3cdferdadgadg
#可以將sign理解爲使用私鑰對交易摘要進行加密


驗證過程:
verify("3cdferdadgadg","2A39CBa2390FDe") = 8aDB23CDEA6 
#因爲私鑰公鑰可以互相加解密,所以這裏利用公鑰就可以解密出加密過的交易摘要
if(verify("3cdferdadgadg","2A39CBa2390FDe") 
    == hash('{"付款地址":"2A39CBa2390FDe","收款地址":"AAC9CBa239aFcc","金額":"1btc"}')):
    #寫入賬本
    #廣播
else:
    #donothing

工作量證明

交易的有效性驗證就是簽名驗證邏輯代碼裏面提到的內容

一條鏈路由此形成:但是裏面沒加隨機數,應該還有隨機數

區塊就是一系列交易信息的打包,只需要驗證最後一個區塊的有效性即可驗證整條鏈的真實性

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章