好久没有认真研讨比特币的脚本了,最近想搞理解Taproot assets,发现绕不开Taproot买卖,只好把Taproot的几个BIP都读完了。
P2PKH
最常见的比特币买卖叫付出到公钥哈希,Pay-to-Publick-Key-Hash(P2PKH),它是将比特币确定到公钥的哈希上,公钥哈希便是我们的比特币地址,即1开头的那种地址。
如果Alice想经过P2PKH买卖向Bob付出1btc,这个进程能够按如下解说。
P2PKH买卖的技能进程:
地址和公钥哈希:Bob给Alice供给了一个比特币地址,这个地址实际上是他的公钥的哈希值。
解锁和确定:Alice要发送1 BTC给Bob,她需求从自己的钱包中解锁这笔资金。然后,她在创立买卖时将这1
BTC确定到Bob的公钥哈希上。
Bob的签名和解锁:当Bob想要花费这1
BTC时,他需求用自己的私钥签名来证明他是这个地址的具有者。这样他就能够解锁这笔资金并将其用于新的买卖。
浅显的解说:
Bob给Alice一个开着的带锁盒子(这里的锁便是Bob的比特币地址)。
Alice把1 BTC放进这个盒子,然后把盒子锁上,这样就只有具有正确钥匙(即Bob的私钥)的人才干翻开。
当Bob想运用这1 BTC时,他就用自己的钥匙(私钥)翻开盒子,取出比特币,并能够选择将其放入另一个人的盒子(进行另一笔买卖)。
P2SH
第二常见的比特币买卖叫付出到脚本哈希,我们常用这种买卖格局来实现多重签名。
如果Alice想经过P2SH买卖格局向Bob发送1BTC,能够按如下来解说:
P2SH买卖的技能进程:
脚本哈希而非公钥哈希:在P2SH买卖中,资金被确定到一个脚本哈希而不是一个公钥哈希。
这个脚本一般包括多个条件,比方需求多个签名(多重签名)或满足其他特定条件。
创立和发送买卖:发送方(比方Alice)会将比特币发送到这个脚本哈希地址。这个地址是由接收方(比方Bob)供给的,而这个地址背面隐藏的脚本包括了解锁这些资金所需的条件。
即这个脚本哈希的原始脚本是Bob具有的,但Bob不会将这个脚本揭露,而只是揭露这个脚本的哈希值。(这对应上面P2PKH的是公钥哈希)
解锁资金:当Bob(收款方)想要花费这些比特币时,他就会供给原始的脚本(这便是解锁脚本,或称换回脚本),矿工拿到这个原始脚本就能够验证这笔买卖。
浅显的解说:
其实P2SH和上面的P2PKH的差别便是在那个盒子上的锁不同,P2SH的锁是允许Bob自定义,能够构建非常杂乱的锁。
比方最常见的多重签名,便是Bob自定义了多把解锁的钥匙,并定义了要多少把钥匙来解锁。
运用P2SH这种买卖机制,把脚本哈希当成锁,把原始脚本当成是私钥,就能够自定义各种解锁条件。这让比特币的可编程性大大提高了。
现在来解说P2TR(Pay to Taproot)
P2PKH是付出到公钥哈希,花费条件是供给公钥对应的私钥签名。
P2SH是付出到脚本哈希,花费条件是供给原始脚本。
P2TR是一种结合了付出到公钥哈希和付出到脚本哈希,因此它有两条花费路径,即能够是直接的私钥签名,也能够是供给原始脚本。
而且,P2TR的脚本是一颗包括了n个脚本的二叉树,花费时供给树的一个叶子节点脚本和树路径就能够花费。
这样,P2TR买卖就能够定义出更杂乱的花费条件,比特币的可编程性就更丰厚了。
此时快讯
【dYdX创始人:YFI价格暴跌是故意针对dYdX发起的攻击】金色财经报道,dYdX创始人Antonio在社交媒体X发文表示,在过去几天,dYdX的YFI未平仓合约从80万美元飙升至6700万美元。基本上所有这些都是由一个人所为。两周前他试图以类似的方式攻击dYdX SUSHI市场,但没有成功。dYdX上的YFI未平仓合约比其他任何交易所都高。在价格暴跌之前,我们确实采取行动以提高YFI的初始保证金比率,但最终未能成功抵御攻击。攻击者在价格崩溃之前从dYdX提取了大量USDC。现货市场上YFI的价格暴跌似乎是故意针对dYdX上大额未平仓合约发起的攻击,我们仍在与中心化交易所沟通。这一信息强烈地使我认为这是由一名资金充足的攻击者进行的一次市场操纵,旨在耗尽dYdX的保险池资金。我们将公开并与执法机构分享所有相关信息。