返回目录:经济新闻
一. 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分钟通信。因此,除非你能确保部分节点可以满足这一要求,否则在这一特定 场景下,你无法实现可用的共识协议。
2. 我们需要消除密钥,身份管理机制,使得问题会变得简单很多。
3. 人类是个奇怪的生物。这似乎是个显然,很平凡的结论。追忆起来这个结论似乎非常显然,但实际上这个结论并不显然,如果你没有实际部署一个密码货币的话,这个结论并不那么显然。
从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来完成货币的双重花费。
一旦我们有了一个账本,我们就可以做很多有意思的事情。如果你深入理解支付系统的话,你就会发现支付系统就是一个状态转移过程,在这个系统中包含了已经完成的交易单。我们还会在系统中添加尚未完成支付的,尚未确认的交易单。
很显然,下一步的想法就是把此状态转移过程通用化,让转移函数为任意函数,可以通过任意函数实现账本的状态转移,出于这种考虑,以太坊诞生了。所有密码货币的发展方向都应该是这个方向的,把简单的状态转移函数推广成更复杂的函数,这个想法很不错,我们现在有以太坊,我们有了非常复杂的方法来花钱。
(下一部分待续,敬请期待)