首页 > 品牌人物 > 查看内容
  • 分享到

如何存储和使用比特币

2018-08-05 10:38

来源:JungMedia

作者:佚名


本章是关于我们如何在实践中存储和使用比特币


         4.1本地简单存储


我们从最简单的存储比特币的方式开始,就是将它们放在本地设备上。概括来说,要花费比特币你需要知道一些公共信息和一些秘密信息。公共信息是区块链上发生的事情——硬币的身份,价值等等。秘密信息是比特币所有者的秘钥,想必,这是你的。你不必过于担心如何存储公共信息,因为当你需要的时候你总是可以得到它。但是秘密签名密钥是你最好要记录下来的。因此,在实践中,存储你的比特币是关于存储和管理密钥。


在找出如何存储和管理密钥时,需要牢记三个目标。第一个是可用性:当你想要实际花费你的硬币可以使用。第二个是安全性:确保没有人可以花你的硬币。如果有人有权力花费你的硬币,他们可以把你的硬币发给自己,然后就再也没有硬币了。第三个目标是方便,即密钥管理应该比较容易做到。你可以想象,同时实现三者可能是一个挑战。


最简单的密钥管理方法是将它们存储在你自己本地设备上的文件上:你的计算机,你的手机或你携带,拥有或控制的其他类型的小工具。这对于方便来说是很好的:有一个智能手机应用程序,可以在几个按钮的推动下消费硬币,很难被击败。但是这对于可用性和安全性来说并不好-如果你丢失设备,如果设备崩溃,并且你必须去擦拭光盘,或者你的文件被损坏,你的钥匙将丢失,你的硬币也将丢失。同样对于安全性:如果有人窃取或中断你的设备,或者它被恶意软件感染,他们可以复制你的密钥,然后他们可以将所有的硬币发送给自己。


换句话说,将私人密钥存储在本地设备,特别是移动设备上,很像是在你的钱包或腰包中携带钱。有一些零用钱是有用的,但你不想随身携带你的生活储蓄,因为你可能会失去它,或者有人可能会偷走它。那么你通常所做的就是在你的钱包里存储一些信息/一点点钱,并把大部分钱留在别的地方。


钱包



如果您在本地存储您的比特币,您通常会使用钱包软件,这是一种可以跟踪所有硬币的软件,管理钥匙的所有细节,并通过良好的用户界面使事情变得方便。如果您想要将4.25美元的比特币发送到你们当地的咖啡店,那么钱包软件会给你提供一些简单的方法。钱包软件特别有用,因为你通常希望使用一大堆不同的地址,并带有不同的密钥。你可能会记得,创建一个新的公钥/私钥对是很容易的,你可以利用它来改善你的匿名性或隐私性。钱包软件为你提供一个简单的界面,告诉你钱包中有多少钱。当你想使用比特币时,它会处理使用哪一个密钥的细节以及如何生成新的地址等等。



编码钥匙



基座58和QR码(二维码)。要花费或接受比特币,你还需要一种与另一方交换地址的方法——即要发送比特币的地址。地址编码有两种主要方式,可以将它们从接收者传送到花费者:作为文本字符串或二维码。


要将地址编码为文本字符串,我们将该键的位进行转换,并将其从二进制数转换为基座58。然后我们使用一组58个字符将每个数字编码为一个字符;这被称为base58符号。为什么是58?因为这是我们将大写字母,小写字母以及数字作为字符包含在内的数字,但是忽略了可能令人困惑或看起来像另一个字符的数字。例如,大写字母“O”和零都被取出,因为它们看起来太像了。这样就可以在必要的情况下,我们现在讨论的QR码等方法可以避免通信地址的手动方法。通过电话读取编码的地址,或者从打印纸读取并输入密码。理想情况下,通过我们现在讨论的QR码等方法可以避免通信地址的手动方法。

图4 .1:代表实际比特币地址的QR码。 随便送我们一些比特币。


用于编码比特币地址的第二种方法是作为QR码,一种简单的二维条形码。QR码的优点是您可以使用智能手机扫描它,钱包软件可以自动将条形码转换为代表相应比特币地址的一系列位。这在商店中很有用,例如:退房系统可能会显示QR码,你可以通过用手机扫描代码并将硬币发送到该地址来支付费用。它也可用于手机到手机的传输。


虚荣地址。一些个人或商家喜欢有一个从一些有意义的文字开始的地址。例如,赌博网站Satoshi Bones用户将钱发送到位置2-6中包含字符串“骨头”的地址,例如1bonesEeTcABPjLzAb1VkFgySY6Zqu3sX(所有常规地址以字符1开头,表示支付到pubkey-hash)。


我们说地址是哈希函数的输出,它产生随机数据,所以字符串“骨头”是如何进入的?如果Satoshi骨头简单地构成这些地址,则缺乏反转哈希函数的能力,他们将不会知道相对应的私钥,因此实际上不会控制这些地址。相反,他们反复生成私钥,直到他们幸运,找到一个哈希到这种模式的密钥。这样的地址称为虚荣地址,并且有工具来生成它们。



侧边栏



加快虚荣地址的生成。在比特币中,如果我们调用私钥x,则公钥是g的x次方。取幂表示椭圆曲线组中所谓的标量乘法。地址则是,公钥的哈希值。我们不会再这里了解细节,但是乘幂是地址生成中缓慢的步骤。


产生虚荣地址的天真的方式是选择一个伪随机数x,计算,如果该地址不起作用则重复。一个快速的方法是如果第一个x失败,则尝试x+1,并继续增加,而不是每次挑选一个新的x。这是因为=x,我们已经计算g了,所以我们只需要对每个地址进行乘法运算,而不是求幂,这要快得多。事实上,它将虚荣地址的生成加密了两个数量级以上。


这需要多少工作? 由于每个角色有58种可能性,如果您想要找到以特定k-字符串开头的地址,则平均需要生成58的k次方个地址,直到你幸运。所以找到一个以“骨头”开头的地址将需要产生超过6亿个地址! 这可以在现在的普通笔记本电脑上完成。但是每个额外的角色都会变得越来越难。找到一个15个字符的前缀将需要不可行的计算量,并且(不需要在底层哈希函数中找到中断)是不可能的。



               4.2冷热库



正如我们刚刚看到的那样,将Bitcoin存储在电脑上就像在你的钱包或腰包里携带钱。这被称为“热存储”。 这很方便,但也有一些风险。 另一方面,“冷库”是脱机的。它被锁在某处。它没有连接到互联网,它是档案。所以它确保了安全性,更安全,当然不是那么地方便。这类似于你你身上携带一些零钱,但把你的生活储蓄放在更安全的地方。


想要有独立的冷热存储,显然你需要为每个密钥分开单独的密钥——否则,如果热存储被破坏,冷藏库中的硬币将是易受攻击的。你会想要在热端和冷端之间来回移动硬币,所以每边都需要知道对方的地址或公钥。


