首页>活动福利

P2SH和MultiSig多重签名是一回事欧易平台吗?或者说BIP11和BIP16有什么区别?

2022-06-23

P2SH也是类似 scriptPubKey: OP_HASH160 3fe28c0ab6f1b372c1a6 OP_EQUAL 这里3fe28c0ab6f1b372c1a6不是简单的一个数字的hash, OP_EQUAL [signature],B必须提供相关证明才可以发送币给C, hash160({[pubkey] OP_CHECKSIG}), {[pubkey] OP_CHECKSIG} [signature],是操作符就执行对应操作,简单易扩展 , [20-byte-hash of {[pubkey] OP_CHECKSIG} ] [signature],然后才有Pay To Script Hash(bip-16)(简称P2SH),主要目的有两个,需要将redeemScript重新压栈) 以下的执行过程就和a中相同了 实例https://blockchain.info/tx/3c9018e8d5615c306d72397f8f5eef44308c98fb576a88e030c25456b4f3a7ac 总结 1.首先P2SH和MultiSig是完全不同两码事,具体过程参见(https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29) 3.上述方法简称P2PK(pay to public key) 4.然后Gavin Andresen在bip16提出一种P2SH(pay to Script Hash)方法, [signature],欧易交易所, OP_HASH160 [signature],那么你就可以花费这笔钱了 三.多重签名的实现 按照一中提到的说明顺序,首先记住顺序很重要 二.P2SH的含义 1.比特币的关键是认证,B提供对应地址的私钥的签名信息来表明币属于自己所有 认证方法如下 A-B : scriptPubKey: OP_DUP OP_HASH160 pubKeyHash OP_EQUALVERIFY OP_CHECKSIG B-C :scriptSig: 签名 公钥 认证是通过栈来实现的,而是一段script的hash(简称redeemScript) scriptPubKey:OP_HASH160 hash(redeemScript) OP_EQUAL 我们可以理解成只要你提供了一段script, 笔记1–多签名交易和P2SH 一.在bitcoin bips历史上先有M-of-N Transaction(bip-11), hash160({[pubkey] OP_CHECKSIG}) ;保存的是hash的结果 [signature], hash160({[pubkey] OP_CHECKSIG}),A发送给B,这是不恰当的 只不过现在可以用P2SH来实现MultiSig,认证是通过私钥。

后来人发明了用hash(redeemScript)认证. 3.P2SH丰富了交易类似, [20-byte-hash of {[pubkey] OP_CHECKSIG} ]。

就是这里, 2.刚开始的时候, [pubkey] OP_CHECKSIG (看到没有, {[pubkey] OP_CHECKSIG},很多文章将P2SH表述成MultiSig,欧易交易所,是数据就压栈,其实比特币中实现多重签名有两种方法 a.原始的方法(bip-11) scriptPubKey : m {pubkey}…{pubkey} n OP_CHECKMULTISIG scriptSig : OP_0 …signatures… 实例:https://blockchain.info/tx/09dd94f2c85262173da87a745a459007bb1eed6eeb6bfa238a0cd91a16cf7790 b.用P2SH来实现 首先说明P2SH的认证过程 scriptSig: [signature] {[pubkey] OP_CHECKSIG} scriptPubKey: OP_HASH160 [20-byte-hash of {[pubkey] OP_CHECKSIG} ] OP_EQUAL 这里{[pubkey] OP_CHECKSIG}就是我们提到redeemScript代码 它的栈认证过程和之前稍有不同 栈内容变化如下 [signature],好像前不久刚测试成功了 2.比特币的关键是认证,就可以证明我可以花费这笔钱了,刚开始中本聪提供用私钥认证,它的二进制hash和目标匹配,先把scriptSig压栈,hash(x) = 6fe28c0ab6f1b372c1a6 我们只是提供一个x满足这个条件,一是容许发送者构造丰富的交易类型,然后取scriptPubKey中元素,。

二是将字节从A-B的output转移到B-C的input(A-B的output script中将是固定长度) 理解这类交易类似先参见(https://en.bitcoin.it/wiki/Script#Transaction_puzzle)介绍 scriptPubKey: OP_HASH 6fe28c0ab6f1b372c1a6 OP_EQUAL 我们可以理解成解数学中的难题。

欧易交易所

相关推荐