比特币底层的区块链技术随后也被发现,其去中心化、去追溯、不可篡改等技术特性,可以应用在金融、溯源等场景。无论你是想了解区块链或者比特币,我们认为比特币作为区块链的诞生之处和第一个应用,都是你入门前需要深入了解的第一个只是点。
什么是比特币,怎么获得比特币,本文将手把手教你了解和使用比特币。
1.开户
想要拥有比特币,不管是去交易所买,还是别人转账给你,你都需要一个比特币账户。比特币开户需要携带什么材料,到哪个机构去开户呢?不用任何材料,只要下载一个比特币钱包。
小知识:比特币钱包又是一个比较大的话题,首先要明确,数字货币钱包并不是真的“钱包”,币不存钱包里,而存在上面说到的链上(实质是一堆数字),钱包只是个让你开户、查询余额和转账的应用。其实每一个币种,理论上来说都会做自己的钱包。因此,市面上大部分钱包的作用更易用,聚合各币种,或者更安全。有分去中心化的也有冷钱包、热钱包、托管钱包。
使用链上轻钱包可以让你更了解比特币的一些私钥、地址和助记词等有点“反人性”的设计,比特派、imtoken等都是比较老牌的钱包,英文好的人甚至可以用比特币的官方钱包;托管钱包会更易用,但是私钥不是自己保管。
有了比特币钱包之后,你需要做的就是动动手指,开好账户。
比特币的一个账户由一对密钥(私钥,公钥)组成。账户所有者可以用自己私钥进行数字签名,用公钥则可以验证签名。公钥可以通过私钥生成,但有公钥却没法生成私钥。也就是所谓的“非对称加密”。这也是比特币被称为数字加密货币的原因,因为整个系统都依赖密码学基础。
小知识:这里所说的哈希计算是什么意思呢?
哈希计算有如下特点:
1、将任意长度的数据映射为固定长度的大整数;
2、数据有任意变化后,计算出来的结果完全不同;
3、无法通过哈希结果逆推出原始数据内容。
哈希算法有很多种实现,比如比特币使用的 SHA-256 算法。哈希值是用 16 进制表示的整数;原始内容只要轻微变化,哈希结果就会差之千里,那么每次改动原始内容,得到的哈希值相当于从 1 到 2的256次方 中随机抽一个数。 这样别人就无法通过账号地址推算出公钥。所以你可以放心地把地址告诉别人,接受对方的转账,而不用担心账号被盗。除非你自己丢了私钥。
当你有了属于自己的第一个比特币账户时,你很开心;但同时你也很沮丧,因为里面空空如也。怎样让自己的钱包鼓起来呢?
你有以下途径可以实现这一目标:
1、比特币“挖矿”;竞争很激烈,普通人机会很渺茫,但可以通过租赁机器来挖矿
2、花钱到交易所购买
3、让你的好朋友给你转一点;(如果有这种朋友的话。)
2 记账
当你有了比特币账户和比特币之后,你就可以在不同账户之间进行转账。比特币最小单位是1聪,1聪 = 0.00000001btc. 当我们用支付宝向别人转账时,实际上是由银行在负责扣掉你账户的金额,加到对方账户下,给你出账单,同时收取你的手续费。
比特币转账步骤类似,但是没有银行这个角色。那么在比特币转账过程中,谁来扣钱、谁来记录账单呢?
与银行系统不同,这里出现了一个分散式的记账方式:分布式账本。即账本不再由银行系统维护,而是由参与者共同维护,简单理解为:每一个人都可以参与记账。维护账本的人一般被称作节点,也叫矿工。
在区块链中,交易按照时间顺序排列,一个区块链就是一堆交易的打包,可以把区块看做一页账本。
每一页账本的记账人(也就是这个区块的出块者),都要通过一个比赛选出来,才能获得记账的权力。记完这页帐之后,并把这页账本广播给其他所有的人。这个过程就叫出块、也叫“挖矿”。
其他人可以通过密码学验证这些交易,上文有说,账户所有者可以用自己私钥进行数字签名,用公钥则可以验证签名。其他参与记账的人可以就可以同步最新这个区块/这页账本,并在此上继续挖。同时,在区块链中,每一页账本(每一个哈希)环环相扣,并且通过上面提到的哈希算法记录上一个区块的哈希值。
在这样一个分布式系统中,每个节点独立维护一份完整的交易账本,这个账本也叫做“分布式账本”。每次都需要大多数节点的认可,任何一个节点都没有办法单独篡改账本,除非他获得51%的节点同意,否则无法成功,这也就是所谓的51%攻击。
任何一个节点退出网络或宕机,都不会影响系统运行。这种方式相比单节点的中心化系统有很高的安全性。节点分布在全球各地,每个节点与附近的节点连接,组成一张覆盖全球的P2P网络。这也是比特币可以全球流通的物质基础。
上一个部分说过,一个账户要知道自己的余额,可以通过钱包查询。
但节点才有完整账本信息,钱包也要通过节点来查询自己的余额。那么节点在哪?看不见摸不着,去哪里找它?幸运的是,不用你费心去找节点,你的“比特币钱包”会帮你做这件事。
事实上,比特币钱包要把交易信息告诉节点,那么它就至少得连接比特币网络中的一个节点,当与节点连接后,比特币钱包本身也就成为了网络中的一个节点,但与拥有完整账本的全节点相比,钱包节点是“轻量级节点”,因为它既没有记录完整的账本,也没有去“挖矿”。
好奇的你还是想多问一句:比特币钱包是怎么发现节点的?
很简单,在比特币网络发展的过程中,会有一些长期稳定的节点,称为“种子节点”。开发比特币钱包软件的时候,会把这些“种子节点”的域名写进代码,通过 DNS 动态查询的方式,向“种子节点”要一份活跃节点地址列表,以这些节点为媒介,比特币钱包就可以加入网络了。
比如, Mr.Chen 通过比特币钱包给 Miss.Lv 转了0.05BTC,这笔转账通过“分布式账本”被全球的比特币网络节点记录在案。
转账记录:Mr. Chen -> Miss. Lv : 0.05btc 当然,不会真的这样记录名字,而是两人的比特币账号,类似于:
1AC4fMwgY8j9onSbXEWeH6Zan8QGMSdmtA -> 1JWq3G8pqCo6jZGhLHpctYap5yVScqGxkv : 0.05btc
这样一个记账过程,其实就是所谓的区块链。比特币是区块链的第一个应用。
3 发行/挖矿
既然是货币,你肯定会问到,那它最开始是怎么来的呢?
这就涉及到了比特币的发行。
普通的货币,都是中央银行等某个机构发行的,但是在比特币中,每一个区块的产生,都伴随着新币的产生(这就是程序里写好的,不要问我为什么)。谁赢得了这轮区块的记账权,谁就能获得最新产生的比特币。
比特币一共发行2100万枚。区块奖励最初为50个BTC,即每挖出一个块,矿工就会获得50个BTC。系统规定,每21万个区块(约4年),出块奖励减少一半,直到少至比特币最小单位1聪。因此,2012年后区块奖励调整为25个BTC,2016年为12.5个,下次减半将在2020年。这个比赛过程就像在挖新的金币,所以大家都会将其将为挖矿,把账本维护者称为“矿工”。
说到这里,其实已经涉及到比特币的激励机制,也就是节点为什么愿意浪费资源来记账呢?
其实,为了奖励记账的节点,比特币系统设计,每一个用户在转账的时候,都需要支付验证交易的手续费,同时,更早加入网络的节点,可以获得新发行的比特币(直到所有比特币发行完毕)。如此一来,矿工们每次记账,都能获得两部分收入。
4 共识机制:PoW
要知道,现在一枚比特币价值一万美元,那记账节点出一个块就能获得12.5枚,那不是谁都想挖?
比特币系统为了让大家公平获得记账权,设计了一套竞争机制。
系统要求竞争者通过SHA-256运算,猜一个符合要求的随机数。谁先找到,谁就获得记账权。这个过程你可以理解为乱猜数字,谁先猜到谁赢。
这个被乱猜中数字,实际上还会记录进这个区块的区块头里面,作为一个随机数永远被记录到账本之中。如果你还记得上文的话,你会发现本文提到过每一个区块都会记录上一个区块的哈希值,而哈希值本身是通过哈希计算算出来的,这个随机数其实也是哈希计算的一个因子。
由于SHA-256运算就是在碰撞随机数,谁在同样时间内猜的次数越多,谁就有更大概率找到”答案“,获得记账权。所以,这个竞争机制被称为工作量证明,也就是所谓的PoW(Proof of Work)。
大家为了提高自己的运算速度,只能不断地提高单位时间算力大小。因此硬件设备从最开始的笔记本电脑不断更新跌代到如今专业的挖矿机器普通笔记本电脑已经没法挖了,于是也出现了矿池。
算力设备越来越高级,不过,比特币系统还有一个很有趣的设置,它会自动通过难度调整,让出块时间尽量保持在10分钟一个。
对挖矿感兴趣的朋友可能会问,现在还能去挖矿吗?当然可以,但是已经无法用电脑甚至自己买矿机去挖了,成本太高。因此市场上也出现了针对普通人参与挖矿的方式,相当于租赁别人的机器给自己挖矿。
5 比特币优点和缺点
现在你已经理解了比特币系统运行的原理,所有这些复杂的设计,只为了实现以下条件:
1、总量有限,减量供给;
2、无法伪造;
3、交易方便安全;
这些特点给人以信心,使人相信比特币可以作为一般等价物,于是慢慢地:
4、被广泛认可和接受
另外,比特币还具有鲜明的特点:
5、去中心化;
6、全球发行和流通;
这既包括了发行的去中心化,也包括分布式账本。
比特币的优点很明显,但缺点也同样明显:
1、比特币的“挖矿”机制,耗费了全球大量的能源;
2、盲目的炒作令比特币价格剧烈波动,而货币的首要目标就是币值稳定;
3、交易的匿名性存在缺陷,比如此前勒索病毒要求使用比特币作为赎金;
4、比特币总量有限,所以是一种通缩型货币,价值只增不减,可能导致人人囤积,从而市场上缺少流动性,最终经济萎缩;
5、转账耗时,还需要手续费;
6、交易并发容量有限。
CIO之家 www.ciozj.com 公众号:imciow