冷库不在线,因此热存储和冷藏将无法通过任何网络彼此连接。但好消息是,冷库不必在线接收硬币——由于热存储器知道冷藏地址,所以可以随时将硬币发送到冷库。在任何时候,如果你的热钱包中钱的金额变得很多时,你可以将其中的一大块转移到冷库中,而不会通过连接到网络将你的冷藏置于风险之中。下一次冷藏连接时,它将能够从区块链接收到关于这些转移的信息,然后冷库将能够用这些硬币来做所需要的。


但是在管理冷藏地址时有一点问题。一方面,如前所述,为了隐私和其他原因,我们希望能够在具有不同密钥的单独地址上接收每个硬币。所以每当我们将硬币从热端转移到冷的一面时,我们想为此而使用一个新鲜的冷地址。但是由于冷端不在线,我们必须有一些方法在热的一端来找出这些地址。


生硬的解决方案是为冷方一次生成一大堆地址,并将它们发送给热端,以便逐一使用它们。缺点是我们必须定期重新连接冷端,以便传输更多的地址。


分层钱包



一个更有效的解决方案是使用分层钱包。它允许冷端使用基本上无限数量的地址,热端可以了解这些地址,但双方只进行简短的一次性通信。但这需要一点点加密的诡计。


回顾以前,以前在第1章讨论了关键代码和数字签名时,我们研究了一个名为generateKeys的函数,它生成一个公钥(作为一个地址)和一个秘钥。在分层钱包中,关键代码的工作方式不同。我们不是生成单个地址,而是生成所谓的地址生成信息,我们不是生成私钥,而是生成所谓的私钥生成信息。给定的地址生成的信息,我们可以生成一个序列的地址:我们应用一个地址生成函数将输入的地址生成信息和任何整数i作为输入生成序列中的第i个地址,同样的,我们可以使用私钥生成信息生成一系列的私钥。


加密的魔法使这有用的是,对于每个i,第i地址和与第i密钥“匹配”——也就是说,第i密钥控制的,并可用于消费,比特币来自这里另一个重要的加密属性是安全性:地址生成信息不会泄露任何有关私钥的信息。第i地址就好像这一对是由老式的方式生成一样。所以就好像我们有一系列常规的密钥对。

这里另一个重要的加密属性是安全性:地址生成信息不会泄露任何有关私钥的信息。这意味着向任何人发送地址生成信息是安全的,所以任何人都可以启用生成第i个密钥。


现在,并非所有存在的数字签名方案都可以被修改,以支持层次密钥生成。有的可以有的不行,但好消息是,通过使用比特币,ECDSA数字签名,支持分层密钥的生成,允许这个技巧。也就是说,冷端产生任意多个密钥,热端产生相应的地址。





图4.2:分层钱包的模式。


冷端创建并保存私钥生成信息和地址生成信息。它将后者一次性转移到热门。每当它想要向冷端发送硬币时,热端依次产生一个新的地址。当冷端重新连接时,它会顺序生成地址,并检查区块链以传送到这些地址,直到达到没有接收到任何硬币的地址。如果要将某些硬币发回热边或以其他方式使用,也可以依次生成私钥。


这是它的工作原理。回想一下,ECDSA私钥通常是随机数x,相应的公钥是。对于分层密钥生成,我们需要另外两个随机值k和y


这具有我们想要的所有属性:每一方都可以生成其密钥序列,并且与相应的密钥匹配,因为(因为对应于私有密钥x的公钥是)它还有一个我们没有谈到的财产:当你发出公钥时,这些钥匙将不能相互链接,也就是说,不可能推断他们来自同一个钱包。具有冷端的稻草人解决方案产生大批地址确实具有这种性质,但是当考虑到钥匙实际上不是独立生成时,我们必须对它保留注意。这个属性对隐私和匿名很重要,这将是第6章的主题。


在这里我们有两个层次的安全性,热端处于较低的级别。如果热端受到威胁,我们刚刚讨论的无连结性属性将会丢失,但私钥(和比特币)仍然是安全的。一般来说,这个方案支持任意多的安全级别——因此“分级”——尽管我们还没有看到细节。例如,当公司内部有多个级别的授权时,这一点是有用的。


现在我们来讨论一下冷信息的不同方式——是否可以存储一个或多个密钥或密钥生成信息。第一种方法是把它放在某种设备里,然后把它放在保险箱里。它可能是一台笔记本电脑,一部移动电话或平板电脑,或一个拇指驱动器。重要的是把设备关上并锁上,这样如果有人想偷它,他们就得破门而入。



脑钱包



我们可以使用的另一种方法是所谓的脑钱包。这是一种只需使用一个秘密口令来控制访问比特币的方式。这避免了硬盘驱动器、纸张或其他任何长期存储机制的需要。在你的身体安全性差的情况下,或许当你在国际旅行时,这个属性可能特别有用。


大脑钱包背后的关键在于有一个可预测的算法将密码转化为一个公钥和私钥。例如,你可以使用合适的哈希函数对密码进行哈希以导出私钥,并给出了私钥,公钥可以以一个标准的方式导出。此外,与之前我们看到的分层钱包技术相结合,我们可以从密码短语中生成一整套序列的地址和私钥,从而实现完整的钱包。


然而,如果攻击者可以猜到密码短语,他也可以获取脑钱包中的所有私钥。与计算机安全一样,我们必须假设对手知道您用于生成密钥的过程,且只有你的密码提供安全性。所以对手可以尝试各种口令,并使用它们生成地址;如果他在任何这些地址发现区块链上的任何未使用的交易,他可以立即将其转移给自己。对手可能永远不知道(或关心)那些硬币属于谁,攻击不需要闯入任何机器。猜脑钱包密码短语并非针对特定的用户,而且不留痕迹。



侧边栏



产生令人难忘的密码短语。提供大约80位熵的一个密码短语生成程序是从10000个最常用的英语单词中选择6个单词的随机序列(大约为80).许多人发现这些比随机字符串更容易记住。这是一对密码短语生成的方式。


此外,与猜测您的电子邮件密码(可以通过电子邮件服务器限定)的任务不同,攻击者可以使用大脑钱包下载具有未兑换硬币的地址列表,尝试尽可能多的潜在密码,因为他们有计算能力检查。请注意,攻击者不需要知道哪些地址对应于大脑钱包。这被称为离线猜测或密码破解。提出易于记忆的密码短语,而且不会容易以这种方式猜测是更具挑战性的。生成密码短语的一种安全方法是具有一个自动的过程,用于挑选随机的80位数字,并将该数字转换成密码短语,使得不同的数字导致不同的密码。

在实践中,使用故意缓慢的功能从密码短语中导出私钥也是明智的,以确保攻击者尝试所有可能性需要尽可能长的时间。这被称为关键拉伸。为了创建一个故意缓慢的密码推导函数,我们可以采用像SHA-256这样的快速加密散列函数,并计算它的次迭代,将攻击者的工作负载乘以。当然,如果我们把它弄得太慢的话,它会开始让用户感到讨厌,因为他们的设备只要想从大脑钱包里拿出硬币,就必须重新计算这个功能。


