火星链 火星链
Ctrl+D收藏火星链
首页 > BNB价格 > 正文

PUB:一文解读比特币升级提案 Taproot:P2SH、MAST 和 Schnorr 签名

作者:

时间:1900/1/1 0:00:00

本文将讨论比特币升级提案?Taproot?,该提案将引入很多全新功能。本文将从各个技术层面分析Taproot、介绍本次升级中涉及的技术以及这些技术会给比特币用户带来哪些好处。

什么是Taproot?

Taproot由BitcoinCore贡献者?GregoryMaxwell?于2018年首次提出。该实现目前尚在开发中。如果没有Taproot,这些复杂的交易需要多个事务来完成,因此很容易失败。

Taproot可以让复杂交易像单个比特币交易那样执行,从而增强比特币的隐私性。

Taproot升级包括三个重要的技术变化,用来增强比特币的可扩展性、隐私性和灵活性。

P2SH

MAST

Schnorr签名

我们将从技术层面讨论这三个概念,从而了解Taproot升级会给比特币用户带来哪些好处。

P2SH

比特币地址是一个包含字母和数字的字符串。用户可以将其分享给其他人,以便从后者那里接收BTC。比特币交易主要有两大标准:Pay-to-PubKeyHash(P2PKH)和Pay-to-ScriptHash(P2SH)。

在讨论P2SH(PayToScriptHash)和P2PKH(Pay-To-PubKeyHash)这两个概念之前,我们首先熟悉一下关于比特币的背景知识:

星巴克“ Holiday Cheer Edition 1 Stamp ”NFT竞价已超2000美元:金色财经报道,星巴克NFT已在Nifty Gateway二级市场进行销售。据平台数据显示,当前交易量达到360笔,交易总额超过14.3万美元,星巴克“Holiday Cheer Edition 1 Stamp”NFT邮票当前竞价已超过2000美元。

据悉,该NFT邮票仅发行了5000枚,另外三款NFT当前需求量较小,竞价也相对较低,目前在69-285美元之间不等。此外,星巴克Web3平台Starbucks Odyssey目前仍处于封闭测试阶段。[2023/2/18 12:14:07]

在比特币网络中,比特币的形式是UTXO。UTXO是?UnspentTransaction(TX)Output的缩写,即,比特币交易执行后形成的面额不定的单元。例如,你的比特币钱包里有10BTC,你想要转5BTC给朋友。比特币区块链的处理方式与众不同。它会把10BTC都花掉,将5BTC转入你朋友的钱包,剩下5BTC转入你自己的钱包。这下,你和你的朋友各持有未花费的5BTC。

比特币使用脚本来规定花费BTC/UTXO的条件。脚本被用作一种锁定机制。

BTC锁定在脚本中。当脚本返回成功时,BTC就会解锁。

任何人都可以向任意比特币地址发送BTC。只有当脚本中定义的某些条件得到满足时,锁定的BTC才可以被花费出去。脚本决定了接收方可以如何花费收到的BTC。发起交易时,发送方会在交易中放入一个叫作“PubKeyScript”的脚本。接收方需要生成一个“签名脚本”,是满足PubKey脚本的数据参数的集合。签名脚本在代码中又被叫作“scriptSig”。

Circle首席执行官呼吁美国制定明确的稳定币法律:金色财经报道,Circle首席执行官兼创始人Jeremy Allaire致信国会金融服务领袖,呼吁美国对稳定币制定明确、可行的立法,并警告不这样做会给国家带来风险。Allaire表示,在其他司法管辖区在建立数字资产综合监管机制方面取得进展之际,在这一领域的不作为将“阻碍美国的声音”。Allaire还提到了消费者面临的风险,因为缺乏明确的方法来识别哪些稳定币遵守真正的监管制度。(coindesk)[2022/11/16 13:13:11]

在上述例子中,你在向朋友发送5BTC时,锁定脚本也会包含在这个交易内。如果你的朋友想要花费这些BTC,必须生成满足锁定脚本中规定条件的解锁脚本。

Pay-to-PubKeyHash(P2PKH)

Pay-to-PubKeyHash是一种传统的比特币地址格式。其地址以数字1开头。

只有P2PKH地址的所有者才能通过提供公钥哈希值和私钥签名来解锁PubKey脚本并花费收到的BTC。私钥是用来证明公钥哈希值的所有权的。

正如我们上文讨论过的那样,脚本定义了特定地址上的BTC在什么条件下可以花费。当规定条件得到满足且通过网络验证时,该地址上的BTC就会被解锁以供花费。

这一流程是如何运作的?——接收方首先生成PubKey脚本并将其分享给发送方。发送方在发送BTC时将该PubKey脚本添加到交易中。收到BTC时,如果接收方想要解锁这些BTCUTXO,就要提供公钥哈希和私钥签名,并满足PubKey脚本中提到的条件。

加密市场制造商GSR宣布裁员近10%:金色财经报道,加密市场制造商GSR宣布该公司在第三季度将裁员\"作为结构改革的一部分\"。发言人表示,GSR裁减了”不到10%”的员工,GSR的网站拥有全球300名员工。经过一段时间的快速扩张,我们的重点是提高整体效率,继续发展我们的技术和交易能力。[2022/10/12 10:31:41]

