简介

Bitcoin(以下称比特币)是一个P2P网络,它的客户端有Full Node(全功能客户端)、SPV (Simplified Payment Verification,简化支付验证协议[1],即只支持简化支付验证协议的客户端)。SPV有时也称作Thin Clients, light-weight clients,它们在维基[2]上的页面引用是一样的。

Full Node会下载包含所有交易信息(而不仅仅是区块的headers)的完整区块链,到目前为止,这会要求为它保留145GB以上的磁盘空间,并且还在以每10分钟1M的速度增加着。这些数据将会在交易验证中用到,因此Full Node不容易被欺骗,它们是bitcoin网络中的安全基石。

SPV,或者说Thin Clients,则只会下载整个区块链中所有区块的头信息。正如比特币白皮书:

Bitcoin: A Peer-to-Peer Electronic Cash System(以下简称白皮书)所说,一个区块头大概80字节大小,假设每10分钟生成一个新的区块,那么每年只会产生4.2MB的头信息数据,因此这些信息全部放在内存中都不是问题。然而,在安全性上SPV并不如Full Node那么健壮。

安装Full Node是程序员的不二选择。比特币官网就提供了一个Full Node客户端,称作bitcoin core,有时候也被叫作Satoshi(即“聪”)客户端。如果想看看其它的客户端,包括SPV客户端,

除了比特币的官方钱包外,我们还有其他各种钱包可供选择。

  • Bitcoin-Qt - 基于 C++/Qt 的 Bitcoin 比特币客户端图形化界面,支持 Linux/MacOSX/Windows,全功能。现在作为官方客户端使用,不过有个缺点,就是需要同步数据,超级慢啊。所以就难怪网络上一堆人在那里叫:比特币钱包同步怎么这么慢啊?实在是没法快起来,数据包太大了。如果实在受不了,只想要一个钱包地址的话,那么不妨试试手机客户端或者以下其他几种客户端吧。 下载地址:http://bitcoin.org/en/download

  • MultiBit - 一个安全、轻量级、国际化的 Bitcoin 比特币钱包,支持 Windows、MacOS 和 Linux。MultiBit比特币客户端主要面向非技术用户,目标是为了让普通用户更快更方便的使用比特币。主要特征有“秒同步”(同步速度飞快),客户端可以创建和管理多个钱包,另外每个钱包都可以创建无数个收款地址。唯一的一点不好,选项里面有一个0.001的交易手续费,且不能取消。这是不是意味着,每次付款都要付出至少0.001的手续费呢?小编使用的就是这个客户端,强烈推荐。网站:https://multibit.org/

  • Armory - 是一个开放源代码的钱包客户端。它从一开始就设计用来给大量投资比特币的用户提供最高级别的安全性,同时仍然保持了高度的易用性和便利性。其易于使用和大量先进的功能,使它成为最流行的比特币客户端之一。Armory是基于 Python 的客户端,当前处在 Alpha 测试阶段,Beta 版本由多人资助。网站:https://bitcoinarmory.com/

  • Electrum - 是一个轻量级的、易于使用的比特币客户端,它可以保护你的比特币,避免遭受到因为备份错误或者电脑故障而造成的损失。你的钱包可以从一个秘密的短语中恢复,你可以把这段密语写在纸上或者记在心里。它并不下载比特币的块链数据,所以当你启动客户端时,你会发现不需要等待(众所周知官方客户端启动超慢)。网址:http://electrum.org/

参考

https://zhuanlan.zhihu.com/p/33646408