一文弄懂比特币的交易原理

区块链 数据安全
很多人都在关注虚拟货币的大涨大跌,却几乎没有人关注到底是什么样的技术,支撑着这么大的一个币圈?虚拟货币交易的流程,到底是怎么一回事?

最近被比特币等虚拟货币刷屏了,比特币、以太坊、狗狗币,一大堆名词扑面而来,不明就里的人们被搞得晕头转向。

很多人都在关注虚拟货币的大涨大跌,却几乎没有人关注到底是什么样的技术,支撑着这么大的一个币圈?虚拟货币交易的流程,到底是怎么一回事?

[[403083]]

非对称加密

首先,我们得先理解什么是非对称加密。非对称加密我们曾经详细地对它进行了介绍,这里只简单地说一下概念。

对称加密指的是加密和解密,用同一个密钥。而非对称加密其实很简单,加密和解密必须使用一个密钥对,密钥对包含一个公钥和私钥。

公钥是公开的,任何人都可以获取,而私钥只有自己知道。其他人可以使用公钥加密数据,再发送给你,你再使用相对应的私钥解密,得到数据。

当然也可以反向操作,使用私钥加密数据,其他人再用公钥解开。用自己私钥加密的数据,只有对应的公钥才能解开,所以这一方式可以用来验证数据的真实性,也叫数字签名。

别人用你的公钥能解密成功,说明这一数据来自于你,而不是其他人,也没有被篡改过。

虚拟货币原理

明白了非对称加密,我们很容易理解虚拟货币背后的原理。

如果有人想转一些比特币给你,他就会使用你的公钥进行加密发送给你,由于私钥在你的手里,只有你能解密,因此这笔钱就变成你的了。

可以看出,在整个虚拟货币交易过程中,私钥非常重要,交易只针对私钥,不针对某一个人,这也是虚拟货币匿名性的体现。

如果私钥没有保管好,泄露了,那么自己的虚拟货币很容易被人偷走,因为别人可以拿着你的私钥,冒充你进行交易。

交易流程

虚拟货币是如何进行交易的呢?

首先需要去虚拟货币交易所开户,平台会自动生成一个密钥对(公钥和私钥),存放在你的钱包里。

在进行比特币交易的时候,要用到比特币地址,这个比特币地址是怎么来的呢?

这个地址是由公钥演变而来的。

根据协议,公钥长度为512位,这么长显然不易于传播,因此协议又规定,应为公钥生成一个160位的“指纹。”所谓的指纹,其实就是一个哈希值。

160位是二进制,一般用十六进制表示,所以比特币地址一般在26到35个字符之间。这样一来,比特币的地址大幅缩短了。

在开始交易前,还有一个问题没有解决。

因为比特币等虚拟货币的交易记录,是全部公开的,哪个地址有多少个比特币都能被看到。

问题就出在这。

假如地址A说:“我向B地址支付了1个比特币。”比特币要怎么验证这个交易记录是真实发生的,而不是某一个人随意捏造的呢?

根据比特币的协议,当A说给B支付了1个比特币的时候,必须提供以下几种证明:

  • 你是从哪里获得这些比特币的?
  • 你的比特币地址是多少?B的比特币地址是多少?
  • 你的公钥是什么?
  • 你用私钥生成的数字签名。

如果A地址能提供以上文件,就能证明这次交易真实发生了。

当A地址和B地址的交易真实发生后,还需要将本次的交易数据写入到数据库里,B地址才能真正收到比特币。

挖矿的矿工们

写入数据库的这项工作,由挖矿的矿工们承担,他们负责把这一交易记录写入到区块链中。

当A地址向B地址支付了1比特币后,这一行为会通知所有正在挖矿的矿工们。

[[403084]]

交易行为发生后,会先通知离A地址最近的那些矿工,当这些矿工收到消息后,又会把消息扩散到离他们较近的矿工们,经过一圈又一圈的传播,所有人都会接收到这笔交易的信息。

根据比特币协议,一个区块大概可以包含2000多笔交易,矿工们负责把这2000多笔交易打包起来,组成一个区块,然后计算这一区块的哈希。

这一过程叫采矿,需要大量的计算,谁能先算出哈希值,谁就能第一个将这一区块添加进区块链,获得一定数量的比特币,而其他矿工会一无所获。

虚拟货币的交易,大概就是这样一个过程,说起来其实也并不复杂。但能提出这一革命性构想的人,真的很了不起。在全世界无数爱好者的支持下,虚拟货币经济越来越发达,其野蛮增长也受到了各国的关注,规范虚拟货币交易,成为全世界各国的共识。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-08-03 08:01:16

CDN网站服务器

2023-04-04 08:01:47

2021-04-20 14:56:26

比特币加密货币金融

2020-11-11 08:20:33

比特币加密货币区块链

2018-03-14 08:39:40

2021-04-29 15:01:51

比特币区块链矿工

2022-08-09 09:10:43

Kubernetes容器

2018-05-29 16:20:55

区块链比特币

2023-03-27 17:58:34

MySQL加锁间隙锁

2023-03-30 08:52:40

DartFlutter

2023-09-18 08:02:45

CSS布局属性

2023-10-26 16:27:50

前端 WebCSS开发

2023-11-28 09:31:55

MySQL算法

2022-07-05 14:44:57

比特币加密货币区块链

2022-09-05 09:25:53

KubernetesService

2023-12-12 07:31:51

Executors工具开发者

2022-09-01 08:01:56

Pythongunicorn

2021-02-10 15:58:09

比特币加密货币区块链

2014-02-13 15:19:49

2022-07-07 11:51:15

比特币区块链加密货币
点赞
收藏

51CTO技术栈公众号