今天我们先来学习下比特币的历史,接着再来认识下比特币钱包。
比特币的历史
2008年,一个化名为中本聪(Satoshi Nakamoto)的人发明了比特币,他公开发表了比特币论文:A Peer-to-Peer Electronic Cash System,他在做比特币之前,借鉴了一些电子货币的思想,包括:b-money、HashCash等,但中本聪并没有依赖于这些中心化发行和结算系统中的任何一个,相反,他采用的是去中心化的方式。系统通过POW(Proof Of Work,也就是我们俗称的挖矿)算法完成每10分钟1次的选举,以此让一个去中心化的网络在交易状态上达成一个共识,保证了系统的一致性。这种算法极大的解决了一次交易,被消费两次的问题,在此之前,即便是中心化的货币系统都很难解决该问题。
比特币网络开始运行的时间是2009年,最初的原型是中本聪写的,项目开源出来后,吸引了一大批程序员参与其中,对其进行修订。Proof-of-Work算法为比特币提供了安全性和适应性,并且随着“矿工”的增加,算力曾现指数级的爆炸式增长,目前,整个网络的运算速度超过了全球所有超级计算机之和,同时,比特币的市值也在不断上涨,历史上最大的一笔交易是1亿5千万美元——交易一旦发起便立即执行,且交易费很低。
中本聪从2011年春天开始淡出公众视野,将开发代码的责任交给了社区志愿者,所以比特币背后的男人仍然是个迷,但不论是中本聪本人,还是任何个体,都无法超控整个比特币网络了,即便它的算法、代码都是公开的,比特币已经开创了一个新的领域,包括了分布式计算、经济学以及计量经济学。
分布式计算问题的解决方案
中本聪的发明是分布式计算中一个著名问题的实践——拜占庭将军问题,简单的说,这个算法试图解决在一个不可靠的网路中,让所有节点对于某种状态达成一致。中本聪的解决方案是Proof-Of-Work,在不需要中心化授权的情况下就能形成共识,这是分布式计算中的一个重要的突破,它不仅可以运用于数字货币,还可以运用在公平选举、彩票、资产注册、数字公正等诸多方面。
简单说下我对POW的理解——它是如何解决一致性问题和Double spending问题的:
- 由于同一个区块只有一台机器对它进行修改,所以它是天然一致的
- 由于POW算法是一种随机性算法,任何机器都可能成为修改区块的机器,加上奖励机制以及其他机器对新增块的验证,使恶意篡改账本的成本高于的不作恶的成本,保证了每一笔交易都是正确无误的。
想了解更多比特币历史方面的内容,推荐你去看一部纪录片《比特币的崛起(The Rise and Rise of Bitcoin)》
比特币钱包
比特币的概念并不直观,除此之外,比特币钱包也是初学者接触这个应用的巨大障碍之一,有以下几点原因
- 钱包本身看不见摸不着
- 其中夹杂着公钥、私钥、地址等诸多概念
- 不像支付宝等中心化产品——财产的安全性部分交给第三方管理,而比特币钱包的安全性完全由自己管理
上一篇我们谈过,只要你保存好你的密钥,你就可以证明自己的比特币,而钱包就是用来保管密钥的应用软件,这是钱包存在的意义。下面我们对钱包分一下类,让你有个更全面的认识:
全节点客户端——相对于轻钱包来说,这应该可以被称作“重钱包”,这种客户端提供了比特币节点的全部功能,包括挖矿、验证、为轻客户端提供查询接口等,它存储了比特币网络中的全部交易数据,正因如此,它所消耗的资源就比较多,例如需要几百GB的磁盘空间(建议300GB以上),至少需要2GB内存。
轻钱包——轻钱包又称Simple-payment-verification(SPV),轻钱包主要的功能是提供支付或收款功能,它不需要保存全网中所有的交易信息,而交易信息的获取是通过连接网络中的全节点、调用节点提供的API
来完成的。
第三方API客户端——第三方的意思是,把钱包和密钥交给它管理,它一般会提供一个web站点,最典型的例子便是交易所。
硬件钱包——存储比特币钱包的硬件,通过USB
接口在电脑上使用,或用手机的NFC
进行操作,这种钱包非常安全,如果你拥有大量的比特币,建议使用这种方式,顺便说一下,我本人使用的就是Trezor这款硬件钱包。
纸质钱包——把密钥抄在纸上,这种方式的技术含量没有硬件钱包高,但安全性也非常高,这种离线存储密钥的方式也被称作冷存储(Cold Storage)。
随着移动互联网的普及,目前最为流行的钱包是移动设备上的轻钱包,因为钱包的种类繁多,所以在选择过程中一定要慎重,市场的接受度和技术团队的实力都是值得考量的地方。
总结一下,钱包这个概念并没有那么高深莫测,它只是一个软件,和现实生活中的钱包一样:钱包本身不重要,钱包里装的东西才是最重要的,比特币钱包中装的是你的密钥,这些密钥一定要小心保管,最好是离线保存,因为一旦泄露出去,后果会不堪设想。