如果一个大脑钱包密码无法访问——说已经被遗忘了,没有被写下来,不能被猜到——那么硬币就永远丢失了。



纸钱包



第三个选项是所谓的纸钱包。我们可以将关键材料打印成纸,然后将该纸放入安全或可靠的位置。显然,这种方法的安全性与我们正在使用的纸的物理安全性一样好或坏。典型的纸质钱包通过两种方式对公钥和私钥进行编码:作为二维条形码,并以基础58符号表示。 就像一个大脑的钱包一样,存储少量的关键材料足以重新创建一个钱包。


图4.3:一个带有公钥的比特币纸钱包编码为二维条码和基本58标记。请注意,私人密钥在一个防篡改密封之后。



防篡改装置



我们可以存储离线信息的第四种方法是将其放在某种防篡改设备中。要么我们把钥匙放进设备,要么设备生成钥匙;无论如何,设备的设计使其无法输出或泄露密钥。这个设备代替了用密码来表示符号语句,当我们按下按钮或给它某种密码时,它就这样做了。一个优点是,如果设备丢失或被盗,我们将知道,密码唯一可能被盗的是如果设备被盗。这不同于在笔记本电脑上存储你的钥匙。


一般来说,人们可能会使用这四种方法的组合来保护他们的钥匙。对于热存储,特别是用于储存大量比特币的热存储,人们愿意努力工作,提出新的安全方案以保护它们,我们在下一节将谈谈一些更先进的方案。


       4.3拆分和共享密钥



到目前为止,我们已经研究了存储和管理控制比特币密钥的不同方法,但我们总是把密钥放在一个地方——无论是锁定在安全中,还是在软件中,或者在纸上。这让我们失去了一个点。如果单个存储空间出现问题,那么我们就会遇到麻烦。我们可以创建和存储关键材料的备份,但这会降低密钥丢失或损坏(可用性)的风险,从而增加了盗用(安全性)的风险。这种权衡似乎是根本的。我们是否可以获取一个数据,并存储在可用性和安全性同时增加的方式吗?值得注意的是,答案是肯定的,这又是一个使用加密技术的技巧,称为秘密共享。


这里的想法:我们要将我们的密钥划分成N个片段。我们想要这样做,如果我们被给予任何K的这些片段,那么我们将能够重建原始的秘密,但是如果我们被给予少于K个片段,那么我们将无法了解原始秘密的任何内容。

鉴于这个严格的要求,简单地将秘密“切割”成碎片不会起作用,因为即使是单片还提供了一些关于秘密的信息。我们需要一些更聪明的东西。而且,由于我们没有削减秘密,所以我们会将各个组件称为“份额”而不是片段。


假设我们有N = 2和K = 2。这意味着我们根据秘密生成2个份额,我们需要这两个份额才能重建这个秘密。我们叫我们的秘密S,这只是一个大(128位)的数字。我们可以生成一个128位随机数R,使两个共享为R和S⊕R。(⊕代表按位XOR)。本质上,我们用一次性“加密”S,并将密钥(R)和密文(S⊕R)存储在不同的地方。密钥和密文本身都不会告诉我们关于秘密的任何内容。但是鉴于这两个份额,我们只是将它们组合在一起来重建这个秘密。


只要n和k是相同的,这个技巧就可以工作了——我们只需要为第一批N-1股份生成N-1个不同的随机数,最后的份额将是所有其他n-1个份额共享的秘密XOR。但是如果N大于K,那么这不再起作用了,我们需要一些代数。


图4.4:2-out-of-N秘密共享的几何图示。S表示秘密,编码为(大的)整数。绿线具有随机选择的斜率。橙色点(具体来说,它们的Y坐标S + R,S + 2R,...)对应于份额。任何两个橙色点都足以重建红色点,因此也就是秘密。所有算术都以大质数模数完成。


看看图4.4。 我们在这里做的是首先在Y轴上生成点(0,S),然后在该点上绘制一条随机斜率的线。接下来,我们在这条线上生成一堆点,想要多少生成多少。事实证明,这是S的秘密共享,N是我们生成的点数,K =2。

为什么这样工作?首先,如果你给出了两个生成点,你可以通过它们画一条线,看看它在哪里与Y轴相遇。那会给你S.另一方面,如果你只给了一个点,它不会告诉你S,因为线的斜率是随机的。每条通过你的点的线都是同样可能的,他们都将与Y轴在不同的点相交。


还有一个微妙之处:为了使数学运算出来,我们必须用一个大素数P来完成所有算术运算。它不需要是秘密或任何东西,只要是真的很大。秘密S必须在0和P-1之间,包括0和P-1。所以当我们说我们在线上生成点时,我们的意思是我们生成一个随机值R,也在0和P-1之间,我们生成的点是


x = 1,y =(S + R)mod P

x = 2,y =(S + 2R)mod P

x = 3,y =(S + 3R)mod P

等等。秘密对应于x = 0,y =(S + 0 * R)mod P,即x = 0,y = S。


我们看到的是一种使用K = 2和任何值N进行秘密共享的方式。这已经相当不错了——如果N = 4,你可以将你的密钥分成4个分组,并将它们放在4个不同的设备上,以便如果有人窃取了这些设备中的任何一个,那么他们也不会知道你密钥的任何信息。另一方面,即使这两个设备在火灾中被破坏,你也可以使用其他两个设备来重建密钥。所以作为承诺,我们增加了可用性和安全性。


但是我们可以做得更好:只要K不超过N,我们就可以与任何N和K进行秘密共享。为了看如何构建的,我们回去看图。我们使用一条线而不是其他形状的原因是,代数上说,一条线是1的多项式。这意味着要重建一条线,我们需要两点,不要少于两个。 如果我们想要K = 3,我们将使用一个抛物线,它是一个二次多项式,或者是二阶多项式。需要三点来构造一个二次函数。我们可以使用下表了解发生了什么。


表4.1:秘密分享背后的数学。通过K-1级随机多项式曲线上的一系列点来表示秘密,只有至少K个点(“份额”)可用时才能重建秘密。


有一个叫做拉格朗日插值的公式,它允许你从曲线上的任何K点重构一个K-1度的多项式。这是一个用直尺通过两个点绘制直线的几何直观的代数版本(概括)。作为所有这一切的结果,我们有一种方法来存储任何秘密作为N股,使我们是安全的,即使对手了解到他们的K-1,同时我们可以承受高达n-k的损失它们。


