精通比特币(一):比特币介绍

 

什么是比特币

比特币是一系列概念和技术,它们构成了数字货币生态系统的基础。比特币作为一种货币单位,它为网络中的参与者存储和传输价值。比特币用户主要通过比特币协议在互联网上相互通信,但也可以使用其他传输网络。比特币协议栈可作为开源软件使用,可以在各种计算设备上运行,包括笔记本电脑和智能手机,这使得技术易于访问。

用户可以通过网络传输比特币,以完成任何传统货币可以完成的事情,包括买卖货物,向人员或组织汇款或延长信贷。比特币可以在专门的货币兑换处购买,出售和兑换其他货币。从某种意义上说,比特币是互联网的完美形式,因为它快速,安全,无边界。

与传统货币不同,比特币完全是虚拟的。本身没有实体硬币甚至数字硬币。在从发件人转移到收件人的交易中隐含硬币。比特币的用户拥有**,允许他们证明比特币网络中比特币的所有权。使用这些**,他们可以签署交易以解锁价值并将其转移给新的所有者。**通常存储在每个用户的计算机或智能手机上的数字钱包中。拥有可以签署交易的**是使用比特币的唯一先决条件,这将控制权完全掌握在每个用户手中。

比特币是一个分布式的点对点系统。因此,没有“*”服务器或控制点。比特币是通过“挖矿”的过程创建的,其涉及在处理比特币交易时竞争寻找数学问题的解决方案。比特币网络中的任何参与者(即,使用运行完整比特币协议栈的设备的任何人)可以作为挖矿者,使用他们的计算机的处理能力来验证和记录交易。平均每10分钟,比特币矿工就能够验证过去10分钟的交易,并获得全新的比特币奖励。从本质上讲,比特币采矿分散了*银行的货币发行和结算功能,取代了对任何*银行的需求。

比特币协议包括内置算法,用于调节整个网络的挖掘功能。矿工挖矿的难度是动态调整的,因此,尽管在任何时刻都有很多人在竞争,在平均每10分钟内,总会有人成功挖出比特币。该协议还规定创建新比特币的速率每4年减半,并将创建的比特币总数限制为2100万比特币。这样做的结果是,流通比特币的数量紧随一条易于预测的曲线,到2140年接近2100万。由于比特币的发行率下降,从长远来看,比特币货币是通货紧缩的。此外,比特币不能通过货币超发来膨胀。

在幕后,比特币也是一种协议的名称,一种点对点网络和分布式计算的创新。比特币货币实际上只是这种创新的一个具体应用。比特币代表了数十年密码学和分布式系统研究的高潮,包括四个关键创新,这些创新以独特而强大的组合形式汇集在一起。比特币包括:

  • 分散的点对点网络(比特币协议)
  • 公共交易分类账(区块链)
  • 一套独立交易验证和货币发行规则(共识规则)
  • 在有效区块链上达成全球分散共识的机制(工作量证明)

作为开发人员,我认为比特币类似于货币互联网,这是一个通过分布式计算传播价值和保护数字资产所有权的网络。 在本章中,我们将首先解释一些主要概念和术语,获取必要的软件,并将比特币用于简单的事务。在接下来的章节中,我们将开始介绍比特币的技术层面的内容,以及比特币网络和协议的内部工作原理。

比特币之前的数字货币

数字货币的出现与密码学的发展密切相关。任何接受数字货币的人都有三个基本问题:

  1. 我可以相信这些钱是真实的而不是伪造的吗?
  2. 我可以相信数字货币只能花一次(称为“双重花费”问题)吗?
  3. 我可以肯定没有其他人可以声称这笔钱属于他们而不是我吗?

纸币发行人通过使用日益复杂的纸张和印刷技术,不断与假冒问题作斗争。实物资金很容易解决双重支出问题,因为同一纸币不能同时出现在两个地方。当然,传统货币也经常以数字方式存储和传输。在这些情况下,假冒和双重支出问题通过*机关清算所有电子交易就可以解决,这些*机构对流通货币具有宏观的监控。对于无法利用防伪技术的数字货币,加密技术为可信用户声称价值的合法性提供了基础。具体而言,加密数字签名使用户针对数字资产或交易进行签名,从而证明该资产的所有权。通过适当的架构,数字签名也可用于解决双重花费问题。

当密码学在20世纪80年代后期开始更广泛地使用和被认可时,许多研究人员开始尝试使用密码学技术来构建数字货币。这些早期的数字货币,通常由国家货币或黄金等贵金属背书。

