1. 主页 > 币圈百科 > web3.0

bcc币(bcc币中文叫什么币)


欧易(OKX)交易所 - 全球顶尖数字货币交易平台

注册立即 领取价值高达 6,0000 元的数字货币盲盒,邀请码:vip1234,享受 20%手续费减免。

欧易注册 APP下载

oppa oppa比特币电子签名

文章目录

概述

在《分析比特币脚本》一文中提到,比特币脚本的一个应用就是多重签名。顾名思义比特币闪电交易不能开通。多重签名(以下简称多重签名)是指一个交易需要多个私钥签名才能执行。

大多数情况下,交易是一对一的,买家将比特币支付到卖家给出的地址(即卖家的公钥hash)。如果卖家使用比特币,你可以提供自己的数字签名,并验证你的数字签名是否有效。但也会出现这样的场景:一个钱包由多人共同持有。例如,如果一家公司有五个合伙人,公司钱包有五个私钥,每个合伙人持有一个私钥。为防止其中一方试图中饱私囊或挥霍,必须有五分之三的人同时签字,才能拿出钱包里的硬币。在这种情况下,需要“多重签名”。

在比特币中,多重签名是指:如果一个钱包有M个私钥,需要N (1≤n≤m)个私钥的签名才能进行交易。实施。对应现实,可以想象这样一个场景:M个人共同管理一个基金(比特币),每个人持有一个私钥。要使用这笔资金,你必须获得他们中至少N人的同意(签名)。执行。对应这个场景,m是5,n是3。

使用多个签名有以下优点:

实现多重签名有两种主要方式:

下面将描述这两种实现方式。

多重签名实现

用于实现多重签名,输出脚本(也称为锁定脚本)如下:

n

OP _ push data(public key _ 1)

OP _ push data(public 比特币 key _ 2)

...

OP _ push data(public key _ m)

m

OP _ CHECKMULTSIG

比特币闪电交易助手_比特币闪电交易打不开_火币比特币交易手续费

如果输出脚本是这种形式,则交易是多对多(P2MS)交易,这也是一个常见的表达式。其中,M表示总共有M个人,每个人有一个公钥,总共有M个公钥。这笔钱将支付给M个人,由他们共同持有;N是指当M个人想用钱赚钱时,需要N个人的数字签名(即N个人的同意)才能使用这笔钱。

解锁UTXO(可以理解为输出脚本支付的比特币的ID)时,需要提供如下格式的输入脚本(也叫解锁脚本):

OP _ push data(SIG _ 1)

OP _ push data(SIG _ 2)

...

OP _ push data(SIG _ n)

可以理解为需要N个签名(即N个人的同意)才能使用这笔钱。需要用钱的时候,n个人提供输入脚本,把输入脚本和输出脚本拼接在一起,得到一个完整的执行脚本,然后执行脚本。拼接脚本的形式如下:

OP_PUSHDATA(sig_1)

OP_PUSHDATA(sig_2)

...

OP_PUSHDATA(sig_n)

n

OP_PUSHDATA(publicKey_1)

OP_PUSHDATA(publicKey_2)

...

OP_PUSHDATA(publicKey_m)

比特币闪电交易打不开_火币比特币交易手续费_比特币闪电交易助手OP _ push data(SIG _ 1)

OP _ push data(SIG _ 2)

...

OP _ PUSHDATA(SIG _ n)

n

OP _ PUSHDATA(public key _ 1)

OP _ PUSHDATA(public key _ 2)

...

OP _ push data(public key _ m)

m

OP_CHECKMULTSIG

执行过程如图所示:

可以看出,一个语句就可以完成整个多重签名的验证。

然而,这种验证方法也有一些缺点。它要求付款人(输出脚本)提供所有收款人的公钥。也就是说,向有五个合伙人的公司支付,支付方需要先获取每个合伙人的公钥,不方便。

如果5个合作伙伴可以提供一个支付地址,而不需要支付方一一列出他们的公钥,这是最简单的,可以通过P2SH实现。

P2SH实现单一签名。