例如,这些条件可以是:

解锁BTC至少需要两个签名。

提供口令才能解锁。

BTC需要等待一段时间才能解锁。

上述这类情况可以作为解锁BTC的条件。

发送比特币时,发送方需要在交易中包含?PubKey脚本。因此,这会增加交易的体积,产生的交易费比普通交易高出5倍左右。

这里,发送方必须承担额外的成本。Pay-to-ScriptHash可以帮助发送方免去这一额外成本。

Pay-to-ScriptHash(P2SH)

PayToScriptHash(P2SH)可以帮助发送方免去额外的成本,并将这一责任转移到真正需要使用锁定脚本中规定条件的接收方身上。Pay-to-ScriptHash比特币地址是以数字3开头的。

在这个交易标准下,发送方不需要将很长的PubKey脚本放到他们的交易中。这里,锁定脚本被替换成了赎回脚本哈希值。赎回脚本哈希值由赎回脚本计算而来。赎回脚本与PubKey脚本类似,包含接收方在花费未花费输出之前必须满足的条件。发送方只需在交易中注明赎回脚本的哈希值。赎回脚本哈希可以翻译成标准比特币地址,发送方无需进行任何特殊操作或支付额外费用即可将BTC发送到这些地址。

KKR没有计划牵头竞购东芝 可能会成为投资人:7月19日消息,据外媒报道,KKR&Co不打算在这个时候牵头竞购东芝。据两位知情人士称,KKR仍可能作为股权合作伙伴参与一项交易。此前消息,Dragonfly Capital宣布已为旗下第三支加密基金筹集6.5亿美元,KKR为投资人。(财联社)[2022/7/19 2:23:25]

接收方想要解锁这个P2SH地址上的BTC时,需要生成具有相同哈希值的赎回脚本并将其包含到交易内。因此,接收方用来解锁UTXO的交易大小会增加,执行交易的成本也会增加。

例如,Alice想要发送10BTC给Bob。Alice必须将赎回脚本哈希包含到交易内。首先,Bob先生成一个赎回脚本,然后将赎回脚本的哈希值发送给Alice,以便Alice将该哈希添加到交易内并发起交易。如果Bob想要花费该UTXO,必须生成相同哈希值的解锁脚本,并满足脚本中提到的条件。

别忘了,Alice只需将赎回脚本的哈希值而非整个脚本添加到交易内。因此,Alice无需承担额外的费用。

使用哈希值取代冗长的脚本。

发送方可以在不知道脚本中规定的花费条件的情况下,在交易中放入任意数量的赎回脚本哈希值。

减轻了发送方的交易费负担。

MAST

Upbit运营商Dunamu拟在5年内投资约3.81亿美元,并创造1万个新工作岗位:7月12日消息,Upbit运营商Dunamu宣布将在未来5年内投资5000亿韩元(约合3.81亿美元),并在首尔总部和地区办公室创造1万个新工作岗位。为此,Dunamu计划在全国主要大城市设立区域办事处,通过培育有前途的初创企业,积极为当地和IT人才创造就业机会。

Dunamu计划首先在大都市区以外的城市设立地区办公室以创造1000个工作岗位,并在地区办公室为其加密交易所Upbit等设立包括呼叫中心的咨询中心。其次,Dunamu计划通过“UP Start Incubator”和“UP Start Platform”计划培育500家web3.0初创企业,创造约8000个新工作岗位。此外,Dunamu通过将其扩展为涵盖股票、数字资产和实物资产的“全球综合交易平台”的计划,创造1000个新工作岗位。(News 1)[2022/7/12 2:07:30]

MAST是?MerklizedAbstractSyntaxTree的缩写。

为什么要使用MAST?如果你想花费P2SH地址里的BTC,你必须生成具有相同哈希值的赎回脚本并将其包含到交易中。如果脚本中规定的花费条件太多,交易体积会变得格外庞大。MAST可以很好的解决这一问题。

默克尔抽象语法树是默克尔树和抽象语法树的结合体。

就像PayToScriptHash(P2SH)是给哈希值为某某的脚本付款那样,MAST是给哈希值为某某的默克尔根付款。MAST是把一个大的条件集合中的各个条件组装成一棵哈希树,而默克尔树的根值是一个哈希值,由所有条件哈希而成。

默克尔根和哈希树是如何生成的?

首先分别对所有脚本做哈希计算;然后将计算得到的哈希值与相邻哈希值组合起来进行哈希计算,生成一组新的哈希值。不断重复这个两两哈希计算的过程,直到计算出最后一个哈希值为止。这个哈希值就是默克尔根。

假设共有四组条件。首先,分别计算出这四组条件的哈希值;再将这四个哈希值两两配对,计算出两个哈希值;最后,把这两个哈希值组合起来做哈希计算,生成最终的哈希值。最后这个哈希值就是默克尔根。