虽然这些早期的数字货币是可以工作的,但它们是集中的,因此很容易受到*和黑客的攻击。早期的数字货币使用*清算所定期结算所有交易,就像传统的银行系统一样。不幸的是,在大多数情况下,这些新生的数字货币成为*担忧的目标,并最终被提起诉讼。当母公司突然清算时,一些人在壮观的崩溃中失败了。为了防止无论是合法*还是犯罪分子的干扰,需要一种分布式的数字货币以避免单点攻击。比特币就是这样一个系统,设计分散,没有任何可能受到攻击或破坏的*权威或控制点。

比特币历史

比特币是在2008年发明的,中本聪(Satoshi Nakamoto)发表了题为“比特币:点对点电子现金系统”的论文。中本聪结合了几个先前的发明,如b-money和HashCash,创建了一个完全分散的电子现金系统,不依赖于*机构进行货币发行结算和交易验证。其中关键的创新是使用分布式计算系统(称为“工作证明”算法)每10分钟进行一次全球“选举”,这个选举让全球的节点对当前的交易状况达成一致。这优雅地解决了双重花费的问题。之前,双重支出问题是数字货币的弱点,它需要通过*清算所清算所有交易来解决。

比特币网络始于2009年,基于中本聪发布的论文实现,并经过许多其他程序员的修订。工作证明算法(挖矿)为比特币提供安全性和弹性,挖矿消耗的功率以指数方式在增加,现在超过了世界*超级计算机的综合处理能力。比特币的总市值一度超过1350亿美元,这具体取决于比特币兑美元的汇率。到目前为止,网络处理的最大的交易是4亿美元,执行这笔交易只需要1美元的费用。

中本聪于2011年4月退出一线,将蓬勃发展的比特币交给了一群志愿者。创造比特币的人的身份仍然未知。然而,中本聪和其他任何人都没有对比特币系统进行单独控制,比特币系统基于完全透明的数学原理,开源代码和参与者之间的共识而运作。比特币这项发明本身具有开创性,已经在分布式计算,经济学和计量经济学领域产生了新的科学。

分布式计算问题的解决方案

中本聪的发明也是解决分布式计算问题的实用且新颖的解决方案,它被称为“拜占庭将军问题”。简而言之就是在不可靠和可能受损的网络上交换信息,并尝试就行动方案或系统状态达成一致的问题。 中本聪的解决方案是在没有*信任权威下,使用工作证明的概念来达成共识,这代表了分布式计算的突破,具有广泛的适用性,并且超越了货币。它可用于在分布式网络上达成共识,以证明选举,**,资产登记,数字公证等的公平性。

比特币用户,以及他们的故事

比特币是古代金钱技术的创新。金钱的作用只是促进人与人之间的价值交换。因此,为了充分理解比特币及其用途,我们将从使用它的人的角度来理解它。这里列出的每个人及其故事都说明了一个或多个特定场景。我们将在整本书中看到它们:

1、 北美低价值零售

爱丽丝住在北加州湾区。她从她的懂技术的朋友那里听说过比特币,并想开始使用它。我们将跟踪她的故事,因为她了解比特币,获得了一些比特币,并且在Palo Alto的Bob's Cafe通过比特币买了一杯咖啡。这个故事将从零售消费者的角度向我们介绍软件,交易所和基本交易。

2、北美高价值零售

卡罗尔是旧金山的艺术画廊老板。她出售昂贵画作来获取比特币。这个故事将介绍针对高价值物品零售商的“51%”共识攻击的风险。

3、离岸合同服务

帕洛阿尔托的咖啡馆老板鲍勃正在建立一个新的网站。他与一位住在印度班加罗尔的印度网络开发者Gopesh签约。 Gopesh同意以比特币支付。这个故事将探讨比特币在外包,合同服务和国际电汇中的使用。

4、网店

加布里埃尔是里约热内卢一位富有进取心的年轻少年,经营一家小型网店,销售比特币品牌的T恤,咖啡杯和贴纸。加布里埃尔太年轻,没有银行账户,但他的父母正在鼓励他的企业家精神。

5、慈善捐款

Eugenia是菲律宾儿童慈善机构的主任。最近,她发现了比特币并希望利用它来接触一大批外国和国内捐赠者,为她的慈善机构筹款。她还在研究如何使用比特币快速将资金分配到需要的地方。这个故事将展示比特币在各种货币和边界的全球融资中的使用,以及使用区块链来提高慈善组织的透明度。

6、进出口

*是迪拜的电子产品进口商。他从美国和中国进口电子产品到阿联酋,他正试图用比特币以加快进口付款的进程。这个故事将展示比特币如何用于与实物相关的大型企业对企业国际支付。

