比特币客户端与钱包

简介

拥有和保存比特币,需要通过客户端,通常把该软件称为钱包。目前,整个比特币项目由Bitcoin Foundation来开发与维护,通常把他们称为官方团队。官方推出的客户端是Bitcoin Qt, 由C++编写核心功能,GUI界面由Python Qt完成。不含有GUI界面的被成为bitcoind,许多服务与核心功能均由其实现。运行bitcoind的通常称为节点(Bitcoin Node), 一个节点通常拥有完整的BlockChain数据,并实时与外界网络同步更新。

钱包中通常含有:

  • 公钥、私钥、地址
  • 与钱包中地址相关的交易信息
  • 其他辅助数据

最核心的数据就是密钥,拥有密钥便拥有一切,相关信息均可由其而来。钱包并不一定需要包含完整的BlockChain数据,不包含BlockChain数据的钱包称为轻钱包(Light Weight Wallet)。对于大部分日常使用来讲,轻钱包便足够了。

分类

  • 完全节点型(Full Node):含有BlockChain所有完整数据
  • 简易节点型(SPV Node):Header-Only Clients,仅有Block头部信息,无需交易数据
  • CS型(Server-Client):服务端-客户端模式,大部分数据存储在服务端
  • BS型:所有数据均通过浏览器在线使用

Bitcoin Qt,因为其是一款完整的钱包软件,需要下载大约超过10GB的BlockChain数据(24万个block),对于大部分人来讲,是没有必要的。目前,官方主页上默认推荐的客户端已经不再是Bitcoin Qt, 而是MultiBit(支持Windows, MacOS和Linux的轻钱包);移动端目前最好用的是Bitcoin Wallet(安卓平台),iOS平台由于政策原因,一直未有出色的软件,Blockchain.Info为iOS提供了一个简单的钱包软件,Blockchain for the iPhone。还有就是在线钱包,如优秀的BlockChain.Info,其安全性均超过自行保存管理,推荐使用之。

最近还有一种流行的钱包:脑钱包。因其安全性较低,并不推荐大家使用,仅临时性场合使用之。其原理是由一串密码短语,通过Hash运算,得到密钥,只要记住这串密语即可使用钱包。因为密码短语符合大家习惯和记忆特点,可以通过计算大量常见组合来破解。除了暴力破解的问题外,失忆是最大的风险,比如摔个跟头跌成脑震荡,或长期不用自然忘得一干二净。

选择&存储

  • 日常使用的额度通常小于10个币,可以存放在电脑或手机App中。通常存放1个币以下是比较保险的,丢了不太心疼嘛

  • 持有几十、几百个币的,可以选择BlockChain.Info,Inputs.io等在线钱包。其也可以当做日常钱包使用。

  • 持有上千甚至数万的,应该分开存储,并隔离存放。使用离线电脑生产密钥,打印出来托管至银行等高安全场所存储,并销毁现有密钥。同时还需要多份隔离存储,甚至对密钥进行加密。

密钥即一切,如不慎弄丢钱包,便永远失去这笔比特币。所以钱包需要小心妥善保管,不在自己的PC或者手机App中存储大量比特币,丢失的风险太高,病毒木马、硬件损坏、手机丢失等均造成无法挽救的损失。俗话讲鸡蛋不要搁在一个篮子里,多种方式存储也是降低风险的有效方式。目前丢失的比特币或有数百万BTC之巨。

常见钱包

  • Bitcoin-Qt - 官方客户端,基于C++/Qt,全平台,完全数据。
  • MultiBit - 全平台,轻钱包,官方推荐
  • Electrum - 著名轻钱包
  • Armory - 基于Python,含有诸多特性的轻钱包
  • BlockChain.info - 非常著名在线钱包

开发库

  • bitcoind - 官方客户端,无GUI,开发者必备
  • libcoin - libcoin
  • libbitcoin - asynchronous C++ library for Bitcoin
  • cbitcoin - A low-level bitcoin library written in standard C
  • Bitcoinj - a Java implementation of the Bitcoin protocol
  • gocoin - Bitcoin client library for Go / golang
  • pynode - Bitcoin P2P router, in python
  • bitcointools - Python-based tools for the Bitcoin cryptocurrency system,By Gavin Andresen
  • bitcoin-abe - Abe: block browser for Bitcoin and similar currencies

数据检索