这个默克尔根可以翻译成一个能够接收付款的有效比特币地址,即,默克尔比特币地址。默克尔比特币地址有很多优点,最主要的优点是无需知晓所有脚本单元就能验证某个脚本是否位于这棵默克尔树上。这个技术叫作默克尔证明,可以用来轻松验证一个比特币UTXO是否包含某些解锁条件。

在MAST中,BTC与一棵默克尔树绑定。这棵默克尔树指定了可以解锁未花费BTC的所有复杂条件。每个叶节点都代表着一个条件。为了解锁BTC,你必须生成一个满足默克尔树上某个分支所代表的条件的脚本。仅使用默克尔根即可验证这个条件是否属于原始条件集合。一旦比特币区块链网络发现某个脚本属于这个默克尔根,网络就会知道这个脚本是这些比特币的锁定条件并开始验证解锁脚本。因此,我们无需生成完整的脚本并将其包含到交易内,即可花费以MAST锁定的BTC。这有助于减少BTC交易的体积。

Schnorr签名

在密码学中,Schnorr签名是由?ClausSchnorr?提出的Schnorr签名算法生成的数字签名。Schnorr签名算法是一种以简单闻名的数字签名方案,通过将多个签名聚合成单个签名以优化验证和认证过程。该方案适用于多签交易。

若想执行交易,你需要使用私钥签名该交易,以证明你是某个公钥背后的BTC的所有者。但是,若想执行多签交易,你必须提供多个签名。这些签名会占据额外的空间。

以12/20多签交易为例。12/20指的是执行该交易至少需要提供20个签名中的任意12个。签署交易时,签名也会存储在区块内。假设1个签名的大小是5字节,12个签名需要占用区块60字节的内存,100个签名需要占用500字节的内存。这会增加内存用量。Schnorr签名恰好可以解决这一问题。

为了理解Schnorr签名,我们来看两个例子:

另一种情况是多签交易。假设你需要100个签名且每个签名的大小是5字节,Schnorr签名方案可以将这100个签名合并成一个大小为64字节的Schnorr签名。省下436字节的内存可以用来存储更多交易。

比特币升级?——Taproot计划将上述概念引入比特币区块链,增强其可扩展性、隐私性和灵活性。

Taproot是BitcoinCore贡献者GregoryMaxwell在2018年提出的比特币升级提案。

Taproot让复杂的交易如多签名交易、时间锁交易看起来如同普通的比特币交易,增强了比特币的隐私性。

Taproot升级主要包含3个技术概念——P2SH、MAST和Schnorr签名。

比特币使用脚本注明花费BTC/UTXO的条件。

PayToScriptHash(P2SH)可以帮助发送方免去额外的交易费,并将这一责任转移到真正需要使用锁定脚本中规定条件的接收方身上。

使用MAST,比特币可用默克尔树抽象语法树来锁定。默克尔树决定了可以解锁未花费BTC的所有复杂条件。默克尔抽象语法树被提议引入比特币区块链,以减少BTC交易的体积,使得接收方无需在交易中附加冗长的脚本。仅使用默克尔根即可验证接收方生成的脚本是否属于原始条件集合。

Schnorr签名可以将多个签名合并成单个签名。

原文链接:

https://b10c.me/blog/004-the-incomplete-history-of-bitcoin-development/

作者:?0xB10C

标签:BTC比特币PUBKEYtBTC币比特币中国官网注册PUBGmedikey

BNB价格热门资讯
HTT:XT关于系统升级的公告

尊敬的XT用户:为了给用户提供更好的交易体验,优化产品性能,XT将于2021年09月26日10:00-9月26日12:00进行系统升级维护,在此期间将暂停网站一切功能.

1900/1/1 0:00:00
BIT:【重要通知】关于BitMart合约系统升级的公告

亲爱的BitMart用户:为了提升服务质量,进一步优化交易体验,BitMart平台计划将于2021年9月29日15:00(香港时间)进行预计为期2小时的合约系统升级维护.

1900/1/1 0:00:00
SAT:比特币支付属性的新开端:「聪」 闪电网络

作者|Hebao出品|白话区块链9月23日,推特宣布已在iOS版本的App中上线支持比特币支付的小费打赏功能,并将在未来几周内向Android用户推出.

1900/1/1 0:00:00
PLA:XT关于恢复MARS充提的公告

尊敬的XT用户:MARS钱包升级已完成,XT现已恢复MARS充值与提币业务,暂停期间给您带来的不便,敬请谅解.

1900/1/1 0:00:00
COM:Compound错误分发8000万美元代币,修复漏洞还要再等七天

9月30日,头部去中心化借贷协议Compound于官推表示,在今天通过并执行「治理提案062」后,升级合约内发错了一个BUG,致使COMP代币出现了异常分发情况.

1900/1/1 0:00:00
EFI:研究 DeFi 流动性忠诚度问题:忠诚的流动性是可能的,但需要权衡

总价值锁定(TVL)是DeFi中最流行和最容易被误解的指标。总资本分配(TCA)也许是更准确的说法。TVL暗示价值被“锁定”在协议中,忠诚而坚定。不幸的是,对于许多项目来说,情况并非如此.

1900/1/1 0:00:00