7、挖矿

Jing是上海的一名计算机工程专业的学生。他建立了一个“采矿”钻机,利用他的工程技术来挖掘比特币,以补充他的收入。这个故事将探讨比特币的“工业”基础:用于保护比特币网络和发行新货币的专用设备。

开始

“比特币钱包”是比特币系统最常用的用户界面,就像网络浏览器是HTTP协议最常用的用户界面一样。有许多比特币钱包的实现,就像有许多品牌的网络浏览器(例如,Chrome,Safari,Firefox和Internet Explorer)一样。就像我们都有我们最喜欢的浏览器(Mozilla Firefox,Yay!)也有我们最讨厌的浏览器(Internet Explorer,Yuck!)一样,比特币钱包在质量,性能,安全性,隐私性和可靠性方面各不相同。还有一些比特币协议的参考实现,其包括称为“Satoshi Client”或“Bitcoin Core”的钱包,其源自中本聪编写的原始实现。

选择一个比特币钱包

比特币钱包是比特币生态系统中最活跃的应用之一。竞争非常激烈,虽然现在可能有一个新的钱包正在开发,但去年的几个钱包已经不再维护。许多钱包专注于特定平台或特定用途,有些更适合初学者,而有些则适合高级用户。选择钱包是非常主观的,取决于使用和用户的专业知识。因此,不可能推荐特定的品牌或钱包。但是,我们可以根据平台和功能对比特币钱包进行分类,并对存在的所有不同类型的钱包提供一些清晰度。更好的是,在比特币钱包之间移动**相对容易,因此值得尝试几种不同的钱包,直到找到符合您需求的钱包。 根据平台,比特币钱包可分为以下几类:

桌面钱包

桌面钱包是第一种作为参考实现创建的比特币钱包,许多用户因为它的功能、*度以及可控性而使用桌面钱包。然而,在Windows和Mac OS等通用操作系统上运行桌面钱包具有一定的安全缺点,因为这些平台通常不安全且配置不当。

手机钱包

手机钱包是最常见的比特币钱包。这些钱包在Apple iOS和Android等智能手机操作系统上运行,通常是新用户的绝佳选择。许多手机钱包设计简单易用,但也有为高级用户提供功能齐全的移动钱包。

Web钱包

通过Web浏览器访问Web钱包,并将用户的钱包存储在第三方拥有的服务器上。这类似于webmail,因为它完全依赖于第三方服务器。其中一些服务使用在用户浏览器中运行的客户端代码进行操作,该代码将比特币**控制在用户手中。然而,大多数人通过控制用户的比特币**以换取易用性来实现折衷。不建议在第三方系统上存储大量比特币。

硬件钱包

硬件钱包是在专用硬件上运行的安全的比特币钱包设备。它们通过USB与桌面Web浏览器或通过移动设备上的近场通信(NFC)进行操作。通过处理专用硬件上的所有比特币相关操作,这些钱包被认为非常安全,适合存储大量比特币。

纸钱包

控制比特币的**也可以打印出来以便长期存储,这些被称为纸钱包。纸钱包提供了一种低技术但高度安全的长期存储比特币的方法。离线存储通常也被称为冷存储。

对比特币钱包进行分类的另一种方法是他们的自主程度以及他们如何与比特币网络互动:

全节点客户端

全节点客户端存储了比特币全部交易历史(每个用户的每笔交易),它管理用户的钱包,并且可以直接在比特币网络上启动交易。全节点客户端处理协议的所有方面,可以独立验证整个区块链和任何事务。全节点客户端消耗大量计算机资源(例如,超过125 GB的磁盘,2 GB的RAM),但提供完全自治和独立的事务验证。

轻量级客户端

轻量级客户端(也称为简单支付验证(SPV)客户端)连接到比特币完整节点(前面提到过)以访问比特币交易信息,但在本地存储用户钱包并独立创建,验证和传输交易。轻量级客户端直接与比特币网络交互,无需中介。

第三方API客户端

第三方API客户端是通过第三方应用程序编程接口(API)系统与比特币交互的客户端,而不是直接连接到比特币网络。钱包可以由用户或第三方服务器存储,但所有交易都通过第三方。

结合这些分类,许多比特币钱包分为几个组,其中最常见的三个是桌面全客户端钱包,移动轻量级钱包和网络第三方钱包。不同类别之间的界限通常是模糊的,因为许多钱包在多个平台上运行并且可以以不同方式与网络交互。

