精通比特币-01-介绍
1.1 什么是比特币?
比特币是由一系列概念和技术作为基础构建的数字货币生态系统。
狭义的“比特币”代表系统中的货币单位,用于储存和传输价值。
不同于传统货币,比特币是完全虚拟的。它不但没有实体,本质上也没有一种虚拟物品代表比特币。
比特币隐含在收发币的转账记录中。
用户只要有证明其控制权的密钥,用密钥解锁,就可以发送比特币。
这些密钥通常存储在计算机的数字钱包里。
拥有密钥是使用比特币的唯一条件,这让控制权完全掌握在每个人手中。
比特币是一个分布式的点对点网络系统。
比特币系统包含调节挖矿难度的协议。
比特币是一种协议、一种网络、一种分布式计算创新的代名词。
在本章中,我们从一些主要概念和术语入手,告诉你
如何获取软件并使用比特币进行简单的交易。
接下来的章节,我们会逐步讲解
比特币背后的技术细节,分析比特币网络和比特币协议的内部运行机制。
比特币由这些构成:
▷ 一个去中心化的点对点网络(比特币协议)
▷ 一个公共的交易账簿(区块链)
▷ 一个去中心化的数学的和确定性的货币发行(分布式挖矿)
▷ 一个去中心化的交易验证系统(交易脚本)
1.2 比特币发展史
关键的创新是利用分布式计算系统(称为“工作量证明”算法)每隔10分钟进行一次的全网“选拔”,能够使去中心化的网络同步交易记录。
这个能优雅的解决双重支付问题,即一个单一的货币单位可以使用两次。此前,双重支付问题是数字货币的一个弱点,并通过一个中央结算机构清除所有交易来处理。
####一个分布式计算问题的解决方案
中本聪的解决方案是使用工作量证明的概念在没有中央信任机构下达成共识,这代表了分布式计算的科学突破,并已经超越了货币广泛的适用性。
它可以用来达成去中心化的网络共识来公正选举、彩票、资产登记,以及数字化公证等等。
1.3 比特币的应用、用户和他们的故事
######北美低价零售
######北美高价零售
######离岸合同服务
######慈善捐赠
######进口/出口
######比特币挖矿
1.4 入门
比特币客户端的三种主要形式是:
######完整客户端
一个完整客户端,或称“全节点”,是存储所有比特币交易的整个交易历史(由每一个用户完成的每一笔交易,曾经所有的每一笔)的客户端,管理用户的钱包,并可以在比特币网络上直接开始交易。
######轻量级客户端
一个轻量级客户端存储用户的钱包,但需要依赖第三方服务器才能进行比特币交易,才能接入比特币网络。轻量级客户端不保存所有交易的完整副本,因此必须信赖第三方的服务器来获取交易确认。
######在线客户端
在线客户端通过网页浏览器在第三方服务器上访问和储存该用户的钱包。
######移动客户端
智能手机的移动客户端,例如基于Android系统,既可以作完整客户端运行,也可作为轻量级客户端或在线客户端。
一些移动客户端是与在线客户端或桌面客户端同步的,提供跨多个设备但有一个共同的资金源的多平台钱包。
1.4.1 快速入门
目前Multibit电脑客户端有WindowsWindows, Mac OS 和 Linux版本。
比特币钱包必须由一个密码或密令来保护。有许多试图破解弱密码的潜在威胁,所以要注意谨慎设置一个不会被轻易破解的密码。
密码应使用大小写字母、数字和符号的组合,避免出现生日、球队名字等个人信息。避免使用任何能在字典里轻易找到的词语,不管这个词语是什么语言的。
如果条件允许,可以利用密码生成器生成一个完全随机的12位以上的密码。请记住:比特币是一种随时能被转移到世界其他任何地方的货币。如果不加以妥善保管,会很容易被偷走。
Alice下载并安装了Multibit客户端后,打开程序就会出现一个欢迎界面,如图1-1所示:
Multibit客户端会自动为Alice生成一个钱包和一个全新的比特币地址,点击图1-2所示的请求标签即可看到。
界面中最重要的是Alice的比特币地址。
地址旁是一个二维码。
比特币地址以数字1或3开头。
类似于电子邮件地址,这些地址可以分享给其他的比特币的用户,这样他们就可以直接通过这些地址发送比特币到你的钱包里。
不同于电邮地址的是,你可以任意地创建新的比特币地址,这些地址都能成功地将资金转到你的钱包。
钱包是多个地址和解锁资金密钥的简单集合。
每笔交易你都可以使用不同的地址,这有利于提高隐私的安全性。用户可创建地址的数量几乎不受限制。
1.4.2 获取你的第一枚比特币
新用户有以下四种方法来获取比特币:
▷ 找个有比特币的朋友,直接向他购买一些。很多比特币用户都是这样开始的。
▷ 利用localbitcoins.com这样的分类服务网站来寻找你所在地区的卖家,使用现金进行面对面的线下交易。
▷ 出售某种产品或服务来换取比特币。如果你是个程序员,可以出售你的编程技能。
▷ 使用你所在地区的比特币ATM机。利用CoinDesk里的在线地图来找到你附近的比特币取款机。
1.4.3 发送和接受比特币
Alice已经创建好她的比特币钱包,准备接收资金了。
她的钱包程序随机生成了一个私钥(关于私钥的详细介绍见“4.1.3 私钥“)和对应的比特币地址。
这时,她的比特币地址还未在全网公布,也未在在任何比特币系统中“登记”。她的比特币地址只是一串数字,对应一个她可以掌控的资金私钥。在该地址和账户之间还没有任何交易产生,也没有任何关联。直到这个地址接收到在比特币账簿(区块链)中公布过的一笔交易时,才会成为众多可能“有效”的比特币地址之一。一旦该地址接受了一笔交易,就会变成全网所知的地址之一,Alice就可以在公开账簿中查询余额了。
Alice只想兑换10美元的比特币,
接下来Joe需要弄清楚汇率,以便于发送给Alice相应数额的比特币。
Joe查到一个市场价后,打开自己的手机钱包应用,选择“发送”比特币。
图1-4 Blockchain 手机钱包的比特币发送界面
例如,如果是在苹果手机上使用Blockchain手机钱包,他会看见屏幕上要求输入:
▷ 对方的收款地址
▷ 需要发送的比特币数量
Joe可以用他的智能手机摄像头扫描条形码,
接着Joe输入了交易的比特币金额,0.1比特币。
这就公告了比特币全网,Joe已经授权允许从他的一个地址转账比特币到Alice的新地址。由于交易是通过P2P网络协议传输,它会迅速在整个比特币网络传播。
不到一秒钟,网络中大多数连接良好的节点都会收到该交易信息,并首次公布Alice的地址。
比特币账簿—一个不断膨胀的文件记录,记载了每一笔曾发生过的比特币交易—是公开的,意味着她可以查看所有曾经使用该地址的记录,可以查看是否有人朝这个账户发送了比特币。
她只要在blockchain.info网站的搜索框中,输入她自己的地址,就可以轻而易举的知晓了。网页会显示出该地址所有的交易记录。
确认
起初,Alice的地址会显示Joe发出这笔的交易为“未确认”,这意味着这笔交易已经被广播到网络,但是尚未列入比特币交易记录账簿,即区块链中。
总的来说,交易必须由一个矿工“开采”,交易是包括在区块中的。当新区块创建时,大约十分钟左右,该区域内的交易就会被全网接受为“已确认”,区块中的比特币也都能使用。
交易可以立即被其他人看到,但只有当其被包含在新开采的区块中,才是“被信任的”。
在下一章中,我们将看看她第一次使用比特币支付,并会更细致地了解
交易和广播的相关技术。