P2SH(支付给脚本哈希)是除P2K(支付给公钥)和P2KH(支付给公钥哈希)之外的另一种支付方式。方法。P2SH的输入脚本需要提供被调用的脚本,P2SH的输出脚本需要提供hash。在讨论P2SH中多重签名的实现之前,我们先讨论一下P2SH中单一签名的一个简单情况。

P2SH的输出脚本格式如下:

OP _ hash 160

OP _ push data(resumescripthash)

OP _ equal verify

输入脚本格式如下:

OP _ push data(SIG)

OP _ push data(rede script)

拼接后的脚本如下:

OP _ push data(SIG)

OP _ push data(reduce script)

OP _ hash 160

OP _ push data(reduce script hash)

OP _ equal verify

P2SH支付时,收款人只需向付款人提供地址即可。付款人可以支付比特币到这个地址,这个地址是收款人赎回脚本的哈希值;收款人要花钱的时候,需要提供相应的兑换脚本和收款人的数字签名。如果执行redempt脚本后栈顶等于TRUE,则意味着整个支付的验证通过。

执行拼接后的脚本后,执行过程如下图所示:

上图中,如果执行结果为真,那么接下来就会执行,不过是收款人自定义的。我们也可以用它来实现多重签名。

P2SH实现多重签名。

使用P2SH支付方式比特币闪电交易无法开通,使用redempt脚本可以实现多重签名。

P2SH实现多重签名时的输出脚本格式如下:

可以看出,实现多签和单点时,P2SH的输出脚本格式是相同的。

火币比特币交易手续费_比特币闪电交易打不开_比特币闪电交易助手

输入脚本的格式如下:

OP _ push data(SIG _ 1)

OP _ push data(SIG _ 2)

...

OP _ push data(SIG _ n)

OP _ push data(rede script)

可以看出,实现多签时,输入脚本的格式与单签略有不同。不同之处在于,不再只提供一个数字签名,而是提供多个数字签名。

拼接后的脚本如下:

OP_PUSHDATA(sig_1)

OP_PUSHDATA(sig_2)

...

OP_PUSHDATA(sig_n)

OP_PUSHDATA(redeemScript)

OP_HASH160

OP_PUSHDATA(redeemScriptHash)

OP_EQUALVERIFY

火币比特币交易手续费_比特币闪电交易打不开_比特币闪电交易助手OP _ push data(SIG _ 1)

OP _ push data(SIG _ 2)

...

OP _ PUSHDATA(SIG _ n)

OP _ PUSHDATA(reduce script)

OP _ hash 160

OP _ PUSHDATA(reduce script hash)

OP _ equal verify

拼接后执行脚本。如果等于真,开始执行。格式如下:

n

OP _ push data(public key _ 1)

OP _ push data(public key _ 2)

...

OP _ push data(public key _ m)

m

OP _ check multisig

此时,执行过程将与上一节“实现多重签名”相同。

以上是实现多重签名的过程。整个过程如下图所示。

参考

[1]比特币脚本如何实现多重签名?

[2]“支付给多重签名”和“支付给脚本哈希”

[3]多个签名

[4]比特币与Arvind,Joseph Bonneau等。第3.2节

节日

Ethos是一个简单易用的矿业系统,为矿业提供教程软件和矿机评估及交易信息,以数字货币比较计算各种矿业利润,介绍矿业工具,矿业网站最新消息。http://www.ethospool.com/

比特儿交易平台(比特儿交易平台清退中国用户吗)

我们可以为您服务,为您提供大量的情报,我们为您提供快捷准确的报价,并为您提供放心的服务和安全的交易服务。同时,我们的官方社区包括货币圈不同领域的名人和高级专业玩家,内容涵盖全球、股市、汇市、债市等金融市场,为您提供权威、专业、全面的金融信息服务。

您还可以根据您的投资目标和市场变化,随时免费进行账户转换。如果您有任何疑问都可以回复公众号,理财顾问每天都会为您解答!如果你们在交易中遇到了什么问题,可以联系我们,我们会尽最大的努力为客户解决问题。

本文来自网络,不代表币圈之家立场,如有侵权请联系我们删除,转载请注明出处:http://btc.dongyuegg.com/web/13150.html

联系我们

在线咨询:点击这里给我发消息

微信号:440886

工作日:9:30-18:30,节假日休息