当前位置:首页区块链ECDSA的应用

ECDSA的应用

Comunion是一种基于区块链的组织形式(DAO)和创业互助网络,为超级个人提供面向数字时代的新的商业基础设施和价值转化机制,致力于让劳动价值像资本一样自由流通、交易和积累。

本系列包括:基本概念与原理、密码学、共识算法、钱包与节点原理、挖矿原理与实现。

ECDSA在区块链中的何处使用?

通过前面的一系列区块链原理和技术,我们应该熟悉如何在区块链系统或比特币以太坊系统中进行交易。

在交易过程中,有一个非常重要的信息,那就是需要签名。

换言之,一笔交易至少涉及三个方面:付款人、收款人和支付金额。

例如张三支付李四时,张三为付款人,李四为收款人,支付金额假设为5代币。

当张三准备好交易时,需要发送到整个网络。其他人看到交易时,需要核实交易是否由张三发起。在这个环节中,采用了数字签名技术。

如何在事务签名中使用ECDSA?

以特种币为例,具体流程如下图所示。

ECDSA的应用

交易模块分为:交易输入和交易输出。一个事务由多个输入或输出组成。

交易输入代表支付信息,交易输出代表收款信息。当然,会有付款金额。“付款金额”字段显示在事务输出中。

这种类的交易与我们通常理解的交易非常相似。它的资金流动是从交易输入到交易输出,即从付款人到受款人。

图的右边有一个虚线框。框中的脚本sig是脚本签名,属于事务输入。类似地,scriptpubkey属于事务输出。脚本包含一些数据和操作码,以支持脚本语言的运行。

Scriptsig和scriptpubkey在中文中可以直观地解释为:解锁脚本和锁定脚本。

为什么scriptsig也叫unlock script?这是因为scriptsig在前一个连接的事务输出中锁定了一些资金。

如果张三要花费前面的代币,也就是说,要花费一个未使用的事务输出,他需要在另一个事务中构造一个事务输入。在这个事务输入中,将设置签名字段和公钥,以证明张三有资格花费尚未花费的事务输出。

这种情况称为解锁脚本,即打开现有资金使用。

在这个过程中,unlock脚本中有两个字段数据,and(缩写为pubkey)。这两个字段分别表示:签名和公钥。两者都由用户提供,以解决障碍。

锁脚本中还有一些字段和操作码:DUP是**操作码;hash160是哈希操作码;是字段;equivalverify是验证操作码;checksig也是验证操作码。

它的总体含义是:copy-hash-execute fields-verify equality-verify the signature is correct。

在签名验证过程中,将调用ECDSA签名验证算法。

如何使用ECDSA

如果我们知道签名在事务中的具体使用位置,脚本语言scriptsig和scriptpubkey如何执行,以及在执行过程中如何使用ECDSA?

ECDSA的应用1

如上图所示,这两种脚本语言将进行堆栈处理,即右侧列出所有字段和操作代码,解锁脚本中有2个,锁定脚本中有5个。

第一步是解锁第一个字段并将其放在堆栈的底部;

第2步,向右移动一个空格,将解锁按钮推到堆栈顶部,然后将其放置在堆栈顶部;

在这种情况下,DUP将被**到堆栈的顶部,而结果将被**到堆栈的顶部;

ECDSA的应用2

在第四步中,hash160将**的公钥散列成公钥散列;

步骤5:EqualVerify操作码比较pubkhash和用户的pubkhash。如果它们一致,则删除它们,然后继续执行(这里是对公钥进行身份验证,以指示公钥或地址是否相同);

如果第五步匹配,则继续执行第六步——验证签名。这里我们使用ECDSA,这也是事务中的关键步骤。

如图所示,当执行**一个操作码时,堆栈中有两个字段。

此时,checksig操作码检查签名是否与公钥匹配。如果匹配,则在顶部显示true,如果不匹配,则显示float。

如果返回值为true,则发送方还指示其所有权和使用发送代币的权利。

以上是ECDSA在区块链中的主要应用位置和应用场景。

温馨提示:

文章标题:ECDSA的应用

文章链接:https://www.btchangqing.cn/106689.html

更新时间:2020年09月20日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链行情

【货币解读周刊】BTC市值上升0.8个百分点,主流货币已蓄势待发

2020-9-20 17:20:25

区块链行情

[市场知名专家]比特币看涨趋势持续升温

2020-9-20 17:28:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索