Chaumian eCash 是源于 David Chaum 研究的一类数字现金系统。钱包是保存和使用数字币的应用。它从通常称为 mint 的发行服务取得带有盲签名的数字币。数学上的遮蔽将某枚币的发行与后续使用分开。但发行方仍负责接受或兑付这些币;在常见的在线系统中,它也负责防止同一枚币被重复花费。
安娜打开普通支付应用时,看到的余额通常是运营方为她记录的账户数字。使用 eCash 时,她可以直接持有代表价值的数字凭证,也就是这里所说的币或代币。凭证包含数据和软件利用发行方的秘密数据计算出的认证信息,并不是金属硬币,也不必然是一种新加密货币。目标是让支付更接近现金:每次小额消费都不必留下容易串联到付款人的记录。早在 Bitcoin 出现之前,David Chaum 就开始探索这个想法,他创办的 DigiCash 则尝试将其付诸实践。 [1] [3]
发行服务常被称为 mint,中文通常叫铸币厂。这里指的是服务,而不是冲压金属的机器。例如,安娜向它转入资金,钱包便获得相应的数字币。在与 Bitcoin 相关的系统中,金额可以用 sats 表示,即 satoshi,也就是 Bitcoin 的最小单位。关键问题是:支撑这些币的真实资金由谁保管?如果资金在 mint 手中,安娜持有的就是对它的兑付请求权,而不是仅由自己私钥控制的 bitcoin。私钥是签署 Bitcoin 转账所需的秘密数据。屏幕上相同的 sats 余额,背后可能是完全不同的保管方式。 [8] [6] [7]
钱包先为新币生成随机秘密数据,再用数学方法把这些数据遮蔽起来。发行方能看到申请的面额,并检查是否有权发行,但看不到被隐藏的原始数据。完成签名后,钱包去掉遮蔽,认证仍然有效。这就是 blind signature,也叫盲签名。可以把它想成给不透明信封里的纸条盖上可验证的印章,只不过实际保证来自数学。要点在于:正确执行的签名本身不会让发行方知道,后来收到的这枚币对应之前哪次提取。各系统使用的签名及验证方法并不完全相同。 [1] [3] [8]
安娜通过消息把代币发给彼得。彼得确实拿到了所需数据,但安娜也可能留着同一份数据的副本。因此在 Cashu 中,收款钱包会向 mint 申请,把收到的币换成由收款人准备的新币。mint 作废旧币,再发行新币。只有交换成功完成,付款人才无法继续花费自己保留的旧币副本。这个过程还可以切断新币与交回旧币之间的关联。所以,一张二维码图片或消息已送达的绿色标记,都不能证明收款人已经安全掌握了这笔价值。 [8] [9]
Double spend 指试图把同一笔价值花费多次。在线 mint 记录已经使用过的币的数据,拒绝再次使用,以阻止用户简单复制钱。但这份数据库本身并不能证明发行方持有足够储备,也不能证明它没有额外发行无储备支持的币。必须把防范用户作弊与信任运营方分开。即使币的密码学认证有效,也不代表你看到了发行方的储备账目。如果发行方不再配合,持有人可能拿着有效代币,却换不回资金。 [2] [6] [8]
两部手机离线传递数据是一回事,可靠确认这些数据没有同时在别处被花费,则是另一回事。有些方法能离线验证签名来源,但这本身无法确认币当前是否已被使用。Chaum、Amos Fiat 和 Moni Naor 的早期研究还描述过一种离线现金:重复花费可能在事后暴露作弊者。但这不意味着今天每个钱包都采用这个机制。因此,看到“离线支付”时,应区分数据传递、真实性验证和防止重复花费这三件事。 [2] [10]
钱包不必为每一种可能的金额都准备一枚币。它可以组合不同面额,也可以按需交换。假设余额是 500 sats,要支付 300 sats。暂不计手续费,安娜希望准备总额为 300 sats 的币发送出去,留下 200 sats。如果现有面额凑不出来,Cashu 允许向 mint 申请交换,用新币替换旧币。这不是汇率转换,也不会因为换零而获得收益。实际手续费和支持的面额取决于具体系统的规则。 [8] [9]
盲签名限制了发行与花费之间的关联,但不会抹掉商家掌握的收货地址、应用登录信息、网络痕迹,或特别显眼的时间与金额组合。没有额外锁定条件的普通代币,通常是谁取得秘密数据,谁就能花费。因此公开代币不同于公布收款地址。同样,也不能假定钱包备份能解决所有问题。例如,Cashu 的恢复可能既需要备份词,也需要 mint 配合。备份无法取回已经被他人花掉的价值,更无法补上发行方缺失的储备。 [3] [11] [12]
GNU Taler 用盲签名保护顾客,同时保留商家收入的可审计性,因此并非要把所有参与者的一切活动都隐藏起来。Cashu 为 Bitcoin 电子现金提供带有 mint 的协议。Fedimint 则将管理分给一个由多名管理者组成的联盟,避免由单个人控制资金。但足够多的管理者合谋,仍可能危及保管的资金或发行没有储备支持的币。联盟改变的是信任如何分配,并没有消除信任。不能仅因这些项目使用相近的密码学思想,就把它们视为同一种系统。 [4] [5] [6] [13]
Bitcoin 网络按照共同规则验证转账,不依赖中央发行方,但交易历史是公开的。eCash 可以把一部分支付放到发行方提供的、更注重隐私的环境中,并通过 Lightning Network 等方式与 Bitcoin 连接。Lightning Network 是利用支付通道实现快速支付的网络。通道参与者更新预先存入的 bitcoin 在双方之间的分配,不必把每笔支付都记入 Bitcoin 的公开历史。不过,通过 Lightning 存入或取出资金,并不会自动把 mint 的代币变成由自己保管的 bitcoin。入门时,先问三个问题就够了:谁持有底层资金,谁能拒绝兑付,谁能看到哪些支付信息?把答案放在一起,才能准确理解某种 eCash 实际提供了什么。 [6] [7] [13] [14]
要获得更完整的理解,请将本词条与以下词条结合阅读: David Chaum, Blind Signature, DigiCash, Cashu, Fedimint, 双重支付. 反向关联还来自: DigiCash, Reusable Proofs of Work, The Crypto Anarchist Manifesto, Blind Signature.