Django作者阐述比特币和区块链的主要技术主张


本文作者(Luke Plant)是Python大名鼎鼎Web框架Django的作者,这篇文章试图让那些不是计算机专家的人具备足够的知识来参与区块链的主要技术主张,以及它们在现实中的衡量方式,下面是摘要:
我(Luke Plant)是一名软件专业人士,从小就开始编程。我在十几岁的时候就自学了 BASIC 和机器代码,那时我什至还不知道互联网的存在。从那时起,我积累了超过 20 年的专业软件开发经验, 涉及范围广泛的编程语言和业务领域。
我对开源世界也有相当深入的参与,其中最著名的是 Django,它可能是Python最流行的 Web 框架,如今在大量网站中使用。当我更积极地参与该项目时,我为其安全性做出了巨大贡献,这需要对网络的工作原理以及密码学的一些基础知识有很好的理解。

我现在主要将自己标榜为全栈 Web 开发人员——这意味着我从头到尾制作网站,并且我为能够为实际需求提供高效、精心设计的解决方案而感到自豪。我提到所有这些是为了建立:

  1. 我知道网络和互联网是如何运作的,对密码学有合理的理解,而且我完全有能力在技术层面理解比特币。
  2. 我不是技术恐惧症或类似的东西。作为一名网络开发人员,我经常需要评估和学习新技术。
  3. 我已经有足够长的时间了,知道很多事情都是循环往复的,并不是每一个新事物都会持续下去,有时我们会倒退。有很多新技术被证明是无效的。

当然,我不能声称技术人员是 100% 反加密货币的——这在科技界是一个非常分裂的话题。但是,所有或大多数具有技术素养的人都认为这是一场伟大的革命的说法是完全错误的。
  
如何评价一项技术?
在我参与的许多开源项目和闭源私人项目中,当提出更改或添加时,您应该提出的问题是:
  1. 这试图解决什么问题?
  2. 它真的解决了吗?
  3. 它带来了哪些成本?

那么让我们看看那些关于比特币、以太坊等的问题。
 
比特币解决了什么问题?
我们最好参考原始比特币白皮书,其中描述了“点对点电子现金系统”
比特币声称要解决的基本问题是能够进行不通过金融机构的“点对点”电子汇款,类似于现金点对点的运作方式,不需要受信任的第三者参与的一方。在白皮书中,这样做的主要动机是:
  • 为了避免信任中介的需要,
  • 通过降低与调解相关的成本来降低交易成本(银行必须准备好解决欺诈案件),
  • 处理可逆交易引起的欺诈。

因此,在评估比特币时,我们应该主要将其与其他支付系统——实物现金和电子支付——以及银行系统进行比较。
现金是一种方便的支付方式,只需几秒钟就能完成,高度可靠,而且有很高的隐私性。它有不得不随身携带现金的不便和不安全之处,因此越来越多地被电子转账所取代。这些工作非常好。
  • 在商店里,我可以用银行借记卡或信用卡以电子方式支付货物,或只需刷一下,几秒钟就可以完成交易。
  • 在朋友之间,我可以做即时(或几乎是即时)、免费的银行转账,从小额到相当大的金额,24小时不间断,而对于非常大的金额,则可以用其他较慢的系统。当我住在土耳其时,我也有同样的情况--虽然银行间转账要花几分钱--而且据我所知,现在大多数国家都有类似的东西。
    在这方面落后的国家(如美国!),还有其他解决方案,如Venmo,显然效果很好。
  • 这种便利性带来了一些安全问题,但现代银行业务有大量处理欺诈活动的伟大功能--例如:
    今天早上接到一个电话,说信用卡收费不正常。十分钟内,该卡被取消,所有正在进行的欺诈性收费被阻止,所有旧的欺诈性收费被质疑,一张新卡会被邮寄。

有一些重要的改进空间:

  • 你需要一个银行账户来进行这些电子转账。
  • 银行有能力阻止金融活动,如果它是合法的,而且你在某种程度上受到迫害,这可能是不好的。
  • 存在银行破产的风险。
  • 银行或我们通过的其他第三方,对我们如何花钱有一个相当清楚的概念。

银行并不完美,但它们受到相当好的监管,在我所有的金融担忧中,银行偷窃或丢失我的钱是最不值得担心的。即使他们破产,我在英国也有85,000英镑的政府保护担保。在评估加密资产时,我们需要看看它们能在多大程度上真正改善事情,如果有的话。
 
区块链解决方案的工作原理
无许可区块链2带来的创新是一种基于“工作量证明”的巧妙共识算法。让我们简单地解释它。
共识协议是允许一组协作计算机(通常称为节点)充当单个数据库并安全一致地存储数据的机制,即使:

  • 节点之间没有固定的领导者
  • 任何节点都可能随时出现故障或不可用。

