美文网首页区块链技术 blockchain
bitcoinlitelite项目开发记录(3)

bitcoinlitelite项目开发记录(3)

作者: 糖酱桑 | 来源:发表于2017-05-05 10:25 被阅读34次

该项目目标是实现一个最小的可运行版本的类似bitcoin的blockchain。

  • 目的:
    • 阐述bitcoin的机制
    • 熟悉相关知识点
      github地址:bitcoinlitelite

说明

  • Block是多个Transaction的集合。Transaction全网广播的时候,是未确认状态的,需要被打包成Block,写入到BlockChain里,才是真正的交易确认。Block还包含了当前打包者的信息,签名,以及POW需要Nonce等。
  • 最终Block与Block串联起来,形成Blockchain。
  • Block全网广播之后,节点收到,会根据几个维度判断该Block是否合法:
    • BlockHeader是否符合POW要求,比如,POW当前要求的难度是产生的HASH里,前10个是0,那么节点会根据BlockHeader里的信息,产生HASH,看看是否符合
    • Block的签名是否正确。即,采用Header里的Origin对该签名验证,是否正确。该验证是为了确认是否该区块是该Origin地址产生的。
    • MerkleTree是否正确,判别当前的Block包含的Transaction是否是对的
Block 数据结构
  • BlockHeader

    • Origin 打包者的地址/公钥
    • PrevBlock 上一个Block的地址
    • MerkleRoot 包含的交易形成的Merkle
    • Timestamp 打包时间
    • Nonce 可以理解为不断递增的数字,用于跟交易内容合并,产生HASH,然后匹配是否符合POW
  • Block

    • Header 包的具体内容
    • Signature 打包者用自己私钥对当前的block的Hash进行签名
    • Transactions 该区块包含的所有transaction

相关文章

网友评论

    本文标题:bitcoinlitelite项目开发记录(3)

    本文链接:https://www.haomeiwen.com/subject/qlpjtxtx.html