专业开发15年,丰富的开发经验!贴心的私人订制服务,为您打造合适的平台。

无界区块链虚拟币钱包开发咨询电话

咨询电话:13386501543

联系方式

电 话:13386501543

邮箱:1203125@qq.com

地址:浙江省杭州市江干区下沙街道万亚金沙湖1号3幢

当前位置:无界区块链开发 > 区块链100问 > 什么是区块链钱包地址呢?(2)

什么是区块链钱包地址呢?(2)

文章出处:16 阅读量:16 发表时间:20-03-21 13:42
区块链100问

当一笔区块链代币交易信息按照以上信息组织好以后,进行全网广播,矿工接收到交易信息后,将其记录到区块中,在记录前,矿工需要验证以下问题:

 

1)交易是否已被处理过?

 

2)交易的输入值之和是否大于输出之和?

 

3)地址是否合法,发起交易者是否是输入地址的合法拥有者,是否是UTXO?



区块链矿机挖矿

 

1、2问题很容易验证,如何验证问题3呢?这时需要用到交易中,输入信息中的解锁脚本和输出信息中的锁定脚本。假设交易为A转账给B,则交易由A发起,A需要提供之前其他人向A转账且未使用过的交易(UTXO),同时提供解锁脚本,证明其对这笔交易输出的使用合法性。而输出为B,包括B的收款地址(可以理解为B的公钥),以及附上一个锁定脚本,用来限定这笔交易日后只能被B使用。以上说的解锁脚本和锁定脚本,实际上是一种类Forth脚本语言,是一种非图灵完备堆栈的执行语言,矿工收到交易后,取出脚本执行,即可验证交易,过程大概如下:

 

如果最终结果为true,说明交易合法,矿工将其加入区块中,广播后,其他节点将该区块同步到自身链条中,交易完成。

 

这就完了吗?当然没有,可能有人会问,矿工不止一个,大家都在广播区块,这样下去,岂不是乱套了,所以还有一个很重要的概念,那就是工作量证明。在区块中,有个随机值,矿工在全网广播前,需要做如下计算:Hash(区块+随机数)< 目标哈希,由于哈希计算不能逆向计算,所以矿工需要反复更换随机数,使得等式成立,这一过程就是常说的挖矿。区块链代币网络中通常10分钟左右产生一个区块,区块链代币系统每2016个区块(大概是两周)会自动调整难度(即目标哈希),使得整个网络的区块产生速度控制在10分钟左右。


cache
Processed in 0.014149 Second.