没有一个是特定为比特币设计的,顺便说一句。你现在可以秘密分享您的密码,并将其分享给你的朋友或将其放在不同的设备上。但是没有人真的用密码这样的秘密去做到这一点。方便是一个原因;另一个原因是有其他安全机制可用于重要的在线帐户,例如使用SMS双重因素安全性的验证。但是使用Bitcoin,如果你在本地存储你的密钥,那么你没有其他安全选项。没有办法根据收到的短信来控制比特币地址。 在线钱包的情况是不同的,下一节我们来看看。但是没有太不同——它只是将问题转移到不同的地方。毕竟,在线钱包提供商将需要一些方法来避免在存储密钥时出现单点故障。


阈值加密。但是,秘密共享还是有一个问题:如果我们有一个钥匙,我们以这种方式分裂,然后我们想回去使用钥匙来签署一些东西,我们仍然需要把这些份额放在一起,并重新计算初始秘密,以便能够签署密钥。我们将所有份额合并在一起的点仍然是一个单一的脆弱点,对手可能会窃取钥匙。


密码学也可以解决这个问题:如果共享存储在不同的设备中,有一种以分散方式生成比特币签名的方法,而不用在任何单个设备上重建私有密钥。这被称为“阈值签名”。最佳用例是具有双重因素安全性的钱包,对应于N = 2和K = 2的情况。假设你已经配置了你的钱包,以在桌面和手机之间分割其密钥资料。然后,你可以在桌面上启动付款,这将创建一个部分签名并将其发送到你的手机。然后你的手机将通过付款明细(收件人,金额等)提醒您,并要求你确认。如果详细信息检查后,你将确认,你的手机将使用其私钥的共享完成签名,并将交易广播到区块链。如果桌面上有恶意软件窃取你的比特币,那么可能会发起一笔将资金发送给黑客的地址的交易,但是你会在手机上收到你未授权交易的警报,然后你就知道有什么事发生了。阈值签名背后的数学细节非常复杂,我们不会在这里讨论。



多签名



有一个完全不同的选择,以避免单点故障:多签名,我们之前在第3章中看到过。Bitcoin脚本直接允许你规定对地址的控制在不同的密钥之间进行分割,而不是使用单个密钥并将其拆分。这些密钥可以存储在不同的位置,并且签名单独生成。当然,完成的签名交易将在某些设备上构建,但是即使对手控制这个设备,他所能做的一切就是防止它被广播到网络。他不能在没有其他设备参与的情况下产生一些其他交易的有效多签名。


例如,假设这本书的作者安德鲁,Arvind,埃德,约瑟夫和史蒂文都是一家公司的联合创始人——也许我们从销售这本免费书中收到丰富的特许权使用费——并且公司会有很多比特币。我们可能会使用多重保护来保护我们大量的比特币。我们中的每一个都会产生一个密钥对,我们将使用3/5的多重信号来保护我们的冷库,这意味着我们中的三个必须签署才能创建有效的交易。


因此,我们知道,如果我们五个人分别保管钥匙,并保证钥匙安全,我们就相对安全了。对手将不得不妥协五个密钥中的三个。如果我们中有一个甚至两个人流氓,那么他们不能窃取公司的硬币,因为至少需要三个钥匙去做。同时,如果我们中的一个人丢了钥匙或者被公共汽车辗过,我们的大脑钱包丢失了,其他人仍然可以把硬币拿回来,然后把它们转移到一个新的地址,重新保管钥匙。换句话说,多重SIG可以帮助你以相对安全的方式管理大量的冷储硬币,并且在发生任何剧烈的事情之前需要多人操作。



侧边栏



阈值签名时采用单个密钥的密码技术,将其分开共享,分别存储,并且在不重建密钥的情况下签署交易。多签名是比特币脚本的一个特性,通过它你可以指定地址的控制在多个独立钥匙之间分割。虽然它们之间有一些差异,但它们通过避免单点故障来增加安全性。


在我们上面的陈述中,我们通过解释如何帮助实现双因素(或多因素)安全性,以及通过解释如何帮助一组个人共同控制共同持有的资金来促进阈值签名。但任何一种技术都适用于任何一种情况。



     4.4在线钱包和交易所



到目前为止,我们已经讨论了如何存储和管理你的比特币本身。现在我们将讨论如何使用其他人的服务来帮助你。你可以做的第一件事是使用在线钱包。



在线钱包



一个在线钱包就像你可能自己管理的本地钱包,除了信息存储在云中,你可以使用计算机上的Web界面或使用智能手机上的应用程序来访问它。一些在2015年初受欢迎的在线钱包服务是Coinbase和blockchain.info。


从安全性的角度来看,关键的是站点提供了在浏览器或应用程序上运行的代码,并且还存储你的密钥。至少它将具有访问你的密钥的能力。理想情况下,这个网站将按照你所知道的密码对这些密钥进行加密,但是你当然必须相信他们这样做。你必须相信他们的代码不泄漏你的密钥或密码。


一个在线钱包有一定的权衡来做自己的事情。一个很大的优点是它很方便。你无需在计算机上安装任何东西,就能够在浏览器中使用在线钱包。


在你的手机上,你可能只需安装一次应用程序,不需要下载程序链。它可以在多个设备上工作——你可以在桌面和手机上安装一个单一的钱包,只需真正的钱包就能在云端工作。


另一方面,存在安全隐患。如果网站或经营该网站的人员变得恶意,或者以某种方式受到影响,你的比特币就会遇到麻烦。该网站提供的代码,其肮脏的手指在你的比特币上,如果在服务提供商有妥协或恶意的事情可能会更糟糕。


理想情况下,网站或服务由安全专业人员管理,他们在维护安全方面受过较好的培训,或者比你更勤奋。所以你可能希望他们做得更好,你的硬币实际上比你自己储存的钱更安全。但是最后,你必须相信他们,你必须依靠他们不被妥协。


比特币交易。要了解比特币交易所,首先谈谈银行和银行业务如何在传统经济中运作。你给银行一些钱——一个存款——银行承诺稍后还钱。当然,最重要的是,银行实际上并不是拿你的钱,把它放在后面的房间里。所有的银行都承诺,如果你出钱,他们会给回来。银行通常会把钱放在别的地方,也就是投资。银行可能会在储备金中保留一些钱,以确保他们能够在典型的一天或甚至是不寻常的一天支付他们将面临的提款需求。许多银行通常使用一种称为“储备”的东西,在这些储备中保留所有活期存款的一小部分,以防万一。


现在,比特币交换业务至少从用户界面的角度来看,以类似于银行的方式运作。他们接受了比特币的存款,就像一家银行一样,承诺稍后再按要求给他们。你还可以通过从你的银行帐户转账,将法定货币——传统货币(如美元和欧元)转入交易所。交易所承诺将按要求偿还任一种或两种货币。交易所可以让你做各种类似银行业的事情。你可以赚取和收到比特币付款。也就是说,你可以指示交易所向某一方支付一些比特币,或者你可以要求其他人代你将资金存入特定交易所——放入你的账户中。他们还让你交换比特币为法定货币,反之亦然。通常,他们通过寻找一些想用美元购买比特币的客户和一些想把比特币作为美元出售的客户来实现这一点。换句话说,他们试图找到愿意在交易中采取相反立场的顾客。如果双方都能接受的价格,他们将完成交易。


