《比特币一个虚幻而真实的金融世界全集.com》第33/37页
比特币的P2P支付结算系统已经安全建立,可以实现可靠的、近乎免费的转账,比特币网络(协议)本身是安全、稳定的,但比特币生态的服务提供商(比如汇率市场)却多次被黑客攻击,损害了比特币的声誉和交易价值。有没有一种办法可以利用安全可靠的比特币自身协议创建分布式的汇兑交易呢?
BitcoinX就是这样一个基于比特币的开放标准协议,用来规范互联网的价值交易。基于BitcoinX协议,你不但可以在分布式、安全的云平台上持有比特币,还可以持有黄金、欧元、美元和各种证券资产。这意味着人们可以使用金融工具自由交易,如果某个节点G持有黄金,另一个节点E持有欧元,它们可以以一种安全、透明、直接的方式相互兑换,而不需要第三方的介入。
BitcoinX的设计思想是将比特币网络(技术)与货币价值分割开来,并使用比特币网络技术明晰交易来路以避免重复消费。通过创世转账建立一个新货币(即彩色币),创世转账是指一定量的比特币转账,这些比特币金额将用来赋予所有这种新货币价值。这一定量比特币发送到的那个地址就是新货币的起源地址,它将控制新货币的初始分配。
彩色币客户端就是通过一种特殊的方法计算资金平衡的轻量级客户端。所有转账的最后一个地址就是客户端地址,我们抓取区块链,查看这些转账是否来自创世转账。如果是,我们用交易金额乘以初始分割率就可以得到用户余额。
初始分割:0.000 01BTC = 1 彩币(假设值)
彩色币客户端是分布式的,然后围绕特定的创世转账创建一个社区,这就创造了一个与比特币网络无关的独立的彩色币生态,这个小型经济生态的波动建立在对比特币的基础设施的利用之上。
由于彩色币也是普通比特币,所以它们也可以通过比特币网络从一个地址传送到另一个地址。因为我们有办法识别彩色币,所以它们相当于稀有货币,其价值取决于用户对这种稀有货币的需求,而与比特币价值无关。
彩色币怎样进行初始分配呢?在货币创世时,彩色币起源地址拥有该币的总体价值。在分配结束时,所有的货币价值将从起源地址转移到每个客户端。
在实际应用中,彩色币拥有者将不会知道货币总量有多少,拥有者也不必知道想参与他的经济的人有哪些。他可以建立一个邀请系统,每一个新的客户端都可以邀请其他客户端加入。实现这种技术还有很长的路要走,比如社交网络身份验证、社会图谱搜索、担保系统、短信验证、独特的IP地址(互联网协议地址)、物理识别等,这些方法可最大限度地减少初次分配中的欺诈。
零币
零币(Zerocoin)是一个比特币的建议扩展,它可实现真正意义上的匿名性。正如历史上纸币因可兑换黄金而建立了价值,零币也因可兑换比特币而建立起自己的价值。
比特币的交易记录是完全公开的,所有人都可以通过你的钱包地址在区块链中查询你的钱包现金流入与流出,并可向上追溯至这些比特币的终极起源,即区块生成后发送到的那个地址。这对个人隐私构成了极大威胁。
比特币协议为上述问题提供了两种解决方案:所有的比特币交易使用公共密钥,而无须个人身份证明,或比特币客户端可以生成无数个公共密钥,以帮助用户摆脱跟踪。然而,越来越多的研究表明,这些保护措施是不够的。如果通过一些社会工程学手段,使得某个比特币钱包的物理地址(如IP地址)暴露,再配以大数据分析,那么,资金的来龙去脉与关系网将无所遁形。在《大数据时代》一书中,作者用例子证明了大数据分析的威力:通过对美国在线2006年8月公布的2 000万匿名搜索查询记录的分析,《纽约书包》发现,数据库中的4417749号样本代表的是佐治亚州的一名妇女。
为此,约翰・霍普金斯大学的密码学研究小组在2013年5月的“IEEE(电气和电子工程师协会)安全和隐私大会”上提出了“零币模型”,主要提供一种洗币服务,用来混合比特币的交易历史。它创建一个与比特币区块链并行的匿名货币,以固定面额发行,任何用户都可以用比特币购买零币,这种交易是通过一种叫作“零币铸造”的特殊块链进行的。
一旦铸造交易被比特币节点接受,该用户就可把零币兑回比特币。他只需简单地把比特币接收地址(最好是新生成的)嵌入“花掉零币”的交易,然后发送到网络即可。如果交易被确认,比特币节点会将它视作一个正常的比特币转账。这意味着他的比特币接收地址将收到等额比特币(减去交易手续费)。
这个过程的关键在于,接收到的比特币与起初使用的比特币是毫无关联的。通过使用各种加密组件,包括数字签名和零知识证明,实现的效果是,不可能在数学上建立接收到的比特币与起初使用的比特币之间的联系。
合并挖矿
比特币区块链有几个替代用途,包括使用区块链作公证服务(比如,存在性证明把一个哈希分割成两个,并创建一个不可花费的输出),又比如小额支付和彩色币,也引发了对这些新协议加入比特币区块链的担心。
一个解决方案是创建其他区块链,如果该区块链是与比特币网络完全独立的,一个全新的哈希网络就诞生了。不过,若采用中本聪与比特币开发者迈克・赫恩最近讨论的“合并挖矿”(Merged Mining)的设想,则可允许区块链在同一网络同时挖不同的矿。
比特币工作量证明机制是指在矿工挖矿时,给区块补增一个随机数,并开展随机哈希运算,使得给定区块的哈希值开头含有一定数量的零。
假设对“message”(不含引号)进行SHA-256算法加密,你会得到:
ab530a13e45914982b79f9b7e3fba994cfd1f3fb22f71cea1afbf02b460c6d1d
现在开始加入数据,直到你得到一个以0开头的哈希:
1message daad0bc80059253928621a10365de153e335a18f03b9dc7e7e25897fb791f023
2message 6532f42bd1d6ccd00f47c133c3ca1a0fc852598e67c62eb31adab8ceb3aaa680
……
51message 0985e57510d017b177867168642543ab4f143333ad63782680e812251ab3141e
51次运算后得到了第一个有效的哈希。只要“51message”一发送,接收器可以迅速通过哈希运算来验证它是否符合要求。被添加的那部分数据(本例中的“51”)被称作随机数(nonce),关键在于该随机数可以是任何信息。
假设你在同时挖A币与B币,现在你有部分区块数据来自A币,部分区块数据来自B币,而且一个母随机数会不断改变,直到你找到一个区块。一旦你找到一个块,它就是一个对A币、B币同时有效的块链(假设两者的挖矿难度相等)。
同时哈希以下数据:
[A币区块数据|B币区块数据|公随机数]
当一个块被发现:
对A币广播区块>> [A币区块数据] +随机数= B币区块数据+母随机数]
对B币广播区块>> [B币区块数据] +随机数= A币区块数据+母随机数]
只要你愿意,你可以制造任意多的链。Slush矿池2011年就已经合并挖比特币与域名币。