设计一个共识协议来保证这些确实具有挑战性:
工作量证明是一个预先存在的概念。它基于这样一个事实,即某些计算需要大量工作才能完成,但一旦完成就很容易验证。此类计算的输出可以用作证明您已经花费了计算资源(即电力)以及所需资金的证明。
比特币以一种新颖的方式使用 "工作证明 "作为共识协议,使作弊成本过高。它基本上要求计算机对下一个 "正确 "的数字进行很多很多的猜测,以便将提议的新交易添加到列表的最后。
其结果是,一组互不信任的分布式节点可以在一个不断增长的记录链上达成一致,该记录链被称为区块,列出了交易,即比特币的转移。该协议不需要一个中央信任机构(如政府),或一个可信的中介(如银行),也不允许坏人将同一笔钱转给一个以上的人(一个被称为 "双重消费、双花 "的问题)。

当然,这种刻意降低效率的过程所需的电力必须得到奖励,所以为什么有人会加入呢?比特币解决这个问题的方法如下。

  • 该协议奖励任何正确添加区块到链上的参与者,并提供一些新创建的比特币。
  • 在现实世界中,我们需要有足够多的人相信这个比特币是有价值的,而不仅仅是电脑上的一个虚构的代币。否则,"矿工 "就会白白花费大量的电力。 

这种解决方案是否真的有效?
大多数人都同意,比特币白皮书中描述的作为共识协议的区块链的基本机制确实是有效的。

然而,该解决方案有巨大的弱点和成本。
  
问题和弱点

  • 是真的去中心化的点对点吗?

虽然从技术上讲,比特币网络的形态可以被描述为参与计算机的“点对点”,但从用户支付的角度来看,它不是。
通常,点对点互联网协议只需要两个对等方的参与即可成功。在现实世界中,现金是一种真正的点对点协议——现金交易完全不需要其他人参与。

比特币非常不同。如果我有一些比特币,并且想将其转让给您,并且我们都坐在同一个房间并且拥有我们喜欢的所有计算机和网络硬件,那么在没有互联网连接的情况下,我仍然不可能将所有权转让给您。我们必须连接到比特币网络,将我们的交易添加到公开的所有交易的共享列表中,然后等待确认。因此,从想要进行支付的用户的角度来看,最好将比特币视为一个大型、分布式但中心化的系统,而不是去中心化的系统。
这与传统银行业务中的电子转账形成鲜明对比。如果你和我在同一家银行,我们只需要和我们的银行通话就可以在我们之间转账,不需要涉及外部网络。如果我们有不同的银行,银行他们自己需要能够相互商量对接,但仅此而已。
银行之间交流是不需要一个保持交易一致的共享账本,这是一个至关重要的优势。(banq注:作者可能没有想到SWIFT)
这使得比特币,在其理论上最好的情况下,比传统的银行业务更集中,更少的点对点的交易。
 

  • 安全

加密货币可能会以灾难性的方式失败。其中第一个是“网络分区”事件。
问题是:当网络的一部分与其他部分断开时会发生什么?例如,一个国家可能会断开连接,或者整个美洲可能会与欧洲、亚洲和非洲断开连接。
互联网本身就是为了解决这类问题而设计的。
然而,比特币无法应对主要的网络分区:
比特币网络的双方都将继续工作(尽管如果存在不平等的分歧,一方可能会减慢到无法使用的程度)。让我们想象一下,在正确恢复连接之前,这种情况持续了几天或几周。此时,我们将有两个不同的区块链“分支”,这是不允许的。按照设计,没有办法合并分支,比特币只会选择两个分支中最长的一个。对于不幸的一半,在网络分区的那几天或几周内发生的所有交易都将被删除。
 
我们能否开发出令人满意的解决方案来解决这个问题?
不!
这是CAP定理的一个例子:
  • 您试图通过简单地停止所有贸易和金融交易来避免这种情况,直到恢复足够的连接(或者这可以由协议本身强制执行)。
  • 您没有将两个网络重新连接在一起,而是不可调和地将加密货币分成两个不同的硬币。

传统银行业不存在这个问题:
如果互联网遭受大分区,我们肯定会遇到问题,特别是因为日益集中化和对少数大型提供商的依赖。
但我们可以绕过它们,因为互联网和银行的基本协议都更好地去中心化和更健壮。
银行转账不需要连接大部分互联网——您只需要两家银行能够相互交谈。恢复连接后,您不需要删除任何内容。毫无疑问,在某些情况下会有争议,但至关重要的是,对个别交易提出争议并不需要使其他所有人交易的整个链条无效。(banq注:银行之间的网络早于互联网建设,相当两套网络相互备份,当然不会存在这个问题,而比特币是一套网络,这能比较吗?)
 

  • 账本技术

比特币区块链本质上是一个公开的交易账本。因此,我们可以将其与维护交易账本的其他系统进行比较。除了上面提到的安全性,另一个比较轴是效率。
共识的“工作量证明”方法使比特币的效率低得惊人。此外,协议的自我调节性质和经济因素意味着比特币的美元价值越高,它使用的电力就越多。
结果是,在撰写本文时,单笔比特币交易所需的电力大约是 Visa 交易的 100 万倍,或至少数十万倍。
比特币最初声称的动机之一是“降低交易成本”,这看起来很荒谬。即使对于某些加密资产,最终用户支付的交易费用很低或为零,这里的负外部性也高得离谱。
 
  • 金钱技术