假设我在一些交易所的账户持有5000美元和三个比特币,我使用交易所,我下令购买2个比特币,每个580美元,交易所找到一个愿意接受交易的人, 交易发生。现在我的帐户中有五个比特币,而不是三个,有3840美元,而不是5000。


这里要注意的一个重要事情是,当这笔交易发生在涉及我和另一个客户的同一交易中时,比特币区块链中没有实际发生任何交易。交易所不需要去区块链,以便将比特币或美元从一个账户转移到另一个账户。在这笔交易中发生的一切是,交易所现在对我的承诺不同于以前的承诺。他们以前说,“我们会给你5000美元和3 BTC”,现在他们说“我们会给你3840美元和5 BTC”。这只是他们承诺的变化——没有通过美元经济或通过块链发生实际的货币流动。当然,他们对另一个人的承诺也是以相反的方式改变的。


使用交流有利有弊。最大的优点之一是交易所有助于将比特币经济和比特币与货币经济联系起来,以便轻松地传递价值。 如果我的帐户中有美元和比特币,我可以很容易地在他们之间来回交易,这真的很有帮助。


坏处就是风险。你面临着和银行一样的风险,风险分为三类。



三种风险



  • 第一个风险是银行的风险。当一群人一次出现并想要他们的钱时,会发生什么事情。由于银行只有部分储备,可能无法应对同时提款。 危险是一种恐慌的行为,一旦谣言开始绕开,一个银行或交易所可能会遇到麻烦,他们可能会越来越接近不履行提款,然后人们踩踏,试图在人群之前提取钱,你会经历一场雪崩。


  • 第二个风险是,银行的所有者可能会运行一个庞氏骗局。这是一个方案,有人让人们给他们钱,以换取未来的利润,但实际上是把钱用于支付给以前购买的人的利润。 这样的计划注定要最终失败,失去了很多人的很多钱。 在最近的记忆中,伯尼·麦道夫(Bernie Madoff)最为著名。


  • 第三个风险是黑客的风险,甚至是交易所的一个雇员,也会设法渗透交易所的安全。由于交易所存储了控制大量比特币的关键信息,所以他们需要对软件安全及其程序非常谨慎——如何管理他们的冷、热存储以及所有这些。如果出现问题,你的钱可能会从交易所被盗。


所有这些事情都发生过。我们看到了由于银行挤兑而倒闭的交易所。我们看到交易所的失败是因为交易所的运营商是骗子,我们也看到了由于破产而倒闭的交易所。事实上,统计数据并不鼓舞人心。2013的一项研究发现,40家比特币交易所中有18家因某些交易失败或部分无力支付交易所承诺支付的资金而关闭。


最著名的例子是Mt. Gox。Gox一度是最大的比特币交易所,它最终发现自己无力偿债,无力偿还所欠的款项。Gox是一家日本公司,最终宣告破产,留下许多人怀疑他们的钱去了哪里。现在,在日本和美国法院,Gox的破产是混乱的,要过一段时间我们才能确切知道钱到哪里去了。我们知道的一件事是,有很多它,而Gox不再拥有它了。所以,这是一个关于使用交易所的警示故事。


回过来考虑到银行,我们看不到大多数发达国家银行的失败率为45%,部分是由于监管。各国政府以各种方式管制着传统银行。



银行监管



政府首先要做的是经常强加最低储备金要求。在美国,银行需要以流动形式存在的活期存款的比例通常为3-10%,如果发生这种情况,他们可以处理大量的提款。二是政府往往规范银行可以使用的投资类型和资金管理方式。目标是确保银行的资产投资于相对较低风险的地方,因为这些资产是存款人在某种意义上的资产。


现在,为了换取这些形式的监管,政府通常会做一些事情来帮助银行或帮助他们的存款人。一是政府出台存款保险。也就是说,政府承诺存款人,如果遵守这些规定的银行,政府将至少确保部分存款的安全。政府有时也会作为“最后贷款人”。如果一家银行陷入困境,但基本上是有偿还能力的,政府可能会介入并向银行贷款以渡过危机,直到它能够在必要时转移资金以摆脱困境。


传统银行是这样管制的,但比特币交易所没有。Bitcoin交易所或其他Bitcoin业务是否应该受到监管的问题是我们将在第七章中回顾的一个主题。

准备金证明。比特币交换所或持有比特币的其他人可以使用一种称为“储备证明”的加密伎俩,让客户对他们存入的钱感到放心。目标是让交易所或商业持有比特币的来证明它有部分储备——他们可以控制大概25%甚至是100%的存款。


我们可以将准备金证明问题分解成两部分。第一个是证明你持有多少储备——这是比较容易的部分。该公司只需简单地发布有效的付款自交易的索赔准备金数额。也就是说,如果他们声称拥有10万个比特币,那么他们创建一个交易,在这个交易中,他们向自己支付100,000个比特币,并显示该交易有效。然后,他们签署一个挑战字符串——由一些公正方生成的随机字符串——与用于签署自付交易的私钥相同。这证明知道私钥的人参与了储备证明。


我们应该注意两点警告。严格地说,这并不是说声称拥有储备金的一方拥有一个证据,而只是说拥有这10万个比特币的人愿意在这个过程中进行合作。尽管如此,这看起来像是一个证明,有人控制或知道谁控制了一定数量的钱。此外,请注意,您可以随时索赔:该组织可能拥有15万个比特币,但选择仅支付10万美元的自付款。 所以这种储备证明并不能证明这是你的全部,但它证明你至少有这么多。



负债证明



第二件是证明你持有多少活期存款,这是很难的。如果你可以证明你的储备金和你的定期存款,那么任何人都可以简单地将这两个数字分开,这就是你的部分储备金。我们会提出一个计划,允许你过度申报,但不能低报你的定期存款。因此,如果你能证明你的准备金至少是一个一定数额,你的负债在一定程度上是一个一定数量,合到一起,你就证明了你的部分准备金的下限。


如果你不关心用户的隐私,你可以简单地发布你的记录——具体来说,拥有定期存款的每个客户的用户名和金额。现在任何人都可以计算你的总负债,如果你省略了任何客户或谎称其存款的价值,你就会冒着该客户暴露你的风险。你可以补充假冒用户,但你只能通过这种方式提高索赔总负债的价值。所以只要没有客户投诉,这就可以让你证明你存款的下限。当然,这个伎俩是在尊重用户隐私的同时做到这一点。


要做到这一点,我们将使用Merkle树,我们在第1章中看到过。回想一下,merkle树是用哈希指针构建的二进制树,以便每个指针不仅说明我们可以获得一条信息,而且该信息的加密哈希也是如此。交易所通过构建Merkle树来执行证明,其中每个叶子对应于用户,并发布其根哈希。类似于上述的天真协议,每个用户都有责任确保它们被包含在树中。此外,还有一种方式可以让用户集体检查索赔的存款总额。 我们现在深入细节。


