用图表和代码来看看比特币是如何交易的。

- 编辑:admin -

用图表和代码来看看比特币是如何交易的。

  比特币交易程序的代码分析?

  比特币交易过程的代码分析

  除创世纪区块外,比特币是通过采矿生产的。比特币作为一种数字货币,其最重要的属性是货币属性,它依赖于流通和交易的区块链共识账户。

  从上面提到的几笔交易来看,爱丽丝显然没有足够的余额支付保罗的最后一笔交易。那么你如何防止爱丽丝作弊呢?这样做的一种方法是跟踪涉及Alice帐户余额变化的跨系统事务,这显然是太多的工作。另一种方法是在区块链中添加一个字段,以记录每个帐户的余额,这将增加记录的工作量。

  不过,还是要用图表来看看比特币是如何交易的。

  比特币交易过程的代码分析

  从上面的图片你可以看到,爱丽丝的每一个转帐都是要花一笔钱,爱丽丝把两个BTC转帐给保罗,她必须同时把剩下的25个BTC转到自己身上,这就是地址翻译。

  回到上面的问题,如何验证Alice是否有足够的余额支付交易。通过使用散列指针定位BTC生成的事务,并遍历所有后续事务以验证Alice的帐户余额是否足够,该方法非常简单。

  最后,看看比特币交易是如何在代码中实现的,并看一下伪代码如下:

  {?/元数据?散列:哈希代码1,它是通过散列事务数据生成的整个事务的ID?Ver:1,/交易所使用的比特币协议版本号?Vin_size:1,/交易的输入数?vout_size的数量:1,/交易的输出?锁定时间:100,/交易锁定时间?大小:2,交易?/输入?在:{?{?散列:散列码2,/输入事务的哈希码;?N0,输入事务的第0输出作为事务}的输入,?脚本:数字签名1,}?/输出?出局:{?值:0.2,/输出,此值应小于或等于输入值"部分差异是挖掘成本;ScriptPubkey:OP_DUPOP_HASH 160公钥地址OP_EQUALVERIFYOP_CHECKSIG},]?

  从上述伪码可以看出,比特币交易数据包含元数据、输入和输出,输入是先前交易的输出,输出可以用作新事务的输入,这需要数字签名和公钥验证。既然比特币交易的完整过程已经结束,OP_DUPOP_HASH160OP_EQUALVERIFYOP_CHECKSIG看起来很奇怪,它们实际上是比特币脚本语言,将在以后的文章中继续介绍。比特猫愿意和你一起在知识的海洋中前进。