为了使该系统正常工作,比特币协议必须能够奖励“矿工”,并且不依赖任何其他金融机构。这意味着它必须创造一种新货币——比特币或狗狗币或许多其他货币中的一种。每个不同的区块链都需要自己的货币。这是一个非常糟糕的缺点,因为货币的全部意义在于你只想要一个。而这个问题会导致更多。

在金本位时代,要在经济中获得更多资金,您必须从地下挖出金矿石并进行提炼等。这非常昂贵,并限制了经济中的货币供应,导致经济萧条。
由于经济需要,我们从金本位转移到信用货币,银行能够按需创造货币,只需开设一个贷款账户并将一些条目放入数据库 - 这个过程几乎是免费的。

然而,区块链将是一个巨大的降级:你必须使用大量的能量来“挖掘”比特币,就像使用黄金一样。只不过比以前更糟了:由于其卓越的物理和化学特性,黄金至少有一些重要的应用,比如珠宝和电子产品,但比特币的计算没有其他价值。
(banq注:不能说比特币没有黄金有价值,那是比特币诞生之初,现在使用比特币可以购买特斯拉汽车,可以像黄金饰品一样炫富,满足个人虚荣心和存在感,这些为人服务的功能不能说没有价值,如果为人服务都不算价值,那么他的价值观肯定被洗脑了)

比特币的设计使得最终不会再生产更多的硬币。这是发明者因为不懂钱而故意选择的,是致命的缺陷。它根本不具备支持重大经济活动所需的能力或结构特征。
(banq注:这个断言也过于妄言,如今区块链和比特币技术参与了很大重大经济活动,当这项新技术成为基础设施时,人们才能看到它支持重大经济活动,它的特征虽然不像纸币那样随意发行,但是至少回避了人为印钞的冲动,但是又不像黄金那样难以流通,比特币是在黄金和纸币中间又试图寻找一个平衡,但这点就很战略性了)
 

  • 支付技术

全球比特币网络尽管耗电量惊人,但每秒最多可进行 7 笔交易。
以太坊除了可笑的用电量外,由于网络内置的低效率,还具有疯狂的高交易费用。(比特币过去也很糟糕,但已经有所改善)。对于以太坊来说,在撰写本文时,单笔交易的所谓“gas”费用 徘徊在 30 美元左右,但可能会达到数千美元(!)。

在这一点上,我们必须放弃比特币和以太坊真的完全可以作为支付技术的想法,
(banq注:剩余都是与传统数据库技术比较,可看我评论另外一篇文章:区块链与分布式数据库的比较
 

  • 隐私和匿名

至少在理论上,一个真正的点对点支付系统可以在隐私方面有很好的故事,就像实物现金一样。取而代之的是,代替您的银行帐户可以为您提供的(有限的)隐私,比特币拥有一个所有交易的公共共享数据库,这显然是一个大规模的降级。
现在,区块链在理论上是匿名的,因为人名不会出现在其中。相反,您由您的公钥表示。但是,如果有人知道谁拥有密钥,那么您的匿名性就会消失,并且随着时间的推移,密钥和人之间的联系很可能会出现。
如果你愿意付出额外的工作并赚到钱,你也许可以使用比特币实现合理的匿名性,但对于大多数“没什么可隐瞒”的人来说,没有这样做的动力。由于这些原因,现在人们普遍认为比特币的隐私性非常差(尽管其他一些加密货币要好得多)。
 
  • 不可逆性、不可变性

与传统银行业务相比,比特币的主要特征之一是交易是不可逆转的——硬币只能在所有者许可的情况下移动。根据白皮书,这是比特币的主要动机之一,因为它能够阻止买家进行欺诈——例如当买家支付和接收商品,但随后能够对他们的信用卡进行退款,欺诈性声称他们没有得到货物。
比特币试图阻止这种情况的尝试似乎没有抓住重点:银行这种可逆性是一种经过深思熟虑的特征,并且来自法律,而不是需要通过技术手段修复的意外错误。
在比特币系统中,不可逆性提供的优势至少与它的劣势相当,即更难或不可能打击卖家和其他人(如黑客)的欺诈行为。
(banq注:这句逻辑是首先假设某个人是黑客,如果世界上有一种技术能在坏人没有做出坏事之前首先分辨出谁是坏人,这世界在天堂,因为那里有上帝帮我们首先区分)

不可逆性是迄今为止区块链最令人印象深刻的特性,但它是你绝对不想要的特性。

但实际上,当地法律可能仍然适用,因此只要您居住在同一个国家/地区,您仍然可以通过法律途径寻求退款。他们只会更加低效。所有这些都表明了一个更普遍的观点:如果你可以在虚拟系统“之外”工作(由于人类拥有必须生活在有规律的地理位置的身体),那么你可以在系统内做出的保证很快就会变成无意义。
 
.....
 banq注:翻译不下去了,想不到整篇文章充斥了情绪用词:骗子,可笑,辣鸡等等字眼,著名程序员也会有 邓宁-克鲁格效应,有兴趣者点击原文。