图4.5:负债证明。


交易所发布包含叶子中所有用户的Merkle树的根,包括存款金额。任何用户都可以请求一个包含在树中的证明,并验证存款金额是否正确传播到树的根目录。


现在,我们要将这些哈希指针的每一个添加到另一个字段或属性中。该属性是一个数字,表示树中该哈希指针下的子树中所有存款比特币的总金额。为了这样做,每个哈希指针对应的值应该是它下面的两个散列指针的值的总和。


交易所构造这个树,加密地将根指针与根属性值一起签名,并发布它。根值当然是总负债,我们感兴趣的数量。交易所声称所有用户都在树的树叶中表示,其存款值正确表示,并且值正确地传播到树上,以使根值是所有用户的存款金额的总和。


现在,每个客户可以去组织,要求提供正确包含的证明。然后,交易所必须向客户显示该用户的叶子到根的部分树,如图4.6所示。客户然后会验证:


  • 1.根哈希指针和根植与交易所签名和发布的相同。


  • 2.哈希指针一直一直下降,也就是说,每个哈希值确实是它指向的节点的加密哈希。


  • 3.叶包含正确的用户帐户信息(例如,用户名/用户ID和存款金额)。


  • 4.每个值是它下面两个值的总和。


  • 5.这两个值都不是负数。


图4.6:包含在Merkle树中的证明。叶节点的披露,以及从根到叶的路径上的节点的兄弟姐妹。


好消息是,如果每个客户都这样做,那么这个树的每一个分支都将被探索,有人将验证每个哈希指针的相关值等于其两个孩子的值之和。至关重要的是,交易所不能在不同客户的树的任何部分呈现不同的值。这是因为这样做要么意味着找到哈希冲突的能力,要么向不同的客户呈现不同的根值,我们认为这是不可能的。


让我们回顾一下。首先,交易所他们通过进行X量的自我交易证明至少拥有X数量的储备货币。然后他们证明他们的客户最多有Y数量的存款。这表明它们的储量分数至少为X / Y。这意味着,如果比特币交易所想证明他们在所有存款(或100%)上持有25%的储备,他们可以以任何人可以独立核查的方式执行,而不需要中央监管机构。


你可能会注意到,这里提供的两个证明(通过签署挑战字符串的储备证明和通过Merkle树的负债证明)显示了大量私人信息。具体来说,它们揭示了交易所使用的所有地址,储备金和负债的总价值,甚至有关个人客户余额的一些信息。实际上交易所对此的发布犹豫不决,结果储备的加密证明很少见。


最近提出的一项叫做“规定”的议定书提供了相同的偿付能力证明,但并没有透露总负债或储备金或使用的地址。该协议使用更高级的加密,我们不会在此处覆盖,但另一个示例显示如何使用加密技术来确保隐私。


偿付能力是比特币交易所自愿证明监管的一个方面,但是第7章我们将看到,监管的其他方面更难保证。



           4.5付款服务



到目前为止,我们已经谈到了如何存储和管理你的比特币。现在让我们考虑一个商人——无论是在线商家还是当地的零售商家——都可以通过实际的方式接受比特币的付款。商家通常支持比特币付款,因为他们的客户希望能够用比特币付款。商人可能不想持有比特币,希望在一天结束时只收取美元或任何当地法定货币。他们想要一个简单的方式来做,而不用担心太多技术,改变他们的网站或建立一些类型的销售点技术。


商人也希望低风险。有各种可能的风险:使用新技术可能导致他们的网站下降,花费他们的钱。处理比特币有安全隐患——有人可能会闯入他们的热钱包,有些员工会偷他们的比特币。最后还有汇率风险:美元与比特币的兑换价值可能会不时地波动。商人可能想卖一个十二美元的比萨饼,想知道他们将得到十二美元或要么接近它,和他们通过出售比萨饼收到的比特币价值不会大幅下降,然后才可以将这些比特币交换为美元。


存在支付服务,以允许客户和商家获得他们想要的东西,弥合这些不同愿望之间的差距。


图4.7:用于生成比特币支付按钮的示例支付服务接口。商家可以使用这个界面生成一个HTML代码片段来嵌入他们的网站。


通过支付服务接收比特币付款的过程可能对商家来说是这样的:


  • 1.商家到付款服务网站,并填写一个表单,描述付款小部件的项目、价格和演示,等等。图4.7显示了Coinbase的一种形式的说明性示例。


  • 2.支付服务生成商家可以放入其网站的HTML代码。


  • 3.当客户点击付款按钮时,各种事情都会发生在后台,最终商家得到一个确认说:“客户ID [客户ID ]为项目[项目id ]的金额[价值]进行了付款。


虽然此手动过程对于销售一个或两个商品的小型网站或希望接收捐赠的网站是有意义的,但是对于数千个商品复制粘贴HTML代码当然是不可行的。因此,支付服务还提供用于向动态生成的网页添加支付按钮的编程接口。


图4.8:涉及用户、商户和支付服务的付款过程。


现在让我们更详细地查看付款流程,看看当客户使用比特币进行购买时会发生什么。下面的步骤如图4.8所示。


  • 1.用户选择要在商家网站上购买的商品,当需要支付时,商家将提供一个网页,该网页将包含比特币支付的按钮,这是由付款服务提供的HTML代码段。该页面还将包含一个交易ID——这是对商家有意义的标识符,并允许他们在自己的会计系统中查找记录,以及商家希望支付的金额。


  • 2.如果用户想用比特币付款,他们将点击该按钮。这将触发对付款服务的HTTPS请求,称该按钮被点击,并传递商家的身份,商家的交易ID和金额。


  • 3.现在支付服务知道这个客户——无论他们是谁_想要支付一定数量的比特币,所以支付服务将弹出某种方式,或者开始与用户进行某种交互。这给用户有关如何支付的信息,然后用户将通过其首选的钱包启动比特币转移到支付服务。


  • 4.一旦用户创建了付款,支付服务将把浏览器重定向到商家,传递来自支付服务的消息,目前这一切看起来还不错。这可能意味着,例如,支付服务已经观察到对等网络的交易广播,但是迄今为止交易尚未收到足够的(或任何)确认。这完成了用户关心的付款、商家的货物装运,等待来自支付服务的最终确认。


  • 5.支付服务后来直接向包含交易ID和金额的商家发送确认。 通过这样做,支付服务告诉商家,该服务在一天结束时欠商家钱。 商人然后将货物运送给用户。


最后一个步骤是支付服务实际上通过汇款给商人的银行账户,以美元或一些法定货币向商家汇款。这种情况发生在固定结算期结束,也许一天一次,而不是每次购买一次。支付服务只收取一小部分费用,这就是他们的收入来源。其中一些细节可能会因支付服务而有所不同,但这是一般的方案。


