OP_CHECKSIG是验证ECDSA签名的操纵码。假如验证乐成,则返回true,不然返回false。它从仓库中获取两个输入,一个民众密钥和一个签名。别的它将当前事务作为输入。生意业务是要签名的动静。在ECDSA中,对动静举办哈希处理惩罚,然后将摘要用于签名生成和验证。在OP_CHECKSIG中,摘要算法计较以下原像的double SHA256:
5.OP_CHECKSIG
4.推入从步调2中推入的私钥派生的公钥
3.利用剧本中的ECDSA签名算法,利用事务和步调1和2中推送的私钥生成签名。
关于剧本的一个常见误解是,其会见仅限于锁定剧本和相应的解锁剧本中提供的数据。因此其范畴和本领受到极大限制。我们设计了一种算法来获取包括正在评估的剧本的当前事务。我们将其称为OP_PUSH_TX,因为它用作将当前事务推送到仓库中的伪操纵码。我们利用sCrypt(一种可编译为本机剧本的高级语言)来实现它,并通过示例演示其用法。 OP_PUSH_TX 郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
剧本实施
凡是OP_CHECKSIG中利用的签名是链外生成的,并在解锁剧本中推送到仓库中。为了获恰当前生意业务,我们改为在ON CHAIN上生成签名。利用剧本实现OP_PUSH_TX算法,如下所示:
1.推送当前事务(更准确地说是摘要preimage)
sCrypt实现OP_PUSH_TX算法并将其打包在称为Tx的尺度智能合约中。譬喻我们利用它来开拓一个称为CheckLockTimeVerify的合约,该合约可确保代币被锁按时间,而且在到达成熟时间之前不能耗费,雷同于OP_CLTV。仅需两行代码(第5行和第7行),就可以获取当前事务。