无论您是将比特币作为开源软件项目,点对点网络还是分散式虚拟货币,对其众多方面的洞察力都将帮助您做出有关实施它的更加明确的决策。在本文(三部分之一)中,Dirk Merkel概述了比特币,讨论了它作为点对点网络和分散货币的特点。他还探讨了为项目做出贡献的动机或在线交易系统中实施项目的动机,以及这样做的一些缺陷。
自2007年推出以来,比特币已经吸引了许多人的想象力,包括软件开发人员,消费者和经济学家。众多因素促成了该项目的知名度和神秘感,尤其是其创建者使用假名匿名并已公开退出该项目的事实(请参阅参考资料)。作为一个开源软件项目,点对点网络和分散的虚拟货币,比特币适用于一系列私人和商业利益。其社会影响也使其成为公共利益的问题,并在主流媒体上广泛讨论。比特币的维护人员已经有效地使用了对等网络和公钥密码技术来传播比特币的信息并扩大技术。
这篇由三部分组成的文章尝试全面介绍比特币。在第一部分中,我们将探讨创建和使用比特币的一些动机,以及讨论比特币实施的特点。在第2部分中,我们将介绍比特币的一些理论和设计,包括其对货币和支付系统固有问题的优雅解决方案。第3部分将为您将BitCoinJ(比特币的Java实现)的一些实际应用知识付诸实践。
似乎有几个因素激发了比特币的创造者和众多使用和贡献项目的爱好者。因此,让我们从考虑这些动机开始,并将它们反映在比特币整体系统中。
首先,比特币旨在消除第三方(如信用卡公司或PayPal)调解在线交易的需要。这是成本动机,因为电子交易通常涉及费用。对于信用卡,交易费用通常在1.5%至2%的范围内。
通过将资金从一个用户直接转移到另一个用户,比特币消除了对中介的需求。用户喜欢交易成本非常低的事实; 事实上交易费是由付款人自行决定的!支付的任何费用都视为比特币网络确认交易的动机。交易中包含的费用越高,交易将被确认的速度越快,越有可能。截至当前版本的比特币客户端应用程序,最低交易费为0.0005 BTC(BTC是比特币的货币符号)。
没有中间人也意味着退款是不可能的,这可以减轻处理付款的人。有效的比特币转账是不可逆的。因此,用户有责任确保他或她与正在交付购买的物品或服务的信誉良好的商家打交道。
[ 在这个全面的12部分课程中学习从初级概念到高级设计模式的Java!]比特币网络另一个有趣的方面是匿名。比特币在地址之间传输,每个地址都是25到34个字符的随机字符串。交易由发件人和收件人的地址以及比特币交换的数量组成。所有交易都在整个P2P网络中广播。只要无法将用户的身份与地址相关联,用户就会保持匿名。就像没有退款一样,比特币的这一方面给用户带来了预防的负担。
比特币的匿名基础设施的一个影响是它被用来支付非法商品和服务,这已经引起了媒体的兴趣和美国司法部长的注意。比特币的匿名性也不尽人意; 保持它需要警惕,完全匿名不能保证。(请参阅参考资料。)
比特币交易在所谓的区块中捆绑在一起,然后链接在一起以表明自经济开始以来所有交易的顺序。这个不断增长的区块链是比特币设计核心的数据结构之一。比特币客户端下载完整的区块链,从而能够验证新的交易。实际上,确认新的交易意味着构建链中的下一个区块 - 这是计算密集型的设计。第一个发现一个新区块并将其广播到网络的客户将获得大量新铸造的比特币。因此,新货币以受控的速度引入比特币经济体,作为构建新区块的客户的奖励。
随着时间的推移,创造新区块的回报将会减少,而进入经济体的资金流量将会减少。目前奖励是每块50比特币,平均每10分钟创建一次块。奖励将大约每四年减半,这样在接下来的二十年里,Bitoins的总数不会超过2100万。
比特币经济的另一个有趣的特征是它完全消除了中央当局管理货币流动和创造的作用。在美国,政府通过财政部和美联储有各种限制或放松货币供应的手段。在比特币经济中,没有一个实体具有这种权力。一方面,一些人喜欢不受中央权威人士支配的想法。另一方面,比特币经济放弃了该机构的一些好处,例如遏制通货膨胀的机制以及汇率相对于其他货币的波动。这方面的证据是比特币(BTC)兑美元(美元)的汇率。在撰写本文期间,美元与BTC之间的汇率从11美元的高位波动。
比特币货币仍处于起步阶段,许多人认为随着越来越多的商家加入经济体系,汇率会随时间稳定下来,而且比特币的价值与潜在价值的联系更紧密。然而在此之前,比特币经济对投机者和投资者而言是肥沃的土壤。
图1中的动画展示了比特币对电子商务的潜在影响。
图1.比特币对电子商务的影响(点击放大)现在让我们从实际的角度考虑比特币:它是如何工作的?我们需要的第一件事是比特币客户端应用程序。虽然该项目有几个核心开发者,但官方比特币客户端主要是“Satoshi Nakamoto”(化名)的工作。我使用该客户作为概念和参考实现的证明。
官方比特币客户端在其用户界面上极其简约。这可能是一件好事,因为它封装了一些相当复杂的功能 - 特别是从最终用户的角度来看。图2显示了在我的OS X机器上运行的客户端应用程序。
图2.官方比特币客户端的用户界面请注意第1点显示的比特币地址。作为比特币市场的参与者,我可以将此地址提供给其他用户,然后他们可以使用它向我发送比特币。没有一个地址通常与用户的所有交易和比特币持有相关联。实际上,推荐的做法是为每笔交易生成一个新地址。(我的屏幕上的地址只是为了方便而显示,我会定期更改。)
第2点的余额栏显示了我目前持有的比特币,这是我的“钱包”中所有借方和贷方交易的总和。实际交易列在主窗口底部的第3点。顶部的可选标签让我缩小视图参数,以便仅查看收到的,已发送的或所有事务。发送钱币按钮(点4)让我可以通过弹出一个对话框输入金额和收件人地址,将比特币发送到任何地址。
这四项功能涵盖发送比特币所需的一切。地址簿(第5点)可让我存储其他用户的地址以及名称。窗口底部的状态栏(第6点)显示有关比特币网络,经济和我的钱包的一些摘要信息。正如您所看到的,我的客户端与网络上的其他对等端有8个活动连接,最长的块链包含142614个块,并且我的钱包包含用于测试目的的单个事务。
像虚拟密码货币一样有趣,它的相关性最终取决于它的用处。比特币不仅仅是应用密码学,网络和经济学的实验,人们必须能够使用它来购买商品或服务。这导致了许多商家接受比特币,比特币可以购买什么样的商品或服务以及消费者体验与传统电子商务相比的问题。
官方比特币维基维护了一个接受比特币及其各自产品的商家列表。在写这篇文章的时候,可能有几百条清单,从书籍,服装和电子产品等有形商品到广告,法律,软件开发,酒店住宿和运动设备租赁等服务。我确信这个列表并不全面,但很明显,许多列出的服务都代表了一个比较小的比特币网络。该榜单似乎包括大部分使用比特币新颖性推广其商品和服务的小型企业。未来是否有更大的公司加入名单将成为比特币长期成功的一个很好的指标。
为了确定比特币作为市场的功能可用性,我使用比特币进行了实际交易。我的第一个挑战是收购一些比特币基金。作为一种货币,比特币与支付处理器和其他货币竞争,但现在都是进入比特币经济的门户。换句话说,你必须支付现金来购买比特币。Mt Gox是众多货币交易所之一,投资者可以交换比特币等传统货币,例如美元(USD),澳元(AUD)和欧元(EUR)。Mt Gox提供多种方式为交易账户提供资金,但其中没有一种方式对于拥有美元支票账户的人来说非常方便。
我最终在Dwolla开设了一个账户,这是一个以现金为基础的支付网络,可提供比Mt Gox更好的美国支票账户集成。经过Dwolla账户验证流程后,我可以从我的支票账户开始ACH转账至Dwolla。从那里我把钱转到Mt Gox。那时只需提交一个命令,以美元兑换美元的汇率,以使其兑现。Mt Gox提供监测汇率和各种买卖交易量的工具。我能够以大约7:1的汇率兑换14.00 BTC的$ 98.50,减去Mt Gox收取的0.60%的交易费用。
对于我的比特币实验,我决定购买一对Alpaca袜子,这在比特币入门视频中很有名。与前面提到的商家列表进行快速交叉检查后,我将其带到了GrassHillAlpacas.com。选择产品并阅读网站的付款说明后,我通过电子邮件向商家发送了通知,他们表示愿意支付我与比特币的购买费用。(顺便说一句,通过电子邮件与商家联系并不是常态;将比特币作为支付选项集成到购物车中比较常见)。
当我收到商家的比特币地址回复时,我将它输入到我的比特币客户端的发送币对话框中,如图3所示。
图3.比特币客户端:进行支付在我介绍比特币的第一部分中,我已经讨论了它作为在线市场和分散化货币的一些特征。我也走过了它的用户界面和标准的最终用户交互场景。所有这些都是第2部分的基础,在这里我们将比特币的一些基本概念作为软件。在第3部分中,我们开始编写代码以使用比特币时,理论上的理解将为我们提供良好的服务。