大家好,这里是链客区块链技术问答社区。
链客,专为技术开发者而生,有问必答!
多重签名
多重签名脚本设置了一个条件,N个公钥记录在脚本中,并且需要其中至少M个提供签名才能解锁资金。这也被称为M-of-N方案,其中N是密钥的总数,M是验证所需签名个数的阈值。例如,一个2-of-3的多重签名是三个公钥被列为潜在签名者并且其中至少两个必须被用来创建签名,从而创建有效的交易花费资金。
目前,标准的多重签名脚本最多只能列出3个公钥,这意味着你可以执行从1-of-1到1-of-3之间的任意组合的多重签名。本书出版时,列出3个公钥的限制可能已经解除,因此请检查IsStandard()函数以查看网络当前接受的操作。请注意,3键的限制仅适用于标准多重签名脚本,而不适用于包含在支付到脚本哈希中的多重签名脚本。P2SH多重签名脚本限于15个键,最多允许15-of-15的多重签名。我们将在支付到脚本哈希Pay-to-Script-Hash(P2SH)中学习P2SH。
Multichain锁仓量首次突破80亿美元,超越Uniswap并进入前十:据DeFi Llama数据显示,跨链桥Multichain总锁仓量首次突破80亿美元,目前达到81.6亿美元,超越Uniswap并进入总榜单前十。[2022/1/17 8:53:27]
M-of-N多重签名条件的锁定脚本设置通常形式如下:
M<PublicKey1><PublicKey2>……<PublicKeyN>NCHECKMULTISIG
其中N是列出的公钥数量,M是花费这笔支出所需的签名个数。
一个2-of-3多重签名条件的锁定脚本设置如下:
2<PublicKeyA><PublicKeyB><PublicKeyC>3CHECKMULTISIG
MakerDAO发起新增三个Vault类型的治理投票:金色财经报道,据官方博客消息,MakerDAO治理促进者已代表Oracle域团队发布治理投票,以将SLP-DAI-ETH、 SLP-USDC-ETH以及SLP-WBTC-ETH添加为新的Vault类型。[2021/6/1 23:00:01]
上面的锁定脚本可以被包含签名和公钥对儿的解锁脚本满足:
<SignatureB><SignatureC>
或者3个公钥中的任意两个对应的私钥生成的签名的组合
两个脚本组合起来形成下面的验证脚本
<SignatureB><SignatureC>2<PublicKeyA><PublicKeyB><PublicKeyC>3CHECKMULTISIG
yearn.finance为DAI和USDT增加Vault:yearn.finance发推称,现已增加DAI和USDT的Vault。LINK的存款Vault已被禁用(取款仍可用)。你可以保留资金,没有风险,我们将转移到一个新的Vault,以避免存款-0.5% APR显示(当Gas较低时)。[2020/8/13]
执行时,只有在解锁脚本与锁定脚本设置的条件匹配时,此组合脚本才会评估为TRUE。在这种情况下,条件是解锁脚本是否具有来自3个公钥中的两个对应私钥的有效签名。
CHECKMULTISIG执行中的一个错误
Digivault CEO:明确的监管法规将促进通证化:6月8日消息,证券通证托管平台Digivault首席执行官Roberts Cooper在接受采访时表示,明确的监管法规将促进通证化。
Cooper认为,监管是通证化最关键的部分之一,并且监管机构知道通证使用的界限。他强调,除了德国监管机构在3月份发布了政策文件外,去年,英国也明确了证券通证的监管法规。(Cointelegraph)[2020/6/8]
在CHECKMULTISIG的执行过程中有一个错误,需要稍微解决一下。当CHECKMULTISIG执行时,它应该消耗堆栈中的M+N+2个项目作为参数。但是,由于该错误,CHECKMULTISIG会弹出额外的值或超出预期的值。
让我们用前面的验证示例更详细地看一下:
<SignatureB><SignatureC>2<PublicKeyA><PublicKeyB><PublicKeyC>3CHECKMULTISIG
首先,CHECKMULTISIG+弹出顶部元素,它是+N。然后它弹出N个元素,这是可签名的公钥。在这个例子中,是公钥A,B和C。然后,它弹出一个项目,即M,仲裁数。这里M=2。此时,CHECKMULTISIG应该弹出最后的M个元素,这是签名,并查看它们是否有效。然而,不幸的是,实现中的一个错误会导致CHECKMULTISIG弹出另一个元素。额外的项目在检查签名时被忽略,因此它对CHECKMULTISIG本身没有直接影响。但是,必须存在额外的值,因为如果它不存在,当CHECKMULTISIG试图弹出空堆栈时,它将导致堆栈错误和脚本失败。由于额外的项目被忽略,它可以是任何东西,但通常使用0。
由于这个bug成为了共识规则的一部分,现在必须永久复制。因此,正确的脚本验证将如下所示:
0<SignatureB><SignatureC>2<PublicKeyA><PublicKeyB><PublicKeyC>3CHECKMULTISIG
所以,正确的解锁脚本不是
<SignatureB><SignatureC>
而是:
0<SignatureB><SignatureC>
从现在起,如果你看到一个multisig解锁脚本,你应该在开始时看到一个额外的0,其唯一目的是修正意外成为共识规则的错误。
针对Alameda的CarolineEllison和FTX的GaryWang的投诉包含FTX的交易代币FTT构成投资合约的指控.
周二,攻击者向Euler发送了7,000多个以太币,并在交易消息中似乎为他们的行为道歉。 在事件的突然转变中,EulerFinance的2亿美元攻击背后的攻击者向协议返还了更多资金,并且似乎在区.
随着游戏NFT的销售份额越来越大,已经将横向市场模式推向了更加狭隘的市场,以迎合一部分消费者的需求。游戏NFT显示出潜力和弹性随着熊市的持续,市场上的NFT活动与一般的加密货币行业一起暴跌.
柴犬(SHIB)领头人用神秘的帖子戏弄粉丝;有什么大事要发生吗? ShibaInu的领队ShytoshiKusama在Twitter上发推文说他想与@susbariumTwitter帐户背后的团.
据Glassnode报道,本周,在全球最大资产管理公司贝莱德的带领下,加密货币市场迎来了现货比特币ETF申请的淘金热.
大家好,这里是链客区块链技术问答社区。链客,专为开发者而生,有问必答! 移动平均线一直被用于技术分析(包括加密货币市场定位)。在本文中,我们引入了哈希率移动平均数的概念.