世界范围内密码货币十分火爆,我们观察很多有意思的事情正在发生,直到2008年,我们才有现在的密码货币。比特币

640_wx_fmt_jpeg

世界范围内密码货币十分火爆,我们观察很多有意思的事情正在发生,直到2008年,我们才有现在的密码货币。比特币出现的原因与原理是什么,到底难在哪里以及它的优缺点。

一. Nakamoto,2008

  1. 中本聪实现机制所完成的核心工作是用分布式账本代替可信服务器(replace the server with a distributed ledger)。

  2. 账本很难建立,事实证明我们需要共识技术来建立账本,中本聪发明了新的共识技术,这个共识技术始终能自始至终都能很好的执行(use a new consensus technique to construct the ledger)。

  3. 在共识协议执行时能够生成新的货币,相当于央行发行货币。系统引入了困难问题(use puzzles to handle consensus & generate funds)。

  4. 比特币中最重要的的一个发明:比特币消除了将密钥和身份绑定在一起的必要性,直接将公钥作为用户身份。(Eliminate the need for explicit key/identity bindings)。

  5. 其他技术的应用方式就变得非常直接了,几乎可以把密码技术直接般过来了(everythings else is straightforward crypto and excellent engineering)。

二. 从比特币学到的知识

1.选择正确的共识算法会导致系统发生巨大的变化

区块链共识技术满足特定的健壮特性,少部分参与方的离开并不会影响系统的稳定性,这是传统的协议无法实现的 。

节点以点对点网络的形式组织,节点会周期性地离开网络。你就需要一个不包含启动过程的共识机制,此机制需要处理这种不稳定的情况。即使到了今天,在部署权益证明协议的时候也需要解决这个问题。很多协议都属于权益证明协议,并且在协议中应用了类似可验证秘密分享这类技术,但这些协议要求一部分节点同时保持大约10分钟的通信状态,节点没办法同时保持10分钟通信。因此,除非你能确保部分节点可以满足这一要求,否则在这一特定 场景下,你无法实现可用的共识协议。

  1. 我们需要消除密钥,身份管理机制,使得问题会变得简单很多。

  2. 人类是个奇怪的生物。这似乎是个显然,很平凡的结论。追忆起来这个结论似乎非常显然,但实际上这个结论并不显然,如果你没有实际部署一个密码货币的话,这个结论并不那么显然。

从2010-2015年得出的结论是:如果你建立了拥有代币的系统,此系统是安全的,并且可以持续的提供给代币,则人们会有很大的信心,相信系统不会停止运转,相信系统不会失效。更奇怪的是人们为了代币赋予相应的价值。这真的超乎我们的想象,我们根本没有想到会发生这样的事情。但这样的事情确实发生了,而且造成了巨大的影响。造成的影响比人们对技术,对密码货币所估计的影响要大的多,现今人们对代币的估值太随意了。代币的估值可能比真实值大了10倍,甚至可能大了100倍。但这里最重要的是:人们相信他的价值。如果你不自己建立密码货币的话,你估计也不会相信这一点。

三.比特币的缺点(Limitations of Bitcoin)

比特币的隐私,可扩展性上有很多局限性,好消息是我们可以发行150种货币,来解决可扩展性的问题。真正严峻的问题是,有太多的人在用太多不同的方法尝试解决这种问题。

  1. 比特币的匿名体系有缺陷,匿名会与用户身份产生关联,最终导致失去匿名化。

  2. 2012,2013年NSA在海外部署VPN系统,他们允许用户的比特币节点与此系统建立连接,所以他们不仅可以在区块链上,还可以从VPN系统上看到一大堆交易流量,通过流量数据,他们把假名和用户的IP地址联系起来,实际上于用户的MAC地址关联起来,这样一来对于区块链,比特币中的大多数节点,他们都能实现去匿名化。一旦流量传到这个系统,也无法实现匿名化。

四.关于发表的两篇论文

一篇叫“零币”在零知识证明上应用RSA聚合算法实现货币匿名化处理。

另一篇叫“零现金”实际部署的系统叫Zcash 。

当开发“零现金”的第一个版本时,写了一个函数库放在github上,同时加上了警告:看在上帝的份上,不要把这个函数库用在产品化的数字货币系统中,不要把资金放在依赖这个糟糕的函数库发布的代币上,毕竟这个函数库只花费了暑假中的一个月时间,时间太短。

之所以展示这份警告函,因为从“零币”的git代码库中能找到这份警告,现在零币在市场的价格约为50亿美元,零币的开发者们原封不动抄袭了代码,他们把警告都直接复制到代码中了。他们直接用这个函数库完成了零币的开发,直接部署在公网上,这种部署方式太吓人了,事实上该代码存在漏洞。在其中一个地方,本应该验证输入的参数是否为代数域中的一个元素,实际上并没有提供该操作。这意味着,用户可以通过A,A+P,A+2P来完成货币的双重花费。

一旦我们有了一个账本,我们就可以做很多有意思的事情。如果你深入理解支付系统的话,你就会发现支付系统就是一个状态转移过程,在这个系统中包含了已经完成的交易单。我们还会在系统中添加尚未完成支付的,尚未确认的交易单。

很显然,下一步的想法就是把此状态转移过程通用化,让转移函数为任意函数,可以通过任意函数实现账本的状态转移,出于这种考虑,以太坊诞生了。所有密码货币的发展方向都应该是这个方向的,把简单的状态转移函数推广成更复杂的函数,这个想法很不错,我们现在有以太坊,我们有了非常复杂的方法来花钱。

下一部分,待续……。

你可能还会喜欢:

什么是后量子密码学?

区块链杂谈节目荟萃

全同态加密算法深入解析-1

全同态加密算法深入解析-2

区块链在国家安全领域的应用

量子计算真的那么牛么?(一)

量子计算真的那么牛么?(二)

比特币网络动量——比特币价格在主要市场周期中的一个新的领先指标

你需要区块链吗?——各种有趣的判断模型

什么是量子密码学

金钱的本质是什么——为什么比特币不能解决根本问题

加密货币的熊市案例

革命与进化:全同态加密

欢迎收听“区块链杂谈”节目,国内最有质量的区块链知识分享节目。

640_wx_fmt_jpeg 1

宁波格密链网络科技有限公司,专注于区块链上的密码技术研发。

640_wx_fmt_png

1533292188682485.jpg

格密链专注于区块链上的密码学技术长按扫码可关注