我正在尝试找出使用bitpay的开源比特核库(http://bitcore.io)签署部分签名的多签名比特币交易的正确方法是什么?
对于多签名比特币交易,一个人可以使用他的私钥对交易进行签名。将该事务传递给另一个人使用另一个私钥进行签名。
如果比特币交易是使用bitcore创建的,我们可以使用bitcore的TransactionBuilder来构建交易,并通过调用sign()进行签名。但是,如果其他人有他已经签名的事务,并将其传递给您进行签名。我们应该如何使用bitcore库来签名?有没有办法将事务转换为位核心TransactionBuilder对象和调用符号()方法?
非常感谢你的帮助。
发布于 2014-12-08 04:44:57
很抱歉,这不是bitcore特定的,但是他们解释一系列事件的方式表明您可能遗漏了多签名事务的一个细节。
对于multisig,所有各方都提交它们的公钥来创建地址。
然后创建多签名地址。
发送到该地址的任何硬币都需要m个私钥中的n个来签署商定的txn,以便硬币所有权在区块链中移动。
一旦交易达成一致,所有各方都使用自己的公钥对交易进行签名,但Bob不需要将其签名的交易传递给Alice。Bob和Alice只需同意multisig地址将接受一定数量的输入,并将这些输入用于输出到另一个地址。
需要明确的是,从用户的角度来看,没有部分签名的事务,只有网络客户端验证事务。部分签名的txn是提交给网络的txn,它不具有所需的所有签名,但所有签名的事务都可以相互独立地提交。网络将仅在每个创建多签名地址的参数有足够的由N个不同密钥签名的txn时授权多签名txn。
Bitcore有一个Multsig here的例子
https://stackoverflow.com/questions/26596374
复制相似问题