近期,随着 Lightspark 的“Spark”系统整合,Satoshi 钱包宣布即将重返美国市场,引发了广泛争议。批评主要围绕其信任模型问题,以及新版 Satoshi 钱包是否符合非托管钱包的标准。
Spark 是一个基于状态链的系统,但状态链的信任模型存在一定的模糊性。简单来说,Spark 可以被视为状态链的通道工厂版本,其中多个状态链嵌套在由单个链上 UTXO 构建的交易树中。
状态链是一种第二层解决方案,允许整个 UTXO 在链下自由转移,不受流动性限制,但需要用户接受一定程度的信任权衡。具体而言,用户必须相信运营商(即服务提供商)会在每次状态链转移时删除私钥信息。
那么,什么才构成非托管?
第一个特性显然适用于状态链。类似于闪电网络通道,用户可以通过预签名交易在一定时间锁定期后取回资金,确保诚实结算。然而,第二个特性则存在争议。
状态链协议要求运营者和原始用户协作生成一个双方都无法完全知晓的密钥。他们可以利用各自的份额协作对用户的提现交易进行预签名。当原始用户将交易转移给其他人时,原始用户、新用户和运营者会协作“重新生成”相同的密钥,但新用户和运营者持有的份额不同。
在签署新用户的提现交易后,运营者应删除其与原用户产生的份额。这将阻止运营者与原用户签署新的交易,而新用户交易的较短时间锁定也确保了新用户能够在原用户之前使用其份额。
如果运营商未删除旧的密钥份额,他们可能与保留其密钥份额的过去用户合作窃取状态链中的资金。
如果运营者按规定行事,每次转移状态链时都删除旧的密钥份额,那么他们就不构成托管系统。实际上,他们无法与状态链当前合法所有者以外的任何人合作签署任何交易。预签名交易的递减时间锁机制保证了当前所有者可以总是在任何前任所有者之前确认其提款交易。
操作员甚至可以在 SGX 安全区域或其他安全计算环境中运行其软件,并让该安全区域强制执行软件的正确行为。它还可以提供证明(前提是用户相信该环境不会被破坏),供他人验证。
此外,运营者也有强烈的动机诚实地操作协议,因为这样他们无需遵守作为托管服务所带来的规定。
最终用户拥有单边提现交易的能力。该交易可在其所有权的时间锁到期后,以及前任所有者的时间锁到期前的任何时间使用。如果运营商停止响应或消失,用户也可以选择使用此选项。
然而,用户必须相信运营商正在诚实地操作协议并删除过去的密钥共享。他们没有办法真正验证这一点。如上所述,类似 SGX 飞地之类的系统可以处理运营商软件的安全性,并签署证明其正在运行诚实软件的证明。但这只是将信任点从运营商转移到 SGX 飞地的制造商英特尔身上。
即使与真正诚实的操作员打交道,用户也永远无法真正知道他们是诚实的。他们只能看到操作员已经诚实,并希望他们能继续保持这种诚实。
没有明确的答案。如果操作员实际上说实话,它符合上述所有非托管标准。用户可以无障碍地完全访问自己的资金,其他人无法阻止他们或窃取其资金。
问题是无法验证.
没有任何方法可以以无需信任的方式验证用户是否对自己的资金拥有无需信任的控制权。即使你确实拥有。
因此,将其标记为非托管存在问题,因为即使它是,用户也不可能真正验证它。但将其称为托管也存在问题,因为运营商无法在不与其他用户合作的情况下转移资金,并且当前用户拥有单边提现交易。这在工具分类方面造成了困境。
我不知道解决方案是什么,但我认为第一步是承认正在发生的技术现实,而不是因为自己的动机而贸然给事物贴上标签(为什么不创建一个新的类别呢?)。这类问题,尤其是在比特币协议更新极其缓慢的环境下,随着开发者们在比特币现有局限性的权衡中挣扎,将会变得更加频繁。
比特币是一种可编程货币,人们对其进行编程的方式并不总是符合我们预先定义的框架。