发布时间:2018-04-08 19:53:10 文章来源:互联网
微博 微信 QQ空间

比特币是一个令人难以置信的经过深思熟虑的系统,但首先理解它可能会感到压倒性的。这篇文章涵盖了从创建钱包到发送比特币的每一步路线下发生的一切。

创建一个钱包

当您创建钱包时,会为您自动创建一个新的比特币地址和密钥对。每个比特币钱包都有一个或多个与之关联的比特币地址,每个地址都有一组加密密钥,允许用户创建与该地址相关的交易。如果你认为你的地址是你的家,你可以把你的钥匙当作你用来锁定和解锁房屋的钥匙。

当一个新地址被请求时(或者是因为一个新的钱包已经生成,或者比特币客户端的用户决定创建一个),就会生成一个随机的椭圆曲线数字签名地址(ECDSA)私钥。这个密钥本质上是一个非常大的随机数。顾名思义,这个私钥不应该与任何人共享。这是什么让持票人在比特币网络上产生与相关比特币地址有关的交易。

接下来,从私钥生成公钥。虽然您可以从私钥生成公钥,但您不能做相反的事情。这允许共享公钥。公钥用于向您发送比特币。公钥然后用于生成比特币地址。为了获得地址,使用几种不同的算法对公钥进行散列处理,执行一些其他功能,如包括比特币版本,结果是比特币地址。

所以,总而言之,私钥是一个随机数。公钥是基于私钥创建的,比特币地址基于公钥。重要的是要注意,你不能倒退链 - 你不能从地址中找出公钥,也不能从公钥中找出私钥。

连接到比特币网络

比特币使用点对点网络,这意味着没有中央比特币服务器控制事物。相反,您的比特币客户端直接连接到其他比特币客户端,并且这些客户端连接到更多客户端,等等。

当您的客户端首先连接到另一个客户端(我们称之为远程客户端)时,它会发送一条介绍性消息,并询问远程客户端是否正在接受连接。如果是这样,远程客户端会回应您的比特币客户端直接连接到许多确认,并且这两个客户端在点对点网络中开始其他比特币客户端。

您的新比特币客户端需要下载整个区块链,然后才能开始从您的地址发送交易。区块链是迄今为止比特币网络已经确定有效的交易的正式记录。要下载块链,客户端将询问所连接的所有其他客户端开始在链中发送块。可能需要几个小时才能完全同步整个区块链。当您通过将比特币发送到另一个地址来生成新的交易时,交易将被发送到您连接的所有客户端。反过来,这些客户端将其转发给其他客户端,等等,直到它被当前网络上的每个比特币客户端看到。

另一视角

换一换