19114 large

[以太坊白皮书解读] 比特币和以太币对话一

zanbtc · 于 发布 · 最后由 zanbtc回复 · 546 次阅读

以太币:2010年本聪兄把你创造出来,你已经作为去中心化的数字货币享受不少崇拜了啊。
比特币:哪里哪里,过奖了。

以太币:你底层基于共识机制的区块链技术实在了不起,已经被不少人开始关注啦。
比特币:是的,没有区块链,我实在没办法运行啊。

以太币:不过我最近在想,这个区块链还应该要有其它的一些应用场景。不能只是你的私家服务器啊。
比特币:那你有什么好的想法?

以太币:其实我们可以考虑在区块链上用数字资产代表一些定制的货币,金融工具(彩色币),一些基础物理设备(智能资产)的所有权,不可替换的资产(比如网站域名),和由代码(智能合约)控制的一些复杂的含有数字资产的应用,甚至是基于区块链的去中心化组织(DAOs)。
比特币:哇,没想到你能想到这么多。

以太币:我们现在想做的就是用全图灵语言开发一款区块链。这个图灵语言能够产生一种声明功能转换的合约。它允许用户只是简单的写几行逻辑的代码,就能自行生成任何类似上面描述的系统合约,当然还有更多种我还没有想到的情况。
比特币:干的漂亮啊。以太兄。

以太币:比特币你才是创世英雄。我最近一直在认真研究你,希望能彻底把你研究透彻以后进行我自己的研究。
比特币:那你发现了什么?

以太币:那我们就从一开始讲起。其实去中心化的电子货币概念,和财产登记这种替代应用早在几十年前就提出来了。匿名的电子现金协议在80和90年代,大部分是依赖于一种初始的密码。这种密码就是Chaumianblinding(乔姆盲签技术)。这些匿名的电子现金协议提供了高度保密的货币,但是由于依赖中心化的媒介最终失败了。
比特币:是的。这些都是电子货币的早期雏形。接着了,你还发现了什么?

以太币:1998年,戴维提出了B-money,它给出了通过计算难题和去中心化的共识产生货币的概念。但是戴维的提议对于怎样去中心化的共识写的不够详细,最终只好作罢。
比特币:确实,但这个概念非常有价值。

以太币:2005年的时候,Hal Finney介绍了可重复使用工作证明的概念。这个概念综合了戴维的B-money以及Adam Back's/亚当的关于计算哈希现金难题产生加密货币的概念。但是最终还是失败了,原因是没有可信任的计算系统支撑,概念流于理想化。
比特币:确实有些可惜,但在戴维的基础上提出了更多的可行性。

以太币:接着就到你比特兄出场了。2009年,一个去中心化的货币,也就是你通过中本聪创造落地了。你用现存的不对称加密方式提供的公钥给货币所有者拥有权,并用一种共识的算法,也就是工作量证明去追踪谁拥有货币。实在是太高明了。
比特币:哪里,这都是本聪兄的功劳。那你知道这个共识机制为什么起作用吗?

以太币:工作量证明的机制是突破性的,它同时解决了两个问题。第一个是它提供了一个简单和有效的共识算法,这套算法允许网络中的所有节点共同同意比特币账本上更新的信息。第二个是当共同阻止女巫攻击的时候,这个机制允许节点自由进入共识过程,解决了决定谁去影响共识的问题。这个机制通过取代参与的形式壁垒,例如需要在一个特殊的清单上登记证明是一个独一无二的实体。当个节点在共识机制中的投票所占的比重和它的算力是挂钩的。
比特币:确实,本聪兄非常高明地基于节点的参与和共识工作证明相结合。这样每个节点都是竞争的关系,即使一个服务器上拥有多个节点,但这些节点并不会像传统机制那样一起作恶攻击。虽然他们的算力和投票权重相关,但若想让一个节点拥有超过整个网络的算力比创造出一百万的新的节点困难多啦。

以太币:也因为这样。基于每个几点所拥有的数字货币的比例去投票的想法也被提出来。这种就是权益证明。
比特币:一种新的创新证明,很不错。两种证明方式都能作为加密货币的共识骨架。

以太币:站在技术的角度,加密货币的分类账,比如比特兄你,可以被考虑为状态转换系统。现存比特币所有权的状态,和一个输入,转换,输出的状态转换功能。在传统的银行系统里,这个状态就是一张负债清单表,假如A向B打钱30元,如果A的余额超过30就没有问题。如果A的月少于30,那么系统就会提示出错。
比特币:是的,传统的银行确实是这样子。但是我却不一样。

以太币:是的。你的状态是所有已经被挖出来的你还未被消费掉的,也叫UTXO。每一个UTXO都有一个面额和一个拥有者(也就是由20个字节所形成的加密公钥)。一个交易会包含一个或者多个输入和输出,这个输入会有关于存在UTXO的代码和所有者的私钥加密。每一个输出都会包含一个新的UTXO增加到状态中。
比特币:是这么个道理。

以太币:所以你的状态转换功能大致遵循这么个步骤:假如输出这钱包里面没有足够要支出的比特币,系统发送错误。假如发送者的签名和UTXO的所有者不符,系统发送错误。假如要指出的面额小于要接收的面额,系统发送错误。
比特币:是的。假使Alice要打11.7个BTC给Bob.首先她要看自己可用的UTXO不能少于11.7,但假如Alice手上正好是12个BTC。这个交易就会产生两个输出,一个是11.7BTC给Bob,一个是0.3BTC返还给自己。

以太币:哇,不知不觉已经和你聊了这么多了。今天就到这儿吧。我们两兄弟时间长的很,慢慢把前因后果聊清楚。
比特币:好的,不着急,明天继续。