电子货币 30 年:从电子货币到区块链
世界范围内密码货币十分火爆,密码货币的诞生引入很多有意思的方向,但现在正在发生的事情是我们正在部署应用密码学技术,让世界更加美好。
TLS 协议的广泛应用,我们在真实系统中寻找后门,看到不同种类的密码攻击方式,有很多有意思的事情正在发生,我们观察很多有意思的事情正在发生,当我们观察新密码技术的发展速度和趋势变化的时候,没有一门技术能像密码货币对新密码学技术的推动力度大。我们回到过去,再展望未来,聊一聊电子货币领域到底哪里做错了。为什么直到 2008 年,我们才有现在的密码货币。
为什么要讨论货币,是因为最近发生一些有趣的事情,我们失去了对 " 密码 " 这个词汇的正确理解。密码和货币在一起,就丢失了它本身的意思。密码货币中的密码和真正的密码并不是一回事。但是,很显然密码货币在用一种直观的方式影响人们对密码的理解,我猜测这里面可能包含另一个有意思的原因。
密码货币已经引入了大量的资金,大量的热情,大量的兴趣,以太币价格暴涨暴跌。这对世界上非币圈的其他人来说,发生这种事也挺有意思的。但不管如何,密码货币已经吸引了整个领域的关注。
这是个好的现象,也是个不好的现象好处。
让大多数人借助密码货币了解密码学知识,虽然不是最有意思的密码学知识。密码货币的火爆,让我们尝试进一步的设计并部署有趣新颖的密码方案。过去几年我们开始更多的使用安全多方计算技术,使用零知识证明,以及其它一些过去提出的一些具有特殊功能的密码学技术。
不好的现象是,我们盯紧密码货币设计密码方案,所以也仅仅是针对密码货币,密码货币扭曲了密码学的研究方向,从某种角度讲,这不是好事,这会出问题的。
电子货币发展的历史:1980-2007
为了理解 1980 年代或 1970 年代,支付系统领域这一研究方向到底发生了什么。
我们需要知道的就是,1970-1980 是有银行这一基础设施的,银行业务不是问题,数据库技术已经出现 ( 数据库技术产生于 20 世纪 60 年代末,70 年代初 ) ,我们已经有了一系列数据库相关的系统可以为不同的用户建立账户,管理收支账本。我们可以使用最标准的方式更新,管理数据库中的账本,因此银行业务没有问题,但我们需要解决的是:零售支付问题。
我们需要解决的是客户与商家 ( allows payments between customer and merchats,c2m ) ,客户与客户 ( between individual customers,c2c ) 之间的独立的小额支付的问题。
讲到这一类支付的研究方向,我们就需要讲讲密码支付方式了。我们需要支付方式具有很高的安全性保证,可能是密码学层面的安全保证。但这又面临隐私的问题,需要解决一系列问题才能让这种支付方式安全运转起来。
首先为了建立任意一种数字支付方式,我们就需要解决双重支付问题,双重支付是个很重要的问题,如果你拥有的数字货币,只要不是量子货币,其他任何的数字货币都可以直接被复制,这意味着你可以花费两次相同的货币。
所以我们需要建立一个系统,解决双重支付的问题,或者可以追踪哪位用户进行了双重支付。如果你想建立这样的一个系统,而支付方式是货币,那我们的系统还需要保证交易双方,或系统其他参与方的隐私不会被泄露,支付过程中,双方不应该留下太多的相关信息,我们还需要解决如何让资金流入这个系统,如何与银行建立联系,这才能让资金流转起来。
在密码学的社区中,学者们将大多数的精力都投入到电子货币这个领域中。
Chaum 早在 1982 年就发表了相关的论文,而被引用却被标注在 1983 年,Chaum , Fiat , Naro 进一步发表了论文。我相信大部分人都读过电子货币这篇论文,至少了解过基于盲签名的电子货币,所有这些电子货币的架构都非常相似。我们有一个货币模型,在此模型上构建隐私保护方案,此模型中,隐私是个问题,学者们希望在这个研究方向上解决隐私问题。在这个系统中,任何人都想用法币换取代币或一组代币,而我们最终要做的都是:发现双重支付,保护用户隐私。
1983 年 Chaum 在 CRYPTO 会议上发表的论文,这应该是我们能建立的最简单的电子货币系统了。为了得到资金,外部的银行拥有一个签名密钥,银行用 RSA 签名方案对一串序号进行盲签,支付方拥有这串序号,他们会从签名中提取出这串序号并发给商家,最终商家会把这串序号和签名结果展示给银行,银行可以验证这串之前是否被自己签署过。
2005 年 Camenish , Hohenberger 和 Lysyanskaya 的论文发表于欧密会,他们在方案中引入了非常强力的密码技术,不过整体方案的架构是完全相同的。CHL 方案应用了更加强有力的密码技术。左下方有 PRF,我们可以利用 PRF 把所有的货币都放在一个钱包里,之前的方案只能放一个货币。银行不再签署一串序列号了,银行要对 PRF 的密钥进行签名。对方要应用 PRF 和计数器来计算的到的序列号,然后支付方要应用 NIZK 在不泄露自己隐私的条件下提供证明,支付方要把 NIZK 的结果发送给商家,这个方案更好,效率更高,但系统架构是完全一致的,没有任何 新的改变,这是 Chaum 的论文发表之后过了 20 年的研究成果。
这么长时间内,学者们没有从根本上改变电子货币的基础架构,围绕电子货币领域,学者们完成了大量的研究工作。在 google 学术上索 "electronic cash" 一词,得到了 35,000 个结果,我不知道是否真的发表出 35,000 个研究成果,但至少证明很多论文都涉及到这个领域,从不同角度对方案进行改进 。
我们有在线 / 离线方案 ( online/offline scheme ) ,我们有通过可信硬件的方案 ( tamper-resistant storage ) , 当某个用后进行双重支付时,有个方案可以恢复出这个用户的身份,但从根本上来看,这些成果的主要问题就是隐私问题,因为我们需要解决隐私问题。
为什么这些电子货币没有得到应用 ?
说到底是为了建立一个电子货币系统 ( e-Cash system ) ,学者们也曾今尝过 ,David Chaum 也尝试建立过电子货币系统。
为了建立这个系统,你需要一个中央银行 ( centralized bank ) ,这个银行是单点失效的,如果银行失效了,系统就跨了,可会就会丢失所有的资金。
为了然货币流进你的系统,这也意味着你需要一个银行,但是你很难让银行成为你的合作方。因为你要做的是建立一个隐私保护系统,不允许国家和银行追踪用户的资金流动情况。1994 年欧盟发布相关规定,只有银行才能发行预付借记卡。这基本上判处电子货币的死刑,因为整个电子货币的模型都不能满足规定的要求。9/11 之后,美国出台一系列的规定,基本内容是任何尝试发布货币,包括电子货币的个人和企业都要叫停。
因此中心化电子货币,无论是否能保护用户的隐私,都被扼杀在摇篮里。
中心化的电子货币不满足欧盟和美国的法律规定,以及没有银行愿意合作。
来源:CocoaChina