美文网首页区块链技术 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