当前位置:首页行情区块链的高级原理:转移

区块链的高级原理:转移

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

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

转移过程

众所周知,使用银行卡转账时,通常需要填写账户名称、对方账号、转账金额以及一些转账附言。输入密码后,我们会将资金转入对方账户。

在这个过程背后,整个系统是如何工作的?

如果张三在招商银行开户,他想把一笔钱转到李四在工商银行的开户银行。

张三提交转账申请后,其转账卡位于招商银行支行。在验证用户名和密码后,张三将交易提交给招商银行总行,然后由招商银行总行将交易发送至中国人民银行大额或小额支付系统。

最后,转账交易到达了李思开户的中国工商银行总行,一步步往下走,最后到达了李四开户的分行。

区块链传输系统是如何工作的?以比特币系统为例。它是一个点对点的电子现金系统。让我们看看整个过程是如何工作的。让我们看看比特币白皮书中的流程图。

区块链的高级原理:转移

如果张三要把10张比特币交给李四,

首先,张三需要打开他的数字货币钱包,然后扫描或输入李四的钱包地址。然后张三填写要转账的金额并选择相应的手续费(手续费对应转账速度),最后输入支付密码,然后点击发送。

整个过程与传统的转账交易非常相似。您需要输入对方账户、转账金额和支付密码,然后点击发送。最后,资金到达对方账户或钱包,交易完成。

差异

两者之间的关键在于中间资本流动部分的差异。

首先,张三的钱包通过私钥对交易进行签名,钱包将签名后的交易广播给与钱包相连的所有比特币节点。

在第二步中,这些节点在比特币中广播给其他节点,所有节点将验证事务的有效性。

第三步:如果事务合法,则将事务放入要打包的事务序列中,也可以称为内存池或事务池。列表中的事务称为未确认事务。

在第四步中,比特币 miner将从节点获取要打包的事务,并开始构建下一个块,即挖矿。

第五步:当矿工挖出一个符合要求的区块时,矿工会在第一时间将该区块广播给系统的所有节点。

步骤6,所有节点验证广播块。如果验证通过,请将此块添加到本地分类帐。

最后,李四的钱包被连接到一个新节点上,新节点的块中包含了张三的转账信息。这时,李思才可以通过钱包看到转账成功。

区块链的高级原理:转移1

工作原理

请思考两个问题:

为什么这三个私钥都可以使用?。

2这个交易已经有张三的签名,也就是说其他人都有张三的签名。其他人能用这个签名复制张三的签名,盗取张三的资金吗?例如,模仿一张支票的签名来伪造另一张支票。

这是与密码学有关的一门非对称加密的相关知识,我们将对这部分知识进行详细的讲解。今天,我们主要介绍非对称加密算法的用法。

我们经常听说加密算法是对称加密,即通信双方都有双密钥。

例如,对称加密就像在门上安装锁。只有有钥匙的人才能开门,但所有人的钥匙都是一样的。这是对称加密。

非对称加密和对称加密最大的区别是通信双方不需要有相同的密钥。

就像a用钥匙a锁门,B用钥匙B开门。这两个密钥对应于非对称加密中的私钥和公钥。

私钥和公钥是一对一的对应关系。公钥可以由私钥生成,但是私钥不能被公钥反转。

非对称加密的过程。

1发送方生成公钥和私钥;

2使用私钥对数据进行签名;

3签名后获取密文;

4将密文和公钥发送给接收方;

5接收者用公钥解密密文。

6证明密文是由发送方的私钥签名的。

区块链的高级原理:转移2

事实上,第一个问题在这里得到了回答,因为张三使用他的私钥对交易数据进行签名。同时,整个网络都可以拥有张三的公钥。交易的合法性可以通过公钥和签名来验证。

我们来看看第二个问题。

如果从三传的账号比特币到张三传的账号一直传出去,那么张三传的比特币是否可以继续从三传10转出去?

答案是:绝对不是。我们可以看看交易的结构。

区块链的高级原理:转移3

在比特币的每个事务结构中,有两个部分:输入和输出。

输出包括关于收款人的信息,例如上面的数量和锁脚本。锁脚本指定收件人的比特币地址以及在什么情况下可以使用比特币。

