学习
实践
活动
专区
工具
TVP
写文章

比特币:从一个简单支付场景说起

今天通过「张三支付李四1个比特币」这个简单场景谈谈比特币的几个基本概念。

1)首先,张三登录自己的比特币钱包,通过私钥将自己账户上的比特币发送给李四的比特币地址。

这里有四个基本概念:私钥、公钥、地址、钱包

私钥由1个随机数生成,私钥非常重要,一旦私钥丢失或被盗取,等于你的比特币就丢了。这里有人可能会想:会不会产生2个同样的私钥呢?理论上是有可能的,但生成私钥的随机数范围非常大(2^256),所以碰撞的概率为1/2^256,几乎可以忽略不计。

公钥由私钥通过椭圆曲线算法生成,这里的椭圆曲线算法细节大家可以先不用管,只要知道它是一个不可逆的算法,也就是说通过私钥可以简单的求出公钥,但通过公钥想要知道私钥,除了暴力破解,别无他法。

地址由公钥生成,地址可以理解为收款账户,你就是通过地址让别人把比特币转给你。

钱包是私钥、地址等数据的管理工具,也就是说我们可以使用钱包来管理比特币的收付款等事宜。

2)比特币钱包产生一笔交易

这里的基本概念是交易,交易就像复式记账法账簿中的行,每笔交易由输入(1个或多个)和输出(1个或多个)组成,输入是比特币的付款信息,输出是收款信息,输入总额-输出总额就是交易费。下面是从blockchain.info截取的一个真实的交易信息:

3)比特币钱包把交易通过P2P网络传送到区块链

这里的基本概念是P2P网络和区块链。

张三的钱包只需要把这笔交易传输给相连的节点,P2P网络可以在几秒内,让这笔交易传输到绝大部分节点。

区块链是一种链式结构,新的区块会不断加入尾端形成一条不断增长的链,每个区块都包含HEAD和BODY两部分,其中后面要讲的nonce就是在HEAD里,而BODY主要包含交易信息。

4)矿机接收到新的区块后,利用PoW算出合法的nonce值(俗称挖坑),并把该区块加入到尾端

这里的基本概念是PoW和nonce。

PoW是一种基于工作量证明的共识机制,这种机制保证矿机只能通过暴力破解的方式算出合法的nonce值,因此谁的算力越多,算出nonce值的概率就越大。

那矿机提供了这么多的算力,能得到什么好处呢?有两个好处:一是奖励,这个奖励可以理解为新产生的比特币,从50个开始,每4年减半,现在是12.5个;二是上面提到的交易费。

这里会产生一个问题,就是可能不止一个矿机算出合法的nonce值,这时候区块链就会产生分叉,比特币的做法是不管它,随着后续区块的不断加入,一定会有一条链战胜其它链成为主链。

这样又会产生一个新的情况,万一张三给李四的这笔交易最终没有成为主链,岂不是交易就不存在了?没错,这也是为什么虽然比特币每10分钟生成一个区块,但一般要60分钟后才能最终确认这笔交易的缘故。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316G0RV1100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券