出于本书的目的,我们将演示如何使用各种可下载的比特币客户端,从参考实现(比特币核心)到移动和网络钱包。一些示例将需要使用比特币内核,比特币内核除了作为完整客户端之外,还向钱包,网络和交易服务公开API。如果您计划探索比特币系统的编程接口,您将需要运行比特币内核。

快速开始

Alice不是技术用户,她也是最近才听到她朋友乔的比特币。在聚会上,乔再一次热情地向他周围的人解释比特币并提供示范。Alice问她如何开始使用比特币。乔说,手机钱包最适合新用户,他推荐了一些他最喜欢的钱包。爱丽丝在Android上下载了“Mycelium”并将其安装在手机上。

当Alice第一次运行Mycelium时,与许多比特币钱包一样,应用程序会自动为她创建一个新钱包。爱丽丝在她的屏幕上看到钱包,如图所示The Mycelium Mobile Wallet (注意: 不要将比特币发送到此样本地址,它将永远丢失)。

精通比特币(一):比特币介绍

 

这个屏幕最重要的部分是Alice的比特币地址。在屏幕上,它显示为一长串字母和数字:1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK。钱包的比特币地址旁边是二维码,这是一种条形码,它可以通过智能手机扫描读取信息。 二维码是具有黑色和白色点图案的正方形。 Alice可以通过点击二维码或接收按钮将比特币地址或二维码复制到她的剪贴板上。在大多数钱包中,点击二维码也会放大它,以便智能手机相机更容易扫描。

注意 比特币地址以1或3开头。与电子邮件地址一样,它们可以与其他比特币用户共享,他们可以使用地址将比特币直接发送到您的钱包。从安全角度来看,比特币地址没有任何敏感性。它可以在任何地方发布,而不会冒帐户安全性的风险。与电子邮件地址不同,您可以根据需要随时创建新地址,所有这些都会将资金转入您的钱包。事实上,许多现代钱包会自动为每笔交易创建一个新地址,以最大限度地提高隐私。钱包只是一组地址和解锁资金的钥匙。

Alice现在准备好接受资金了。她的钱包应用程序随机生成了一个私钥(在后文中会更详细地描述)及其相应的比特币地址。此时,比特币网络不知道比特币地址,或者比特币系统的任何部分“注册”了比特币地址。她的比特币地址只是一个数字,对应于她的**。这串地址是由她的钱包独立生成的,没有参考或注册任何服务。实际上,在大多数钱包中,比特币地址与任何外部可识别信息(包括用户身份)之间没有关联。直到这个地址被引用作为比特币链上发布的交易中的价值接收者的那一刻,比特币地址只是在比特币中有效的大量可能地址的一部分。只有与事务关联后,它才会成为网络中已知地址的一部分。

Alice现在准备开始使用她的新比特币钱包了.

获取第一个比特币

新用户的第一个也是最困难的任务是获得一些比特币。与其他外币不同,您还不能在银行或外汇信息亭购买比特币。

比特币交易是不可逆转的。大多数电子支付网络,如信用卡,借记卡,PayPal和银行账户转账都是可逆的。对于销售比特币的人来说,这种差异会带来很高的风险,即买家在收到比特币后会转回电子支付,实际上是在欺骗卖家。为了降低这种风险,接受传统电子支付以换取比特币的公司通常要求买家进行身份验证和信用检查,这可能需要几天或几周。作为新用户,这意味着您无法使用信用卡立即购买比特币。但是,有了一点耐心和创造性思维,你就不需要了。

以下是新用户获取比特币的一些方法:

  • 找一个有比特币的朋友,直接从他或她那里买一些。许多比特币用户都是这样开始的。这种方法最简单。与比特币持有者见面的一种方法是参加当地的比特币聚会Meetup.com.
  • 使用分类服务,如localbitcoins.com找到您所在地区的卖家在现场交易中以现金购买比特币。
  • 通过销售比特币产品或服务赚取比特币。如果您是程序员,请出售您的编程技巧。如果你是理发师,通过剪头发来获取比特币。
  • 在您所在的城市使用比特币ATM。比特币ATM是一台接受现金并将比特币发送到智能手机比特币钱包的机器。使用在线地图找到离您最近的比特币ATMCoin ATM Radar.
  • 使用与您的银行帐户关联的比特币货币兑换。现在,许多国家都有货币兑换,为买卖双方提供市场,用当地货币兑换比特币。汇率上市服务,如BitcoinAverage,经常显示每种货币的比特币交易清单。