总的来说,在这个过程结束时,客户支付比特币,商人获得美元,减去一个很小的百分比,每个人都高兴。回想一下,商家想要出售商品获得一些特定数量的美元或者是当地的法定货币。支付服务处理所有其他事项——从客户那里收取比特币并在一天结束时进行存款。

至关重要的是,支付服务会接纳所有的风险。它接纳安全风险,因此需要有良好的安全程序来管理其比特币。它接纳汇率风险,因为它收到比特币并支付美元。如果美元对比特币的价格大幅波动,支付服务可能会亏损。 但是,如果在另一个方向波动,服务可能会赚钱,但这是一个风险。接纳它是支付服务业务的一部分。


请注意,支付服务可能大规模运营,因此收到大量的比特币并支付大量的美元。它将不断需要交换它所获得的比特币得到更多的美元,以便它可以保持循环。因此,支付服务必须积极参与交易市场,将货币和比特币经济联系在一起。所以支付服务不仅要担心汇率是多少,而且还要处理如何大量兑换货币。


也就是说,如果可以解决这些问题,服务在每笔交易中收到的费用都将成为一个潜在的利润丰厚的业务,因为它可以解决客户愿意支付比特币和商家想获得美元并专注于销售商品的愿望的不匹配。


             4.6交易费用



交易费用的主题在前几章中已经出现,后面将再次介绍。在这里,我们将讨论如何在比特币进行交易费用的实际细节。


每当交易被放入比特币区块链中时,该交易可能包括交易费用。从上一章回顾一下,交易费用刚刚被定义为进入交易的硬币的总价值与出来的硬币的总价值之间的差额。输入总是至少与输出一样大,因为常规交易不能创建硬币,但如果输入大于输出,则差额被视为交易费用,并且该费用会交给创建包含此交易区块的矿工。


交易费用的经济学是有趣和复杂的,但我们将限制自己在交易费用是如何实际在2015年初设置并运作的。这些细节不时改变,但是我们会给你一个当前状态的快照。


为什么交易费用会存在?原因是有一些成本是为了转移你的交易而必须承担的。比特币节点需要中继你的交易,最终矿工需要将你的交易建立到一个区块中,并且花费他们一点点去做这个。例如,如果一个矿工的区块是因为包含你的交易而稍大一些,传播到网络其余部分将要花费更长的时间,如果另一个矿工在同一时间内发现另一个区块,该区块将被孤立。


所以,对等网络和矿工都有一个成本,合并在你的交易中。交易费用的概念是为了补偿矿工处理你的交易所需的费用。节点在当前系统中没有收到货币补偿,尽管运行节点当然不如作为一个矿工昂贵。一般来说,你可以随意将交易费用设置为你想要的交易费用。你可以免费支付,或者如果你喜欢,可以将费用设置的相当高。一般来说,如果你支付较高的交易费用,你的交易自然会被更快,更可靠地转发和记录。


当前默认交易费用。大多数矿工预期的当前交易费用如下:首先,如果交易符合以上所有这三个条件,则不收取费用:


  • 1.交易的大小小于1000字节,


  • 2.所有输出均为0.01BTC或更大


  • 3.优先级足够大


优先级定义为:(输入年龄*输入值的总和)/(交易大小)。换句话说,查看交易的所有输入,并为每一个输入计算该输入的年龄及其在比特币中的值,并将所有这些产品相加。请注意,交易输出的时间越长,其使用寿命就越长,并且最终用于优先级越高。


如果你符合这三项要求,那么你的交易将被转交,并将以无偿的方式记录在区块链中。否则收取费用,该费用为每1000字节大约0.0001 BTC,截至2015年,这是每1000字节,美国的一分钱。交易的近似大小为每个输入加148字节,每个输出为34个字节,其他信息为十个字节。所以,一个拥有两输入两输出的交易有400字节。


目前的现状是,大多数矿工执行上述收费结构,这意味着他们要么不提供服务,要么将服务于不提供必要交易费用的最后交易。但是还有其他矿工不执行这些规则,有人会记录和操作一个交易,即使它支付较小的费用或根本没有收费。


如果你做出不符合费用要求的交易,那么它很可能会进入区块链,但是更快速,更可靠地获得交易记录的方法是支付标准费用,这就是为什么大多数钱包软件和大多数支付服务包含支付中的标准费用结构,因此当你从事日常的比特币业务时,你会看到一些钱在交易费用上挣扎。


       4.7货币兑换市场



通过货币兑换,我们的意思是交易比特币与法定货币如美元和欧元。我们之前已经提到过关于让你这样做的服务,但现在我们要将其视为一个市场——它的规模、范围、运作方式以及市场的经济性。


首先要了解的是,它以许多方式运作,如两法定货币之间的市场,如美元和欧元。价格会因人们购买欧元的严重程度和人们在某一天购买美元的严重程度而来回波动。在比特币世界里有诸如bitcoincharts.com这样的网站,显示了多种不同交易所的各种货币汇率。


如果您浏览该网站,会有很多交易发生,价格随着交易而实时变动。这是一个流动的市场,有很多地方可以去买或卖比特币。在2015年3月,Bitfinex是最大的比特币-美元交易所,在24小时内交易70,000比特币,约为2100万美元。


另一个选择是在现实生活中与人们交换比特币。有一些网站可以帮助你做到这一点。例如,在localbitcoins.com上,你可以指定你的位置,并且希望使用现金购买比特币。你会得到一些搜索结果的人,他们在这个地点愿意出售比特币,在这种情况下,它会告诉你什么价格和他们提供多少个比特币。然后,你可以联系任何一家,并安排在咖啡店或公园或任何地方见面,交给他们美元和接收比特币。对于小交易,在区块链上等待一个或两个确认可能就足够了。


最后,在某些地方,有定期的聚会,人们会去交易比特币,所以你可以在一个预定的日子和时间去某个公园或街角或咖啡厅,那里会有一群人想要买或卖比特币,你可以和他们做生意。有人可能喜欢在线上获得比特币的原因之一是它是匿名的,在某种程度上,在公共场所的交易可以被认为是匿名的。另一方面,因为银行监管,开设一个交易所的账户通常需要提供政府发行的ID。我们将在第7章中更详细地讨论这一点。


供需。像任何一个市场一样,比特币交易所市场与想要与卖家做相反事情的买家相匹配。这是一个相当大的市场——每天数百万美元通过它。这不是纽约证券交易所或美元/欧元市场的规模,这个市场规模大得多,它是一个规模最够大,有着共识价格概念的市场。一个想进入这个市场的人可以至少购买或出售一些适量的款项,并且总能找到一个交易对手。


这个市场的价格,这个共识价格,像流动市场中的任何东西一样,价格都会由供需决定。我们指的是可能出售的比特币的供应和有美元的人对比特币的需求。通过这种市场机制,价格将达到与供需匹配的水平。我们再来详细了解一下。