上面的输入包括前一个事务的ID,前一个事务的序列号决定了事务中输入的编号,从而解锁脚本。

这一交易信息称为utxo。

由于每个utxo只能使用一次,即使张三需要继续给李四川10张比特币,之前的输入已经改变,所以签名内容也会完全不同。因此,即使是相同的事务也不能重复地广播到比特币的网络。

让我们继续研究utxo。有些人可能会问,如果utxo用完了,以后怎么转账?

其实,在我们的日常生活中,比如银行、支付宝、微信,我们都很熟悉一种账户模式:我有一个账户,账户里有余额,我出了多少钱,剩下多少账户,每个人都有一个或多个账户。

这个模以太坊非常容易理解,但是utxo模以太坊与account模以太坊有很大不同。

个人对utxo模以太坊的理解更像是一种检查,就像在比特币网络中一样,比特币的检查也是源源不断的。当有比特币传输时,将生成一个新的utxo。在向外转账时,钱包会选择一个金额足够的utxo作为交易输入。

然后,将变更金额和变更地址用作事务的输出,并构建在该事务中。当事务被比特币网络确认时,事务中使用的utxo将无效。

同时,由于有一个用于更改的输出,钱包会得到一个新的utxo,这相当于一张新支票。

由于前面的utxo是无效的,相应的签名也必须是无效的,因此不能重用。

区块链的高级原理:转移4

有一个问题要问你:既然我知道张三的地址和公钥,为什么我不能从这个地址和公钥中推回他的私钥呢?

如果李四有张三的住址和公钥,把张三的私钥倒了,李四就不能花张三的钱吗?什么机制保证了这种不可逆转性?

请往下看

公钥与私钥的转换过程

私钥通过椭圆曲线算法得到公钥。公钥经过多次哈希运算得到公钥的哈希值,然后通过base58的编码得到地址。

在整个过程中,从私钥到公钥、从公钥到散列的过程信息被多次压缩,具有单向性和不可逆性。因此,不能通过公钥的散列来获得公钥和私钥。

私钥是从哪里来的?私钥实际上是一个随机数。这个随机数的范围是1~2的256次方,范围大约是10的77次方。目前,宇宙中可见的粒子约为10次方至80次方。

以比特币为例。比特币网络中已经使用的粒子的全球地址约为2400万,这是10的八次方。你可以想象这两个空间的数字有什么不同。因此,比特币地址的空间非常小,发生冲突或重复名称的可能性很小。

有些朋友也听说过一件事,那就是有人注册了一个新的数字货币钱包,但钱包创建后,他看到钱包里有交易记录。简而言之,他创造的钱包已经被别人使用了。

那么,到底会发生什么呢?

一是碰撞真的会发生,就像高能粒子对撞机,每数十亿次实验中就有几个粒子相撞。虽然碰撞的可能性很小,但并非不可能。

另一种情况是由于钱包的开发者或供应商的原因,钱包的随机数生成模块出现问题,导致钱包的随机数空间非常小。这将成倍增加碰撞的概率。

(稍后我们将在钱包的分类应用中详细介绍这些知识。)

我们用下图来总结一下:

区块链的高级原理:转移5

首先,私钥生成一个随机数,通过椭圆曲线变换将随机数转换为公钥,然后通过SHA-256和ripemd-160将公钥转换为公钥哈希,最后通过base58编码得到比特币的地址。

从私钥公钥哈希地址的过程中可以看出,信息被多次压缩。除了base58在最后一步是可逆的,只要数据被压缩,数据就会丢失。所以这个过程是绝对不可逆转的,这也保证了数字货币的安全。

在这里你可以预先考虑一个问题:既然从私钥到公钥是不可逆的,为什么我们不把公钥作为数字货币的接收地址,但是我们必须将公钥转换成公钥哈希,然后通过base58将其转换为接收地址?

我们将在下一期回答

温馨提示:

文章标题:区块链的高级原理:转移

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

更新时间:2020年08月08日

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

区块链的高级原理:转移6
行情

白晓生观察注:8.9比特币市场分析没有底部结构将无法冲高

2020-8-8 11:58:27

行情

比特币两周来一直稳定在1万美元以上,链上数据依然看涨

2020-8-8 14:14:48

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