专栏首页华仔的技术笔记一些基本比特币概念

一些基本比特币概念

BitCoin区块头

比特币区块结构:

image.png

比特币的区块头结构:

image.png

1)版本号Version:大小4字节,每一个区块的版本号,标记着当前区块是在什么版本的bitcoin core系统版本下产生的;目前主链(main)上有两种版本号的区块,分别为1和2;(版本2中,coinbase做了升级,加入了区块高度参数);

2)时间戳Timestamps:大小4字节,核心字段,自1970-01-01T00:00 UTC之后开始的秒数;

3)难度系数difficulty: 大小4字节,存储格式为 难度系数的HASH值,该字段标记着当前区块被“挖”出来的难度(哈希碰撞出来的难度);

4)随机数Nonce: 大小4字节,当前区块工作量证明(Proof of Work)的参数(是以一坨0开头的数),存储格式为Hash值。hash计算的目标值,改值随机。当“矿机”节点经过Hash计算出的值为该随机数时,即为“挖矿”初步成果(经过后续六个区块的认证之后,才是真正的成果,终态);

5)前序区块头Hash地址(hashPrevBlock):大小32字节,为当前区块前一个区块的区块头的Hash值。

6)默克尔树根Hash地址(hashMerkleRoot):当前区块打包的所有交易是以默克尔树的方式记录的,该字段记录该交易树的树根hash值。当每一笔交易进入来区块被打包的时候,该字段需要重新计算更新一次;

Merkle树:

Merkle树是哈希值构成的二叉树。比特币中的Merkle树使用双 SHA-256,即SHA-256散列的SHA-256散列。

验证交易的过程和文件验证很相似,可以人为每个交易是一个小数据块,但比特币使用Merkle树的方式进行验证,相对于哈希列表,Merkle树是一种哈希二叉树,它的明显的一个好处是可以单独拿出一个分支来(作为一个小树)对部分数据进行校验,更加高效。

区块体则包括当前区块经过验证的、 区块创建过程中生成的所有交易记录。这些记录通过 Merkle树的哈希过程生成唯一的Merkle根并记入区块头.

SPV简化支付证明:

SPV(Simplified payment verification)机制:节点无需下载所有的区块数据,而只需要加载所有区块头数据(block header的大小为80B),即可验证这笔交易是否曾经被比特币网络认证过。

用户虽然不能自己验证交易(因为没有完全的交易信息详情),但如果能够从区块链的某处找到相符的交易(区块头中包含的Merkle Tree 的hash值,就可以链式最终定位到该笔交易是否曾经出现过),他就可以知道网络已经认可了这笔交易,而且得到了网络的多个确认。

Bloom布隆过滤器:

接上面的spv下载区块头部,就算全部区块的header信息均被下载,也才40MB,但是真的有必要吗?

中本聪在比特币系统中增加的一个功能:布隆过滤器(Bloom Filter);节点会在通信链路上建立一个布隆过滤器,过滤掉那些不包含有目标地址的交易信息,这一步能避免掉大量不相关的数据下载。

基于SPV机制和布隆过滤器功能,市面上出现了很多“轻钱包”,使得“轻钱包”在手机上就能运行,比如:ImToken

BTC-Relay(以太坊合约实现的比特币SPV节点):

是一种基于以太坊区块链的智能合约,把以太网络与比特币网络以一种安全去中心化的方式连接起来。BTC Relay通过以太坊的智能合约允许用户在以太坊区块链上验证比特币的交易。

其使用场景如下: 1.Alice和Bob同意使用BTCSwap合约来进行交易,Alice要买Bob的eth,Bob把他的 eth发送到BTCSwap合约 2.Alice向Bob发送bitcoin,她希望BTCSwap这个合约能知道这件事以便BTCSwap合约可以释放Bob之前的eth 3.Alice通过bitcoin的交易信息以及BTCSwap合约地址来调用btcrelay.relayTx(),btcrelay验证这笔交易通过后就触发BTCSwap合约里面的processTransaction方法 4.BTCSwap合约在被触发后确认这个btcrelay地址是一个合法地址,然后释放之前Bob的eth,交易完成。

屏幕快照 2018-04-12 下午6.05.33.png

RSK(RootStock):

是一个建立在比特币区块链上的智能合约分布式平台。它的目标是,将复杂的智能合约实施为一个侧链,为核心比特币网络增加价值和功能。RootStock采用了「混合」安全模式,同时包含了PoW机制和私人网络模式,基于联合的门限签名方案实现的安全联合工作量证明挖矿机制。它的目标是将复杂的智能合约实施为一个侧链,为核心比特币网络增加价值和功能。

RootStock是以太坊虚拟机的一个改进版本,它将作为比特币的一个侧链,使用了一种可转换为比特币的代币(根币,RTC)作为智能合约的「燃料」。RootStock与比特币之间采用的是双向锚定机制。

屏幕快照 2018-04-12 下午6.05.17.png

OMG(白皮书)

Hyperledger-Fabric(架构图)

跨链原子交易:

开发者创建了一个智能合约,使用脚本来实现DCR和LTC之间的原子跨链交易。而且,由于比特币的智能合约使用的也是脚本语言,因此原子跨链交易可以在DCR/LTC/BTC之间进行。此外,BCC和VTC这样的币拥有相似的脚本功能,因此这些币也有原子跨链交易功能。但是,像门罗币这样的币就这个功能,因此,这项功能并不具有普遍性。

注意,这是一个链上的原子跨链交易。也就是说,这不依赖于闪电网络或者隔离见证,只是使用脚本。

UGChain(双链结构)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 区块链数据上链的思考

    什么是“上链”?什么数据和逻辑应该“上链”?文件能不能上链?链上能不能批量查数据?“链下”又是什么?

    rectinajh
  • 以太坊白皮书(原版译文)以太坊(Ethereum ):下一代智能合约和去中心化应用平台

    rectinajh
  • 区块链技术世界

    rectinajh
  • 1分钟链圈 | EOS 超级节点 P2P 拒绝服务漏洞,官方已修复! 比特大陆:B3矿机没有虚假宣传,有问题矿机不足百分之一

    区块链大本营
  • 港股2017年表现全球最好,区块链将助推新经济牛市?

    2017年,不论是美股还是港股,整体表现都十分亮眼。美股道琼工业指数、标普500指数和纳斯达克指数涨幅都在20%左右或更高,创造了2013年以来的涨幅新高。港股...

    罗超频道
  • 区块链:定义未来金融与经济新格局

    用户1941540
  • 区块链技术公司谈在能源行业的颠覆

    我们都知道区块链以点对点的方式所闻名,可以对银行、保险、教育等行业带来机遇,同时也能对能源行业产生颠覆性的改变。

    用户2181597
  • 区块链APP开发的价值

    区块链APP开发(左彬 1 8 8- 2 7 4 1-4 7 1 4 微/电),区块链商城开发,区块链软件开发,区块链平台开发,区块链游戏开发,区块链系统开发,...

    左彬
  • 腾讯安全领御区块链亮相2020全球区块链创新发展大会

    今年以来,疫情加速了全球产业的转移和整合,区块链等数字技术受到重点关注。国内外企业纷纷布局区块链,国内多省市也相继出台区块链支持政策。在此背景下,赣州市委、市政...

    腾讯安全
  • 区块链的狂热,源自于对区块链的无知

    时至今日,依然有很多人沉醉在数字货币的迷梦里,因为在那里,他们为自己勾画了一个美妙的财富王国。在这样一个财富王国里,区块链则是建筑这一切美好的基石。尽管这座美妙...

    孟永辉

扫码关注云+社区

领取腾讯云代金券