比特币的供应量是多少?这是你可能在这些市场之一购买比特币的数量,它相当于目前流通的比特币的供应量。有一个固定数量的比特币流通。截至2015年10月,它约为1390万,而目前比特币的规则表明,这个数字将缓慢上升,最终达到2100万的限制。


你也可能包括比特币活期存款。也就是说,如果有人把钱存入比特币交易所的账户中,而交易所没有保留完全储备以满足每一笔存款,那么交易所的存款将大于交易所持有的硬币数量。


取决于你所问的市场问题,将活期存款纳入供应中可能或可能不正确。基本上,你应该在市场分析中包括需求存款,当需求存放的钱可以在该市场上出售时。例如,如果你把美元兑换成比特币的需求存款,交易所允许将比特币活期存款兑换成美元,那么他们就可以计算。


值得注意的是,当经济学家通常谈论法定货币的供应时,他们通常不仅在货币供应中包括流通货币——即纸币和金属货币,而且还包括活期存款的总额,这是出于逻辑上的原因,人们实际上可以花费他们的活期存款来购买东西。所以尽管现在说比特币的供应量目前固定在1390万,最终是2100万,但为了某些目的,我们必须包括那些活期存款,像金钱一样的活期存款,所以供应量可能不会像比特币倡导者声称的方式固定。我们需要看看我们正在谈论的特定市场的情况,以了解什么是适当的货币供应量。但是假设我们已经基于我们正在分析的市场,就我们正在使用的供应达成一致。


现在我们来看看需求。比特币真的有两个主要的需求来源。比特币的需求是调节法定货币交易的一种方式,并且有将比特币作为投资的需求。比特币的需求是调节法定货币交易的一种方式,并且有将比特币作为投资的需求。


  • 首先让我们来看看中介的法定货币交易。想象一下,Alice想从Bob处购买一些东西,想要向Bob付钱,而Alice和Bob想转移我们说的一定数量的美金,但是他们发现使用比特币来做这个转移是很方便的。让我们假设Alice和Bob都不会长期持有比特币。我们稍后会回到这个可能性。所以Alice会将美金换成比特币然后进行转移,一旦他们收到足够多Bob满意的确认,他将把比特币换成美金。从比特币需求的角度来看,这里的关键是,在交易进行的过程中,必须将比特币作为中介来处理此交易。这就造成了对比特币的需求。


  • 第二个需求来源就是比特币有时被要求作为投资。那就是说,如果有人想买比特币并持有它,希望比特币的价格在未来会上涨,并且他们到时候能够卖掉。当人们购买并持有,那些比特币就不会流通。当比特币的价格低时,您可能会希望很多人想要购买比特币作为投资,但如果价格上涨非常高,那么对于比特币的投资需求就不会太高。



市场行为的简单模型



现在,我们可以做一些简单的经济建模来了解这些市场行为。我们不会在这里做一个完整的模型,虽然这是一个有趣的练习。我们来看看中介交易需求,以及可能对比特币价格产生的影响。


我们首先假设一些参数。T是每个参与市场的人通过比特币中介进行的总交易价值。该值以美元/秒计。该值以美元/秒计。这是因为我们假设为了简单起见,想要中介交易的人都考虑到某些交易的美元价值,或者其他一些我们将转换成美元的法定货币。所以每秒需要调解一定数量的美元。D是为了中介交易比特币需要流通的持续时间。这是从支付者购买比特币到接收者能够将它们卖回市场的时间,我们将以秒计算。S是可用于此次购买的比特币的总供应量,所以这将是所有硬货币比特币的存在——目前约1400万,最终达到2100万——减去人们作为长期投资的。换句话说,我们正在谈论的是比特币周围的晃动,可用于中介交易。最后,P是比特币的价格,以每比特币为单位。


现在我们可以做一些计算。首先,我们将计算每秒可以使用多少个比特币,以便每秒服务一次。总共有S个比特币,因为他们D秒钟在流通中被淘汰了,平均每秒这些比特币的一个S/D分数将会新出现,因为它们将从流通之外的状态出现,变成每秒钟可用于中介交易。这就是供应方面。


在需求方面——中介交易所需的每秒Bitcoins数量——我们有T美元值得中介交易,为了中介交易一美元,我们需要1/P比特币。所以,T/P是为了服务用户想要服务的所有交易而需要的每秒比特币的数量。


现在如果你看一下特定的时间,在第二次的时候有一个S/D的供应和T/P的需求。在这个市场上,像大多数市场一样,价格会波动,以使供给符合需求。如果供应高于需求,那么比特币就会出售,所以出售比特币的人们愿意降低要价,以便出售它们。根据我们的需求T / P方程式,当价格下降时,需求增加,供需平衡。


另一方面,如果供给小于需求,那意味着有些人想要得到比特币来调停一个交易,但由于周围没有足够的比特币而无法获得比特币。那么,为了获得他们的比特币,这些人将不得不多投标,因为有限的比特币供应将会面临很大的竞争。这推高了价格,再次提及我们的方案,这意味着需求将下降直到平衡。在均衡中,供应必须等于需求,所以我们有


这给了我们一个价格的公式:


这个方程告诉我们什么?我们可以稍微简化一下:我们可以假设D,你需要持有比特币来调停交易的时间长短不会改变。总供应量S也没有变化,或者至少随着时间的推移而变化缓慢。这意味着价格与以美元计的调解需求成正比。所以如果美元的调解需求加倍,那么比特币的价格应该翻倍。事实上,我们可以根据对交易调解需求的一些估计来绘制价格,并看看它们是否匹配。 当经济学家这样做时,两者往往会很好地相配。


请注意,总供应量S仅包括不作为投资持有的比特币。 所以如果更多的人购买比特币作为投资,S会下降,我们的公式告诉我们,P会上涨。这是有意义的——如果对投资方面有更多的需求,那么您需要支付调解交易的价格就会上涨。


现在这还不是一个完整的市场模式。要有一个完整的模式,我们需要考虑到投资者的活动。也就是说,投资者在相信未来价格会更高的时候会对比特币有更多的需求,所以我们需要考虑投资者的期望。这些期望当然与未来的预期需求有关。我们可以建立一个更为复杂的模型,并将这一点纳入其中,但是我们不会这样做。


这里的底线是,比特币和美元之间以及比特币和其他法定货币之间存在市场。这个市场有足够的流动性,您可以以可靠的方式以适量的数量购买或出售,虽然价格上涨和下跌。最后,有可能进行经济建模,了解供应和需求在这个市场上的相互作用,并预测市场可能会做什么,只要你有一种方法来估计不可知的东西,比如说将来有多少人想使用比特币来调解交易。这种经济建模非常值得去做,而且包含了非常大的信息,当然有些人今天做的很详细,但这个市场的详细经济模式超出了本文的范围。

标签:
发表评论
回顶部