1. 首页
  2. 技术

#5 比特币是如何流通的?

本期导览

本节课我们从交易这个角度来讲一讲,比特币的交易流程是怎样的,背后又隐藏了哪些原理。本课要点:

  • 比特币转账要素:地址、私钥、公钥、数字签名

  • 比特币转账技术原理:非对称加密

比特币是怎么来的呢?要么是你自己挖矿挖来的,要么是别人转账转给你的。上一期我们已经介绍了挖矿,下面我们就为大家介绍一下交易,你和你朋友是如何进行比特币转账的。

我们先看一下正常的比特币转账是什么样的:

我给小明转10个比特币,我只需要比特币客户端或者比特币交易平台里面,输入我的比特币钱包地址、小明的比特币钱包地址、转出比特币的数量和手续费,然后安静地等待矿工处理完交易信息之后,就可以完成转账了。

这个过程便捷是便捷,但是很多人会质疑一个问题,那就是:比特币转账是如何在一个没有管理员、没有中心化服务器的情况下,让我们能够在一个安全的环境里面进行交易呢?下面我们为大家详细介绍一下比特币交易背后隐藏的原理。

一、钱包地址

在介绍比特币转账原理之前,我们需要了解一下“钱包地址”是什么。钱包地址在比特币转账中是真实可见的东西。通俗来讲,“钱包地址”可以理解成一张银行卡、这张“银行卡”是比特币支付转账的“凭证”,记录着平台与平台、钱包与钱包、钱包与平台之间的转账信息。

但是,光有银行卡是不够的,每张银行卡都有两个重要的信息,一个是银行卡号,一个是银行卡密码。同理,比特币钱包地址也涉及到两个重要的信息:一个是公钥,一个私钥。它们之间的对应关系我们可以这样理解:

银行卡    ——  比特币的钱包地址;

银行卡号 ——  比特币的公钥;

银行卡密码  ——  比特币的私钥;

公钥和私钥属于密码学中“非对称加密算法”范畴,而比特币系统正是采用了非对称加密算法,来保证交易的安全性问题的。下面我们详细介绍一下。

二、私钥 & 公钥

私钥和公钥,从字面意思我们就可以理解:而私钥,是私人的、你自己拥有的、需要绝对保密的;公钥,是可以公开的。这就好比,你的银行卡密码必须绝对保密,而你的银行卡号可以人尽皆知,它印在银行卡上,谁都可以看到。

(一)私钥

我们刚刚讲过,私钥,它相当于银行卡密码,因此,私钥是需要绝对保密的。毫不夸张地说,谁掌握了私钥,谁就掌握了其对应比特币地址上的生杀大权,因此私钥必须要好好保护。

私钥是系统随机形成的一串字符,因为私钥数字集合足够大,大到无穷无尽,所以私钥是很难被破解的。有种说法是,破解私钥的概率比被雷劈还小。这就意味着,你不说,别人几乎不可能破解掉你的私钥。    #5 比特币是如何流通的? “私钥”是属于“非对称加密算法”里面的概念,与之对应的还有另一个概念,名叫:“公钥”。

(二)公钥

公钥可以理解成”银行行卡号“。公钥和私钥的关系非常密切:公钥是根据私钥计算形成的,根据私钥就能够计算出公钥。这就使得,公钥和私钥形成了唯一对应的关系:

当你用了其中一把钥匙加密信息时,只有配对的另一把钥匙才能解密。正是基于这种唯一对应的关系,它们可以用来验证信息发送方的身份,还可以做到绝对的保密。     #5 比特币是如何流通的?       

(三)私钥和公钥是如何运作的

比特币系统中引入密码学概念“私钥和公钥”,能够确保两件事情:

第一,是我这笔比特币能够正确转给收款方,而不会转错收款对象;

第二,是让收款对象知道,这笔比特币是我转给他的,而不是别人转给他的。

下面我们举一个例子说明,在比特币系统中,私钥和公钥是如何搭配协作的:

现在我要给小明转10个比特币,我要确保这10个比特币能够正确转给小明,而不会转给小红和阿花;同时,我还得让小明知道,这10个比特币是我转给他的,不是小红和阿花转给他的。

在这个过程中:比特币系统会把我的交易信息缩短成一个固定长度的字符串,这段字符串可看作交易信息的“摘要”。然后,我的私钥会被附到这个“摘要”上,形成一个“数字签名”。这个“数字签名”既包含了我的交易信息,还隐含了我的私钥,可以理解为我的“身份证”。因此,数字签名可以证明我就是我,而不是小红,也不是阿花。       #5 比特币是如何流通的?      之后,交易信息和数字签名会一起广播给矿工,等待矿工验证。这时,公钥便开始发挥作用。因为公钥是全网公开的,所有人都能够获取我的公钥,所以矿工肯定可以知道我的公钥。矿工会用我的公钥进行验证,看看我的公钥和我的数字签名能不能匹配上。如果能匹配上,就说明这个交易确实是我发出的

其实,公钥和私钥,简单理解就是:既然是加密,那肯定是不希望别人知道我的消息,所以只能我才能解密,所以可得出:公钥负责加密,私钥负责解密。举例:我用小明的公钥给信息加密,小明用自己的私钥可以解密。

同理,既然是签名,那肯定是不希望有人冒充我的身份,只有我才能发布这个数字签名,所以可得出:私钥负责签名,公钥负责验证。举例:我给小明发信息,我加上我自己的私钥信息形成数字签名,小明用我的公钥来验证,验证成功就证明的确是我发送的信息。

到这里,我们简单概括一下上面的内容。上面我们主要讲到这么几个词:私钥、公钥、钱包地址、数字签名,它们之间的关系我们梳理一下:

(1)私钥是系统随机生成的,公钥是由私钥计算得出的,钱包地址是由公钥计算得出的,也就是:私钥——公钥——钱包地址,这样一个过程;

     #5 比特币是如何流通的?       

(2)数字签名,是由交易信息+私钥信息计算得出的,因为数字签名隐含私钥信息,所以可以证明自己的身份。

私钥、公钥都是密码学范畴的,属于“非对称加密”算法中的“椭圆加密算法”,之所以采用这种算法,是为了保障交易的安全。只不过,在比特币交易中,加密解密啦、验证啦这些都交给矿工了,我们体会不到这些处理过程。

(四)钱包APP

钱包APP这部分是一个小小的补充内容。因为我们现在很多人都在使用钱包APP,所以我们做一个简单的介绍。

钱包APP相当于私钥、钱包地址和其他区块链数据的管理工具。钱包分冷钱包和热钱包两种:冷钱包是离线的,永远不联网的,一般是以一些实体的形式出现,比如小本子;热钱包是联网的,我们用的钱包APP就属于热钱包。

总结

比特币交易这部分我们通过两期的内容为大家做了呈现。我们可以发现:比特币系统主要采用了密码学中的哈希算法和非对称加密算法来保证交易的安全:在交易信息全网公开的前提下,哈希算法的单向性保护了交易双方的隐私信息;非对称加密算法能够保证交易过程中,你的比特币不至于转到别人的口袋里。

 

本文转载自作者:OK情报局,原文链接:。 本文观点仅代表作者本人,绝不代表本站赞同其观点或证实其描述,仅作学习交流使用。如若转载,请联系原出处。如内容、图片有任何版权问题,请联系本站处理。

联系我们

邮箱:readblocks@163.com