参考

  1. Bitcoin Foundation: https://bitcoinfoundation.org/
  2. Why Apple Is Afraid Of Bitcoin: http://www.forbes.com/sites/jonmatonis/2012/06/13/why-apple-is-afraid-of-bitcoin/
  3. List of Bitcoin-related software: https://en.bitcoin.it/wiki/Software
  4. Bitcoin Clients: https://en.bitcoin.it/wiki/Clients

比特币是什么?

简介

比特币是一个自由软件项目,是一种基于密码学的电子货币,同时也是一种协议。整个系统采用去中心化思想构建,基于P2P模式运行。
其特点有:

  • 去中心化发行与运作,无央行存在
  • 货币不可伪造,无法多重支付,交易不可逆转
  • 紧缩货币,总量固定,但可以无限分割
  • 全球无障碍流通,快速支付且成本极低
  • 账户匿名,且任何人均无法冻结,无法收税
  • 天然审计

比特币由Satoshi Nakamoto创造(现已匿名消失),2008年11月1日,Satoshi在一个密码学的邮件列表中贴出了一篇论文:”Bitcoin P2P e-cash paper“:

qq20130720-1

创世纪块

2009年1月3日,第一个数据块(Genesis‎ Block)的生成宣告比特币系统诞生。Satoshi在Genesis Block数据区中写入如下信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ hexdump -n 255 -C blk00000.dat
00000000 f9 be b4 d9 1d 01 00 00 01 00 00 00 00 00 00 00 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 3b a3 ed fd |............;...|
00000030 7a 7b 12 b2 7a c7 2c 3e 67 76 8f 61 7f c8 1b c3 |z{..z.,>gv.a....|
00000040 88 8a 51 32 3a 9f b8 aa 4b 1e 5e 4a 29 ab 5f 49 |..Q2:...K.^J)._I|
00000050 ff ff 00 1d 1d ac 2b 7c 01 01 00 00 00 01 00 00 |......+|........|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff |................|
00000080 ff ff 4d 04 ff ff 00 1d 01 04 45 54 68 65 20 54 |..M.......EThe T|
00000090 69 6d 65 73 20 30 33 2f 4a 61 6e 2f 32 30 30 39 |imes 03/Jan/2009|
000000a0 20 43 68 61 6e 63 65 6c 6c 6f 72 20 6f 6e 20 62 | Chancellor on b|
000000b0 72 69 6e 6b 20 6f 66 20 73 65 63 6f 6e 64 20 62 |rink of second b|
000000c0 61 69 6c 6f 75 74 20 66 6f 72 20 62 61 6e 6b 73 |ailout for banks|
000000d0 ff ff ff ff 01 00 f2 05 2a 01 00 00 00 43 41 04 |........*....CA.|
000000e0 67 8a fd b0 fe 55 48 27 19 67 f1 a6 71 30 b7 10 |g....UH'.g..q0..|
000000f0 5c d6 a8 28 e0 39 09 a6 79 62 e0 ea 1f 61 de |\..(.9..yb...a.|

还原出文本为:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

该段文字为英国《泰晤士报》2009年01月03日头版新闻标题:

twcach2

这段文字暗示了比特币的诞生时间,并从中可以看出Satoshi对现有货币系统的强烈不满。

经过数年发展,已有大量计算机加入,形成了庞大的P2P网络,并构成巨大的算力屏障。除非小行星撞击地球,否则没有任何个人与组织能够关闭该系统。截止2013年7月19日,目前全网节点数约16万个:

qq20130720-2

一切才刚刚开始

由于比特币的诸多颠覆特性,被人称为“史上最危险的自由软件项目”,现在经历数次大波折的比特币不仅没有衰落反而越来越繁荣,无数人正投身于这场伟大的社会实践中去,而比特币将开创出人类新的货币史。


参考

  1. An open source P2P digital currency: http://bitcoin.org/
  2. Bitcoin: A Peer-to-Peer Electronic Cash System: http://bitcoin.org/bitcoin.pdf
  3. Satoshi Nakamoto: https://en.bitcoin.it/wiki/Satoshi_Nakamoto
  4. Bitcoin P2P Currency: The Most Dangerous Project We’ve Ever Seen:http://launch3.squarespace.com/blog/l019-bitcoin-p2p-currency-the-most-dangerous-project-weve-ev.html
  5. Genesis Blcok: https://en.bitcoin.it/wiki/Genesis_block
  6. Chancellor Alistair Darling on brink of second bailout for banks: http://www.thetimes.co.uk/tto/business/industries/banking/article2160028.ece
  7. Bitnods: http://getaddr.bitnodes.io/