注意 比特币相对于其他支付系统的优点之一是,如果使用得当,它可以为用户提供更多的隐私。获取,持有和消费比特币并不要求您向第三方透露敏感和个人身份信息。但是,在比特币涉及传统系统(如货币兑换)的情况下,国家和国际法规通常适用。为了用您的本国货币兑换比特币,您经常需要提供身份证明和银行信息。用户应该知道,一旦比特币地址附加到身份,所有相关的比特币交易也很容易识别和跟踪。这是许多用户选择维持与钱包无关的专用交易账户的原因之一。

Alice是通过朋友介绍认识比特币的,所以她有一个简单的方法来获得她的第一个比特币。接下来,我们将看看她如何从她的朋友Joe那里购买比特币,以及Joe如何将比特币发送到她的钱包。

找到比特币当前的价格

在爱丽丝可以从乔购买比特币之前,他们必须知道比特币和美元之间的汇率。这为比特币新手提出了一个共同的问题:“谁设定比特币价格?”简短的回答是价格是由市场决定的。

与大多数其他货币一样,比特币有一个浮动汇率。这意味着比特币相对于任何其他货币的价值会根据交易的各个市场的供求情况而波动。例如,基于最近的比特币和美元交易,在每个市场中计算美元比特币的“价格”。因此,价格往往每秒钟几次波动。定价服务将汇总来自多个市场的价格并计算代表货币对的广义市场汇率(例如,BTC / USD)的成交量加权平均值。

有数百个应用程序和网站可以提供当前的市场价格。以下是一些最受欢迎的: Bitcoin Average一个站点,提供每种货币的体积加权平均值的简单视图。 CoinCap一种服务,列出包括比特币在内的数百种加密货币的市值和汇率。 Chicago Mercantile Exchange Bitcoin Reference Rate可作为机构和合同参考的参考利率,作为CME投资数据馈送的一部分提供。

除了这些不同的网站和应用程序,大多数比特币钱包将自动转换比特币和其他货币之间的金额。在将比特币发送给Alice之前,Joe将使用他的钱包自动转换价格。

发送和接收比特币

爱丽丝决定以10美元兑换比特币,以免在这项新技术上冒太多钱。她给Joe 10美元现金,打开她的Mycelium钱包应用程序,然后选择Receive。这将显示Alice的第一个比特币地址的二维码。 然后乔在他的智能手机钱包上选择发送,并显示包含两个输入的屏幕:

  • 目标比特币地址
  • 以比特币(BTC)或其当地货币(美元)发送的金额

在比特币地址的输入字段中,有一个看起来像二维码的小图标。这允许Joe用他的智能手机相机扫描条形码,这样他就不必输入Alice的比特币地址,因为地址很长很难打字。 Joe点击二维码图标并**智能手机相机,扫描Alice智能手机上显示的二维码。

Joe现在将Alice的比特币地址设置为收件人。 Joe输入的金额为10美元,他的钱包通过访问在线服务的最新汇率来转换它。当时的汇率是每比特币100美元,所以10美元的价值是0.10比特币(BTC),或100毫比特币(mBTC),如Joe的钱包截图所示(见Airbitz mobile bitcoin wallet send screen).

精通比特币(一):比特币介绍

Joe然后仔细检查,以确保他输入了正确的金额,因为他即将汇款,错误是不可逆转的。在仔细检查地址和金额后,他按发送以传输交易。 Joe的移动比特币钱包构建了一个交易,该交易将0.10 BTC分配给Alice提供的地址,从Joe的钱包中获取资金并使用Joe的私钥签署交易。这告诉比特币网络Joe已授权将值传输到Alice的新地址。当事务通过对等协议传输时,它会快速传播到比特币网络。在不到一秒的时间内,网络中大多数连接良好的节点都会收到交易并首次看到Alice的地址。

与此同时,Alice的钱包不断“收听”比特币网络上发布的交易,寻找与她钱包中的地址相匹配的任何交易。在Joe的钱包发送交易后几秒钟,Alice的钱包将表明它正在接收0.10 BTC。

确认交易

起初,Alice的地址会将Joe的交易显示为“未经证实”。这意味着事务已传播到网络但尚未记录在比特币区块链中。要确认,交易必须包含在一个区块中并添加到区块链中,这平均每10分钟发生一次。在传统的财务术语中,这被称为clearing。有关比特币交易的传播,验证和清算(确认)的更多详细信息,请参阅[mining].

Alice现在是一个可以花费的0.10 BTC的人了。在下一章中,我们将介绍她首次购买比特币,并更详细地研究基础交易和传播技术。

翻译自:https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch01.asciidoc

更多文章请前往:http://www.geekmuseo.com