打字猴:1.703865984e+09
1703865984
1703865985 图4.5 负债证明
1703865986
1703865987 注:交易所构建这样一棵梅克尔树:每个储户对应一个叶节点,每个叶节点的存款金额字段保存储户存款金额。每个节点的存款金额字段等于与其最相近的两个子节点的存款金额之和,这样,根节点的存款金额字段就代表着存款总规模。每个储户都可以要求交易所证明该储户在梅克尔树上,并且可以核实根节点所显示的总存款规模。
1703865988
1703865989 交易所构建完梅克尔树之后,把根节点的哈希指针和根节点的存款金额字段进行加密签名,然后在网络上广播。根节点的存款金额字段自然就是存款总规模——也就是我们最关心的数据。此外,交易所还需要声明所有储户都可以对应到叶节点上,而且所有储户的存款数据都是正确的,并且每个父节点在加总子节点的存款数据时也没有出现差错,因此,根节点的存款金额字段正确无误地说明了存款总规模。
1703865990
1703865991 现在,每个客户都可以向交易所索取存款证明,交易所也必须向储户出具相应证明。这种证明实际上就是一棵包含该客户所对应的节点的子树,子树应包括根节点和叶节点,如图4.6所示,之后,客户可以核实以下几点:
1703865992
1703865993 1.子树根节点的哈希指针和存款金额字段,与交易所广播的值一致。
1703865994
1703865995 2.从子树的根节点遍历到叶节点,每个节点对应的哈希值确实是其所指向的子节点的哈希值。
1703865996
1703865997 3.每个叶节点对应的客户账号信息(客户名、账号和存款金额)都是正确无误的。
1703865998
1703865999 4.每个节点的存款金额字段正好等于与其最相近的子节点的存款金额之和。
1703866000
1703866001
1703866002
1703866003
1703866004 图4.6 以梅克尔树(子树)的形式提供存款证明
1703866005
1703866006 注:子树包含叶节点、根节点和之间的所有子节点及其兄弟节点。
1703866007
1703866008 上述做法的优点在于,二叉树的每个分支都会被遍历一遍,而且,总有人会核实每个节点的存款金额字段恰恰等于与其相邻的两个子节点的存款金额之和。关键的是,不同的客户获得的子树中,如果有相同的节点,那么这些节点的哈希值以及存款金额字段也必定是相同的,否则就会产生哈希碰撞(hash collision)。
1703866009
1703866010 我们总结一下。首先,交易所为了证明其留存了X比特币的准备金,发起了一笔向自己转账的交易,转账金额为X个比特币,并且在网络上广播这笔交易。之后,交易所证明其吸收的存款规模不少于Y比特币。这样,我们就知道这个交易所的准备金比例至少是X/Y。这意味着,如果一个比特币交易所想向人们证明自己的准备金比例是25%,可以通过上述方法让所有人都可能对此进行独立审计,而不是依靠中央权威机构来验证。
1703866011
1703866012 你也许发现了上述两种方法(存款证明和负债证明)泄露了很多私密信息,其中包括很多敏感信息,例如交易所使用的账户、存款准备金总规模以及交易所总负债规模,甚至是储户的个人账户余额等。实际上,交易所并不愿意公布这些信息,因此在实际应用中,存款准备金证明用得很少。
1703866013
1703866014 最近推出的一个被称为“准备金”(provision)的协议,也可以提供偿付能力证明,而且不需要披露总负债和总的存款准备金规模,也不需要披露正在使用的账户地址。该协议使用的加密技术更加先进,在此不深入讨论。但是这个技术又一次证明,加密技术能够帮助保护隐私。
1703866015
1703866016 偿付能力是一项可以执行的监管措施(比特币交易所可以自主选择遵守),其他方面的监管措施则更难执行,请参见第7章。
1703866017
1703866018
1703866019
1703866020
1703866021 区块链技术驱动金融:数字货币与智能合约技术 [:1703863930]
1703866022 区块链技术驱动金融:数字货币与智能合约技术 4.5 支付服务
1703866023
1703866024 到目前为止,我们讨论了如何存储和管理比特币。现在我们来讨论一下商户——无论是电商还是实体店——如何接受比特币付款。通常,商户接受比特币付款只是为了满足客户使用比特币支付的需求,其实商户并不愿意持有比特币,因此他们需要快速地把比特币换成法币。对于商户来说,他们希望这个过程——收款和兑换——可以尽可能简便地实现,最好是不需要了解太多技术细节。例如,不需要对他们现有的网站大动干戈,或重新购置支付设备。
1703866025
1703866026 商户还希望整个过程是低风险的。实际上,商户接受比特币付款可能面临多种风险。例如,使用新技术可能使他们的网站崩溃而造成损失;使用比特币还可能存在安全风险,黑客可能攻破商户的在线钱包,或者雇员可能携比特币潜逃;最后,比特币还可能有汇率风险——比特币的汇率随时间波动很大。对一个商户而言,如果他的比萨定价是12美元,那么每卖出一张比萨,商户希望收到的钱是12美元,如果他接受比特币付款,那么他会希望比特币的价格不要出现太大的波动,他要保证所收到的比特币能兑换回来12美元。
1703866027
1703866028 支付服务商就在这种背景下发展起来了,可以同时满足客户和商户的需求。
1703866029
1703866030 站在商户的角度,客户用比特币支付的整个流程如下:
1703866031
1703866032 1.商户登录支付服务网站,如图4.7所示(图来自比特币基地公司的网站界面,译者翻译),按照网站的要求,填写商品名称、数量、商品描述、收款账户等信息。
1703866033
[ 上一页 ]  [ :1.703865984e+09 ]  [ 下一页 ]