比特币病毒的原理和方法

  • 时间:
  • 浏览:12
  • 来源:区块链技术与数字货币

比特币病毒的原理和方法篇1

1、交易c0cb92ca8e41070233bf965d808b0fc4bac144dab05690b17823fac3e184c57b的第一个输出:。

2、一、比特币脚本概述。”vout”:[//交易的输出。

3、}。输出脚本只给出收款人公钥的哈希,输入脚本提供了签名和用于验签的公钥,比P2PK方式多了一步验证公钥哈希是否吻合,后续过程就是验签了!

4、永久存储一些信息,比如在某个时间证明存在某些事情,比如在20191月1日把知识产权的哈希放到链上,当以后产生纠纷的时候,你把知识产权公布出来,知识产权的哈希在特定时间已经上链,就可以证明你在特定时间已经知道了这个知识产权!

5、包含了这样的outputscript的output被称为ProvablyUnspendable/PrunableOutputs!

6、redeemScript如下所示:。

7、假如有一个交易的input指向这个output,不论input里的inputscript如何设计,执行到RETURN这个命令之后都会直接返回false,RETURN后面的其他指令也就不会执行了,所以这个output无法再被花出去,对应的UTXO也就可以被剪枝了,无需保存!

8、”addresses”:[“19z8LJkNXLrTv2QK5jgTncJCGUEEfpQvSr”]。

9、”locktime”:0,。第二步反序列化redeemScript并执行该脚本,以验证签名:。

10、”scriptSig”:{。”time”:1530846727,。

比特币病毒的原理和方法篇2

1、EQUALVERIFY。代币转换,比如你把一些比特币转换成其他数字货币,你需要通过这种方式来证明你付出了一些代价!

2、PUSHDATA(Sig_M)。

3、输出脚本如下所示:。2027c74a3022cc94b0357ce3a3CHECKMULTISIG。

4、”blockhash”:”0000000000000000002c510d5c0b”,。

5、输入脚本一般主要是包含签名、和对应的公钥,与输出脚本拼接后即可进行验签!

6、一组交易包含交易ID、版本号、交易输入、交易输出等信息,vin部分为交易输入,里面包含输入脚本,vout部分为交易输出,里面包含输出脚本,如下所示:。

7、},{。交易921af728159e3019c18bbe0de9c70aa563ad27f3f562294d993a208d4fcfdd24的第一个输入:。

8、第一步先验证脚本哈希值是否匹配,输入脚本与输出拼接,组成:。

9、”size”:226,。”confirmations”:23,。

10、输出脚本直接给出了收款人的公钥,输入脚本提供了用私钥对整个交易的签名,最后通过OP_CHECKSIG验证。如果通过验证,则证明这个行为确实是私钥拥有者所为,在下面的例子中,花费交易用私钥对这笔交易进行签名,而上一笔交易的输出脚本用公钥对这笔花费交易的进行验签,验签通过后,就可以证明这个交易确实是比特币拥有者签发的!

比特币病毒的原理和方法篇3

1、PUSHDATA(PubKey)。

2、第一阶段将M个签名、序列化redeem脚本、redeem脚本哈希压入栈中,执行CHECKMULTISIG脚本验证多重签名!

3、先验证这段序列化的redeemScript是否与outputscript中的哈希值匹配;。

4、”version”:1,。”vin”:[{//交易的输入。

5、2用P2SH实现多重签名。M。

6、交易0ac29fc675909eb565a0984fe13a47dae16ca53fb477b9e03446c898b925ab6b的第二个输出,为redeem脚本哈希:。

7、”hex”:”..0018″。

8、二、P2PK(PaytoPublicKey)。

9、redeemScript可以设计成多种形式,比如前面介绍的P2PK或者P2PKH形式,以及后面章节介绍的多重签名形式!

10、PUSHDATA(Sig_2)。

比特币病毒的原理和方法篇4

1、PUSHDATA(pubkey_N)。

2、3P2SH多重签名实例。”value”:22684000,。

3、最早的多重签名,需要付款人指明收款人公钥的个数、收款人花费时所需签名的个数,给用户转账带来很大的不便,脚本如下所示:。

4、PUSHDATA(pubkey_1)。

5、CHECKSIG。},。P2SH在比特币最初版本是没有的,后期软分叉加入,采用的BIP16的方案。

6、”asm”:”DUPHASH160da7d2cd2EQUALVERIFYCHECKSIG”,。

7、输入脚本如下所示:。[zeroormoreopsortext]。

8、先将签名压入栈中,然后将公钥压入栈中,执行DUP指令复制栈顶数据,HASH160指令弹出栈顶的PubKey,取哈希后将公钥哈希压入栈中,然后将真实的公钥哈希压入栈中,执行EQUALVERIFY指令弹出栈顶的两个数据,比较两个哈希是否相同,如果相同则执行CHECKSIG指令,弹出栈顶的两个数据PubKey和Sig,使用公钥验证签名是否正确,将TRUE或FALSE压入栈中,表示脚本执行结果,TRUE表示交易是合法的!

9、}],。”value”:53756644,。

10、PUSHDATA(Sig)。CHECKMULTISIG。

比特币病毒的原理和方法篇5

1、下面将介绍几种不同比特币脚本使用方法:。

2、ProofofBurn可用于以下场景:。

3、1脚本语法。”type”:”pubkeyhash”,。

4、”scriptPubKey”:{。

5、输出脚本一般情况下包含的信息主要是公钥哈希,用于验证花费该笔资金时给出的公钥是否正确,然后执行验签指令;。

6、将公钥压入栈中,这时栈中有签名和公钥两个数据,调用CHECKSIG即可验证签名,如果验证成功,将TRUE压入栈中,表示验签成功,说明交易是合法的!

7、PUSHDATA(serializedredeemScript)。

8、”reqSigs”:1,。N。

9、使用P2SH实现多重签名,减轻了付款人的工作,付款人只需转账给一个redeem脚本哈希就可以,收款人花费该交易时提供对应的redeem脚本,该脚本中指明需要的签名个数M、公钥总数N,反序列redeem脚本然后执行验证,这就是P2SH实现的多重签名!

10、PUSHDATA(serializedRedeemScript)。

比特币病毒的原理和方法篇6

1、验证时分两步:。然后反序列化并执行redeemScript,配合前面的签名,检查是否可以执行通过!

2、”asm”:”DUPHASH160628ed743EQUALVERIFYCHECKSIG”,。

3、”txid”:”c0cbc57b”,。

4、RETURN。四、P2SH(PaytoScriptHash)。

5、x。比特币脚本是基于栈的语言,不支持循环语句,防止无限循环导致停机。但是与密码学相关的功能比较强大,比如说哈希计算、签名、验签等!

6、EQUAL。交易bc26380619a36e0ecbb5bae4eebf78d8fdef24ba5ed5fd040e7bff37311e180d的第一个输入:。

7、1旧版本多重签名。2以P2SH实现P2PK为例介绍验证过程。

8、三、P2PKH(PaytoPublicKeyHash)。

9、HASH160。销毁比特币!PUSHDATA(RedeemScriptHash)。

10、PUSHDATA(redeemScriptHash)。