查看原文
其他

比特币史话·95 | 隐私(2): 比特硬币

刘教链 刘教链 2023-01-30

(鲁道夫·克劳修斯,德国物理学家。图片来源于网络)
前情回顾:
比特币史话·90 | 随机(4): 香农熵
比特币史话·91 | 随机(5): 生日攻击
比特币史话·92 | 随机(6): 可验证随机性
比特币史话·93 | 随机(7): 投机
比特币史话·94 | 隐私(1): 抽刀断水

正文:

在中本聪的隐私模型里,杜绝隐私泄露、解决隐私保护问题的关键在于从源头上就坚决阻断对于隐私信息的获取。通过使用与现实身份无关的、随机的地址,让比特币地址的随机性切断个人隐私信息和线上交易数据之间的联系。如果隐私信息在一开始就没有被收集和存储,那么显然也就不容易被泄露或滥用了。

中本聪在2009年5月25日论坛中关于“比特币的匿名性如何?”的讨论中发表了这样的回复[1]:

“比特币发送到以及发送自比特币地址,地址实质上是随机数,不含身份识别信息。”

他继续写道,“区块包含了收币地址的历史。如果比特币地址使用者的身份不明,并且每个地址只用一次,那么这个信息就只会表明某个未知者给另一个人转了一个数额。”

“匿名还是化名的可能性取决于你不透露关于你的任何身份识别信息并将其与你所用的比特币地址联系起来。如果你在网上发布你的比特币地址,那么你就会把你发帖所用的名字和该地址及其任何交易关联起来。如果你用一个和你的真实身份无关的称呼发帖,那么你仍然可以保持化名性。”

之后中本聪给出了他的建议,“为了获得更好的隐私性,一个比特币地址最好只用一次。”

在2010年7月17日论坛中关于“隐私和安全:处理找零问题”的话题中,中本聪在跟帖中这样写道[2]:

“我们应当在钱包中排满一批预先创建的地址,以便在需要新地址时使用。它们(的数据量)不是太大,因此生成很多地址并没有什么坏处。这通常也能覆盖下述的情况,即某人备份之后再请求一个新地址用来收取一大笔付款。也许应该有单独的队列,这样一类需求的地址不会用光其他需求的地址。”

“地址可以被创建和保存在常规的位置,但是仍然会在一个叫做「创建了但从未使用过的地址」的列表中列出。当请求一个地址时,在未使用地址队列最前面的地址将被提供出来,同时一个新地址会被创建出来并添加到队列的最后面。”

借由比特币钱包软件的帮助,用户可以很方便地生成全新的地址,每次交易都换用一个地址,确保每个地址都只用一次,以得到最佳的隐私保护。

和大家平常所熟悉的“账户-余额”模型不同,比特币采用的是“硬币”模型。每一枚硬币都有一个面值,以“聪”(satoshi)为单位,实实在在地存在于比特币的区块链上。虽然硬币不必然都被发送到某一个地址,因为本质上它们都是处于“半个”比特币脚本,也就是所谓的智能合约的控制之下,但是大部分的硬币还是处于由一人单独或多人共同控制的地址之下的,所以“硬币”模型也可以勉强称之为“地址-硬币”模型。硬币有两种,一种是已经被花掉了的,另一种则是没有被花掉的,后一种就是所谓的“未花交易输出”,缩写为UTXO (Unspent Transaction Output)。

比特币不是对银行账本的拙劣模仿,而是对物理硬币的数字再生。比特硬币是一种纯粹的、自然的、独立的存在,和使用者的身份无关,不要求、也不附着任何个人隐私信息。

与物理硬币不同,比特硬币的面额是任意的。比如,高度650,256的区块中有一个地址3F3VrR...收到一枚硬币,面额是0.58708比特币,即58,708,000聪。面额不是余额。这枚硬币一旦生成,面额就不可以再被更改。这个地址的私钥拥有者或者完整持有这枚硬币,或者把它整个儿花掉,而不可以只花掉这个硬币的一部分。

当然也可以继续发送更多硬币到同一个地址。但是请注意,那只会是一枚新的硬币,比如面额0.1比特币。

那么,如果某次交易只需要0.15比特币,而持有人希望用上面的0.58708比特币的硬币进行支付,应该如何进行呢?这就需要用到中本聪所设计的“合币”和“拆币”的技术了。

【未完待续】(公众号:刘教链)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存