Comunion 是一个基于区块链的组织形式 (DAO) 与创业互助网络,为超级个体提供面向数字时代的全新商业基础设施和价值转化机制,致力于让劳动价值 像 资本一样自由流通、交易和积累。 本系列内容包含:基本概念及原理、密码学、共识算法、钱包及节点原理、挖矿原理及实现。 区块链中哪些地方使用了ECDSA? 通过前面系列的区块链原理和技术,大家应该都熟悉交易是如何在区块链系统或者在比特币、以太坊系统里面开展的。 在进行交易的环节当中,有一个很重要的消息,那就是需要进行签名。 也就是说一笔交易至少涉及到三项内容:付款人、收款人、付款金额。 例如,张三给李四付款的时候,张三付款人,李四是收款人,付款金额假设是5个 Token。 当张三准备好这笔交易之后,需要发给全网,当其他人看到这笔交易的时候,他们需要去认证这笔交易是否由张三发起的,这个环节中就使用到了数字签名技术。 交易签名如何运用ECDSA? 以特币为例,具体流程如下图所示。 交易的模块分为:交易输入和交易输出,一笔交易由多个输入或者多个输出组成。 交易输入代表付款信息,交易输出代表收款信息。当然里面还会有付款金额,付款金额的字段是在交易输出里面显示的。 这种交易类型和我们正常理解的交易是非常类似的,其资金的流向是从交易输入流向交易输出,即从付款人流向收款人。 图的右边有一个虚线的框,里面的 ScriptSig 是一个脚本签名,这个字段属于交易输入。同理,ScriptPubKey属于交易输出。脚本里面包含一些数据和操作码来支持这个脚本语言的运行。 ScriptSig和 ScriptPubKey可以直观的用中文解释为:解锁脚本和锁定脚本。 为什么 ScriptSig 又叫解锁脚本呢?是因为 ScriptSig 在之前相关连接的交易输出里面 锁定了一些资金。 如果张三要花费之前已有的 Token,也就是要花费一个未花费的交易输出,那么其需要在另一笔交易里面 构造一笔交易输入,在这个交易输入里面 会设置签名字段和公钥,以此证明张三有资格花费 未花费的交易输出。 这种情况叫做解锁脚本,即把之前已有的资金打开进行使用。 这个过程中,解锁脚本里面有两个字段数据,<sig> 和 <PubK>(PubKey的简写)。这两个字段分别代表:签名和公钥。两者由使用者提供,用以解决阻碍。 锁定脚本里面也有一些字段和操作码:DUP 是复制操作码;HASH160 是哈希操作码;<PubkHash> 是字段;EQUALVRTIFY 是验证操作码;CHECKSIG 也是验证操作码。 其整体意思是:执行复制——进行哈希——执行字段——验证是否相等——校验签名是否正确。 在验证签名的环节,就会调用ECDSA里面的验签算法。 如何使用ECDSA ?我们知道了签名在交易里面的具体使用位置,那么 ScriptSig 和 ScriptPubKey 这两个脚本语言,是如何执行,以及在执行的过程当中如何使用 ECDSA 呢? 如上图所示,这里会将两个脚本语言进行堆栈处理,即所有字段和操作码全部罗列在右边,解锁脚本里面有2个,锁定脚本里面有5个。 第一步,将第一个字段 <sig>解锁,置于堆栈的底部; 第二步,向右移动一格,将 <PubK>解锁推送至堆栈顶部,置于 <sig>的上面; 第三步,DUP 是复制操作码,它会将刚刚解锁脚本里面的 <PubK> (公钥)进行复制,此时会有两个 <PubK>,结果被推送至堆栈顶部; 第四步,HASH160 将复制的公钥进行哈希,使之变成 <PubKHash>, 公钥哈希; 第五步,EQUALVRTIFY 操作码将 PubKHash 和用户的 PubKHash 对比,如果一致,则都被移除,然后继续执行(这里是为了对公钥进行认证,来表明公钥或者地址是否相同); 如果第五步匹配的话,继续执行第六步——验证签名,这里就用到了 ECDSA,也是交易中很关键的一步。 在图中会看到,在执行最后一个操作码的时候,堆栈里面有两个字段。 此时 CHECKSIG 操作码会核查签名 <sig>是否与公钥的 <sig> 匹配,如果匹配,则会在顶部显示 TRUE,如果不匹配会显示 FLOSE。 如果返回值是TRUE 的话,此时发送者也表明了其对发送 Token 的所有权和使用权。 以上就是椭圆曲线数字签名(ECDSA)在区块链中的主要应用位置和场景。 本文链接:https://www.8btc.com/media/648249转载请注明文章出处 —- 编译者/作者:Xparallellines 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
区块链深度学习系列|椭圆曲线数字签名(ECDSA)的应用
2020-09-18 Xparallellines 来源:区块链网络
LOADING...
相关阅读:
- 知识付费,认知变现,交易赚钱‖梦想,粉红梦欢迎您2020-09-18
- 万人向往的区块链投资课程牧牛2020第四届区块链投资实战训练营镰刀班2020-09-18
- Ren协议在Liquid交易所上市2020-09-18
- 卡尔达诺继续投资以发展加密生态系统2020-09-18
- Wirex将推出多币种加密卡2020-09-18