bitcoinlitelite項目開發記錄(2)

該項目目標是實現一個最小的可運行版本的類似bitcoin的blockchain。

  • 目的:
    • 闡述bitcoin的機制
    • 熟悉相關知識點
      github地址:bitcoinlitelite

說明

  • Transaction指的是bitcoin里面的交易,里面包含了此次交易的信息。多個Transaction構成一個集合,形成block。

  • 流程是:userA 要給userB轉賬,userA會打包一個Transaction,里面包含了userA的address(這里暫時用publicKey取代),還有userA用privateKey Sign之后的信息。其他的user收到該筆Transaction,根據Transaction里面包含的userA的address,通過公鑰算法驗證該筆Transaction是否就是userA發出的。

  • POW:多個節點都收到一定的Transaction之后,誰來打包?POW算法決定誰來打包,某個user,假設C,C必須根據規則不斷生成Hash,直到生成的Hash符合這次打包規則。C把該block信息廣播,其他節點驗證其POW是否正確,如果是,block加入到chain里。

  • 包含文件:

    • btc/transaction.go
    • consensus/pow.go
Transaction
  • Header:
    • From 從哪個地址發出
    • To 發到哪個地址
    • PayloadHash 對交易內容進行SHA256
    • PayloadLen 交易內容的長度,用于最終解碼
    • Timestamp 交易產生時間
    • Nonce 可以理解為不斷遞增的數字,用于跟交易內容合并,產生HASH,然后匹配是否符合POW
  • Transaction:
    • Header 交易Header
    • Signature 交易發起者使用私鑰進行簽名
    • Payload 交易內容
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 簡介 不管你們知不知道以太坊(Ethereum blockchain)是什么,但是你們大概都聽說過以太坊。最近在新...
    Lilymoana閱讀 3,901評論 1 22
  • 甜甜是個奇怪的女孩子,內心敏感矛盾,珍視她的友誼,經常滯留在她自己的小圈子里不肯出來,沒有自信卻在某些時候異常膨脹...
    LanJinx閱讀 215評論 0 0
  • 親愛的 我剛偷瞄到 矮墻上兩只小貓又在約會了、輕點兒 可不能攪擾別人的美妙 你看吶 比你我浪漫 深顏色的偷親了淺顏...
    彌良閱讀 358評論 0 0