01
离线终局性
收款方在没有网络的情况下当场决定。不是 store-and-forward 那种把风险推迟、日后由别人承担的做法——而是真正的、本地即终局的受理。
背景
“尚未知有其他系统”这类说法,值多少,全看它背后的检索值多少。所以下文给出的是标尺、资料来源和结果——一条一条列明。
七项属性,每一项都可单独判定,任何系统都能按它来量——学术构造、工业产品、中央银行试点、专利。前六项是可证伪的:只要举出一套同时满足全部六项的系统,这个论断就倒了。
01
收款方在没有网络的情况下当场决定。不是 store-and-forward 那种把风险推迟、日后由别人承担的做法——而是真正的、本地即终局的受理。
02
安全性论证不建立在用户设备内的防篡改部件之上。一部普通智能手机,不含安全硬件。可选地使用这样的部件是可以接受的;一旦离开芯片就站不住的论断则不行。
03
数字纸币离线继续前行,手手相传——在不回到发行方的前提下至少两跳。这正是电子货币卡与现金的区别:卡上的价值走到商户就停下了;纸币则继续走。
04
双重支付者的身份,可以从两笔支付的痕迹中以密码学方式还原出来。没有受信任的第三方去解封什么,也没有哪个机关来裁量——是数学把它算出来的,而且谁都可以核验。
05
系统精确点出最初的作弊者,而链条上其余每一位诚实成员都保住匿名——作弊者之前和之后的诚实持有者都不会被暴露,甚至不会招来怀疑。
06
一条形式化定理:针对诚实用户,无法构造出有效的双重支付证明——恶意发行方做不到,串通的链上参与者也做不到。文献中称之为 exculpability 或 non-frameability。正是这一点,把真正的可问责与单纯的可指控区分开来。
07
带版本号的规范、参考实现、可用的演示程序、实测的大小与实测的运行时间、明确的曲线选择、已上线的基础层,以及监管与赔付框架。一套在纸面上正确、却在收银台前无法使用的构造,不是支付系统。
对一把标尺,最常见的质疑是:作者是照着自己裁的。因此值得指出:一项完全独立的系统化研究,对第五项属性的衡量方式与此完全一致。2026 年 3 月的 SoK: Offline Payment Systems(因斯布鲁克大学、维也纳大学、SBA Research;arXiv:2603.16320,三十六套系统)有一列叫“privacy revocation”,其定义是:若撤销仅在双重支付的情形下发生,记为 DS;若诚实用户的隐私可能作为侦测双重支付者的副作用被无意撤销,记为 U。作者们把 U 标成红色,视为明确不可取的属性。在具备完整离线能力的系统中,恰好有两套得到 U——正是上文标尺所举的那两套反例构造。这条判准并非 Pactena 的发明。
四十年,一项一项来,每项都写清它带来了什么、代价是什么。按顺序读下来,这条脉络有一个形状:每一步赢得一项属性,都在别处付了钱。
1982
Chaum:盲签名。
匿名数字现金的构想,而且构造优雅到至今仍是根基。
必须联网。商户在每一笔支付时都得问一次银行,才知道这张纸币是不是已经花过。离线无法使用,也没有转手。
1988
Chaum–Fiat–Naor:离线电子现金。
自我暴露式双重支付就此诞生。付款人的身份被编入纸币:付一次什么都看不出来,付两次银行就能算出作弊者的名字。
只有一跳。用户付给商户,商户存入。没有手手相传。还有一点值得说准确:这篇论文并不包含关于“阻止”的不可能性证明。它包含的是一个设计决定——之所以建立在侦测而非阻止之上,是因为离线环境下阻止无法做到。
1990–1992
Okamoto–Ohta:第一套可转移电子现金。
钱可以在任意多个用户之间继续流转。
匿名性是弱的。即便完全没有双重支付,也能判定两笔支付是否出自同一个用户。文献后来把这称作 weak anonymity。
1993
Chaum–Pedersen:一个否定性结果。
证明了转手中的纸币每交接一次必然变大,而且资源无限的观察者总能认出自己此前持有过的纸币。
这条定理笼罩着其后的整条脉络。任何可转移构造都得按跳数付钱。唯一悬着的问题是付多少。
2005
Camenisch–Hohenberger–Lysyanskaya:Compact E-Cash。
取款效率上的突破——一次操作取出许多张纸币,占用很小。此后一直是被广泛使用的构件。
不可转移。用户到商户,路就到头了。
2008
Canard–Gouget:形式化模型。
第一次对可转移现金的各种匿名性概念作形式化梳理,并证明了可设想的最强概念是达不到的。他们还给出一套满足所有可达属性的构造。
用文献自己的话说,“completely impractical”(完全不切实际)——它建立在通用的复杂性理论归约之上,因此是概念验证,而不是能造出来的系统。
2009
Fuchsbauer、Vergnaud 及合著者:大小恒定的可转移现金。
巧妙地绕过了增长下界:链条的历史不放在纸币里,而是存进用户手中的收据。大小保持恒定。
这是整个故事里最有教益的一笔代价。发生双重支付时,一个受信任的追踪方可以揭出那些诚实持有者的身份——被污染的纸币后来正是经他们之手流转,无辜者替有罪者付了账,哪怕只是在一个特权方面前。公平起见有两点要说明:匿名性并非公开丧失,只是对那个受信任方丧失,而且过程是交互式的,需要向用户索取收据。按上文的标尺,这项属性仍然不成立:诚实持有者被识别出来了,也招来了怀疑。
2011
Blazy 及合著者:带“法官”的匿名性。
修补了前一项工作的缺陷,把诚实用户的匿名性还了回来。
但它需要一位无所不见的“法官”。那把密钥不只用来指认作弊者:有了它,任何一张纸币、任何一个用户,随时都能被追踪。代价没有降低,只是换了形状——一把密钥,就能把整个系统的匿名性打开。
2015
Baldimtsi–Chase–Fuchsbauer–Kohlweiss:完全匿名的可转移现金。
第一套在没有受信任第三方的前提下,同时瞄准文献中三种匿名性概念的构造。作者们这样描述设计目标:“it needs to ensure that the right user is accused while the anonymity of honest owners … will be preserved”(必须确保被指控的正是那个该被指控的用户,同时诚实持有者的匿名性……得以保全)——实质上就是上文标尺的第五项,来自 2015 年。
有两笔代价。最强匿名性概念的那个证明后来被发现有误——发现者正是下一章的作者们。另一笔是文献自己的评价:“hardly practical”(谈不上实用),而那些构件“far from being implementable on constrained mobile devices”(远远谈不上能在资源受限的移动设备上实现)。
2021 年,Balthazar Bauer、Georg Fuchsbauer 与 Chen Qian 在 PKC 会议上发表了 Transferable E-Cash: A Cleaner Model and the First Practical Instantiation。他们的构造满足全部六项可证伪属性:离线终局性、不依赖硬件信任、转手深度不设上限、自我暴露的双重支付、不伤及无辜的归因,以及一条形式化的不可栽赃定理——最后这一条同时针对恶意银行与串通的链上参与者。文献中的三种匿名性概念全部得到证明,包括最强的那一种。2026 年那项独立的系统化研究也确认了这一点,把它们归到“只在双重支付的情形下”那一侧。
所以,这组属性的可实现性是他们证明的。这一点无可争议。指明概念的来源,并准确指明在此之上添加了什么,才使本页其余部分可供核查。
至于没有做的部分,那纯粹是事实层面的一类,共三项:没有公开的实现,没有实测运行时间,也没有曲线选择。三个独立来源可以佐证——一篇引用该工作的 ACNS 2026 论文(“the performance of Bauer et al. is not reported”)、2026 年 SoK 的表格(其中实现、每秒交易数与延迟三格皆空),以及第一作者本人的博士论文——在其全文中检索运行时间、字节大小、原型或曲线,均无实质结果。
We view this as practical by current standards.
| 指标 | Bauer–Fuchsbauer–Qian 2021 | Pactena v8 |
|---|---|---|
| 取款后交到收款人手里的支付数据包 | 19,248 字节 | ~456 字节 |
| 每次转手的增量 | +7,392 字节 | +48 字节 |
| 最深的链条 | 深度不设上限 | ~956 字节(十跳) |
| 离线验证 | 未实测 | ~12 ms |
| 实现、基准测试、曲线选择 | 均未公开 | 参考实现与可用的演示程序 |
表中的数字来自论文的效率分析,该分析以抽象的群元素个数给出大小。换算到作者们自己考察的那条曲线上——引用该工作的文献也做过同样的换算,结果一致——这些个数便得出上面的字节数。他们的纸币刚出来时大约十九千字节,每交接一次增加大约七千字节;走完十步的链条之后,量级在九十千字节上下。这不是作者的失误:这是最强匿名性概念的价钱,他们有意承担,并在论文中作了说明。比较之所以落在支付数据包而不是证明上,是因为他们的有罪证明是 96 字节,且不随深度增长——若按证明大小来量,两套系统将无从分辨。
差异在于两处刻意的取舍。Pactena 的转手深度是有上限的——十跳,且为可配置参数——他们的则不设限。Pactena 的隐私是交易层面的,并在发行方边界上分舱,而不是系统级的:商户不知道是谁付的款;收款人核验的是眼前的对手方,对更早的持有者一无所知;发行方只认得自己的客户,外加需要与之清算的那家发行方。链条中间的用户,对谁都不暴露。文献中最强的匿名性概念还要求发行方连自己的发行都无法追踪;在一个受监管、以 KYC 为基础的系统里,这既无必要,也不可取,因为发行方边界上要的恰恰是可问责。这笔取舍的代价是可以量度的:Pactena 的支付数据包每次转手增加 48 字节,而不是七千字节。Bauer、Fuchsbauer 与 Qian 证明了这件事可以做到;Pactena 证明了它可以落地交付。
1990 年代确实有过离线数字现金,在许多国家、以相当的规模运行。这一段是大多数叙述会略过的,而今天的局面,恰恰要从这里才看得懂。
1990 年代
DigiCash / eCash——Chaum 的公司。
证明了匿名数字支付行得通,在一台普通个人计算机上,不需要安全硬件。
在实际交付的产品里,银行对每一张纸币都做联网验证;离线模式始终停留在“future extension”(日后的扩展)。公司于 1998 年破产。
1992–1995
CAFE——欧盟 ESPRIT 项目,Chaum 参与其中。
那个时期最精致的构造——也是那个时期唯一具备密码学作弊者识别能力的构造:“Even if the tamper-resistance is broken, users who spend electronic money more than once are identified, and the identity of the user whose guardian was used for this fraud can be proved.”(即便防篡改机制被攻破,多次花用电子货币的用户仍可被识别,并且可以证明其设备被用于此项欺诈的那个用户的身份。)早在 1994 年,作者们就已看清:要紧的是能在法庭上站得住的可证明性,而不是单纯的侦测。
用项目自己的话说:“it allows just one transfer of the electronic money”(电子货币只允许转手一次)。一跳。没有链条。项目于 1995 年 11 月按计划结项,始终没有成为产品。
1990 年代
Mondex——NatWest,后归 Mastercard。
卡对卡,离线,手手相传,中间不经清算——在它的时代,是唯一能把链条做到不设长度上限的系统。持有 ITSEC E6 认证、形式化安全模型,并在十几个国家实际运行过。
信任搬进了芯片。卡片并不证明没有人作弊,它依赖的是作弊做不到。没有作弊者识别:卡上只存最近十笔交易,不存在全局审计轨迹。当时的批评说的正是这一点。最后一个市场于 2008 年关闭。
1996–2020 年代
GeldKarte、Octopus、Proton、Chipknip、Danmønt、Quick、Moneo、Visa Cash。
可用且普及的离线支付,在多个国家,有些持续运行了数十年。
它们全都建立在防篡改芯片卡之上。用户之间的转移要么被明确排除——德国 GeldKarte 的文档专辟一节讲“Nichtübertragbarkeit von Guthaben”(余额不可转让)这一原则——要么经由联网应用完成,Octopus 便是如此。没有一个具备密码学的作弊者识别;滥用由中央影子账户和黑名单来处理。
2020 年代
各国中央银行:数字欧元的离线层、e-CNY、UPI Lite X、e-krona 试点、数字英镑、BIS Project Polaris。
在真实、大流量的系统中实现离线支付,处于受监管环境,有些还支持不止一跳。
安全锚点无一例外是用户设备内的芯片,而作弊者识别要么缺席,要么走的是机构途径而非密码学途径。在 Bank of England 2025 年的实验中,五家供应商全部使用了安全元件;Riksbank 尝试过只基于手机的设计,并以书面形式否决了它。
两条规律,四十年一以贯之。凡是认真对待离线支付的地方,底下都垫了硬件。凡是改选数学的地方,要么什么也没交付出来,要么由诚实的人替作弊者付出代价。没有任何一套历史系统同时做到多跳离线链条与密码学的作弊者识别:Mondex 有链条,没有识别;CAFE 有识别,没有链条。
还有最有分量的一条历史注脚。2022 年,David Chaum 本人重新回到离线、手手相传的支付上时,转而求助于一张实体卡,并写道:“Solutions relying only on software, including previous proposals by the present author, do not provide strong assurance of finality.”(仅依赖软件的方案——包括本文作者此前的提议——无法为终局性提供有力保证。)这句引文是双刃的,两种读法都该摆在这里。一种读法是:这一领域的开创者亲口说,纯软件的路子此前没有人走通。另一种读法是:一位分量很重的权威断言,这条路走不通。第二种读法是一个严肃的挑战——正因为如此,Pactena 的构造是被量过的,而不只是被设计出来的。
“没有找到别的”这类说法,值多少,全看背后的检索值多少。因此这里逐一列出资料来源,并说明每一处查到了什么程度。
第二轮和第三轮检索,对前六项属性没有再带出任何新的发现。检索已经饱和。
关于数字货币与离线支付本身的引述。
Each faces open challenges: complete reliance on trusted hardware, the deanonymisation of honest users in the case of double-spending, or growing transactions with each offline payment. To date, no system providing offline functionality has been implemented.
(每一套都面对未解的难题:完全依赖可信硬件、双重支付发生时诚实用户被去匿名化,或者交易数据随每一笔离线支付而增长。迄今为止,尚无任何具备离线功能的系统被实现出来。)
In a fully offline setting without secure hardware, double-spending cannot be prevented. … [The multi-hop mode] hinges entirely on the security of the hardware.
(在没有安全硬件的完全离线环境中,双重支付无法被阻止。……[多跳模式]完全取决于硬件的安全性。)
Local storage settlement model — a settlement model referring to secure element (SE) in the digital euro user's devices performing the technical tasks of verification and registration of holdings…
(本地存储结算模型——一种结算模型,指由数字欧元用户设备中的安全元件(SE)承担余额验证与登记的技术任务……)
All solutions used secure elements to support double spend and counterfeit prevention or to protect cryptographic key information.
(所有方案都使用了安全元件,用以支持防范双重支付与伪造,或保护密码学密钥信息。)
This was not possible as our assessment is that it was not possible to achieve adequate safety. We therefore chose to base the offline solution solely on cards.
(这做不到,因为我们的评估认为无法达到足够的安全性。因此我们选择把离线方案完全建立在卡片之上。)
Any solution will depend on the tamper resistance of the user device to protect against physical and cyber attacks.
(任何方案都将依赖用户设备的防篡改能力,以抵御物理攻击与网络攻击。)
还有两句话,正好描摹出整项研究所针对的那个表面上的两难。BIS:“if there are no links between devices and user identity, there would be no way to identify potentially malicious users even if malicious devices can be blocked in the system.”(如果设备与用户身份之间没有关联,即便系统能够封禁恶意设备,也无从识别可能的恶意用户。) Bank of England:“if double spending were to occur, there would be no way of knowing which device initiated it.”(如果发生双重支付,将无从得知是哪一台设备发起的。)
2026 年,中央银行这一侧仍把匿名性与作弊者识别当作互斥的两件事。密码学文献自 2021 年起就知道并非如此。缺的是一套能够落地交付的实例。
这组属性在密码学上的可实现性,是由学术文献确立的——2015 年的 Baldimtsi–Chase–Fuchsbauer–Kohlweiss,与 2021 年的 Bauer–Fuchsbauer–Qian。这一点无可争议。Pactena 添加的,是创新与落地实现:实测的大小、实测的验证时间、参考实现与可用的演示程序,跑在一部普通手机上,不含安全硬件。交到收款人手里的支付数据包,刚发行时约 456 字节,在最深的链条上约 956 字节,验证耗时约 12 ms。
转手深度刻意限制在十跳,同时保住隐私。支付层的外部密码学评审正在进行中;结果将予以公布。规范已经完整。
截至 2026 年 8 月,尚未知有其他公开记载、可实际运行的支付系统,能以已实现、已实测的形式同时提供这一组属性。
这项调研持续进行。如果您知道这样的系统,我们非常希望能够了解。