区块链需要什么技术(Django作者阐述比特币和区块链的主要技术主张)

本文作者(Luke Plant)是Python著名的Web框架Django的作者。本文试图让那些不是计算机专家的人有足够的知识参与到区块链的主要技术思想及其在现实中的测量方法中。以下是摘要:

我(Luke Plant)是软件专业的,从小就开始编程。十几岁的时候自学了BASIC和机器码。那时候我甚至不知道互联网的存在。从那以后,我积累了20多年的专业软件开发经验,涵盖了广泛的编程语言和业务领域。

我也深入参与了开源世界,其中最著名的是Django,这可能是Python中最流行的Web框架,现在被大量网站使用。在我比较积极的参与项目的时候,我对它的安全性做出了很大的贡献,这就需要对网络的工作原理有很好的了解,也需要一些密码学的基础知识。

现在我主要标榜自己是一个全栈的Web开发者——这意味着我从头到尾都在做网站,我为能够针对实际需求提供高效的、设计良好的解决方案而自豪。我提到这一切是为了证明:

  • 我知道互联网和互联网是如何运作的,对密码学有合理的理解,在技术层面完全有能力理解比特币。
  • 我没有技术恐惧症或类似的东西。作为一名网络开发人员,我经常需要评估和学习新技术。
  • 我有足够的时间知道,很多事情都是循环往复的,不是每一个新事物都会延续,有时候我们会倒退。许多新技术被证明是无效的。
  • 当然,我不能声称技术人员是100%反加密货币的——这是科技领域一个非常分裂的话题。但是,如果所有或者大部分有技术素养的人都认为这是一场伟大的革命,那就完全错了。

    如何评价一项技术?

    在我参与过的很多开源项目和闭源私有项目中,当提出变更或添加时,应该问以下问题:

  • 这是想解决什么问题?
  • 真的解决了吗?
  • 它带来了哪些成本?
  • 那我们就来看看那些关于比特币,以太坊之类的问题。

    比特币解决了什么问题?

    我们最好参考一下最初的比特币白皮书,里面描述了“点对点电子现金系统”。

    比特币声称要解决的基本问题是能够在没有金融机构的情况下进行“点对点”的电子汇款,类似于现金点对点的操作模式,不需要可信第三方的参与。在白皮书中,主要动机是:

  • 为了避免信任中介,
  • 通过降低与调解相关的成本来降低交易成本(银行必须做好解决欺诈案件的准备),
  • 处理可逆交易引起的欺诈。
  • 所以在评价比特币的时候,主要还是要和其他支付体系——实物现金和电子支付——以及银行体系进行比较。

    现金是一种便捷的支付方式,只需几秒钟即可完成。可靠性高,私密性高。它有必须随身携带现金的不便和不安全感,所以越来越被电子转账所取代。这些工作都很好。

  • 在商店里,我可以用银行借记卡或信用卡电子支付商品,或者只需刷卡,几秒钟就能完成交易。
  • 在朋友之间,我可以24小时进行即时(或几乎即时)免费银行转账,从小金额到可观的金额,而对于非常大的金额,我可以使用其他较慢的系统。我住在土耳其的时候也有同样的情况——虽然跨行转账要几分钱——而且据我所知,现在大部分国家都有类似的东西。
  • 这方面落后的国家(比如美国!),还有其他的解决方案,比如Venmo,显然效果不错。
  • 这种便利带来了一些安全问题,但现代银行有许多伟大的功能来对付欺诈活动——例如:
  • 今天早上接到电话,说信用卡收费不正常。十分钟之内,该卡将被注销,所有正在进行的欺诈性收费将被停止,所有旧的欺诈性收费将被质疑,并将邮寄一张新卡。
  • 有一些重要的改进空:

  • 你需要一个银行账户来进行这些电子转账。
  • 银行有能力停止金融活动。如果是合法的,而你受到了某种程度的迫害,这可能就不好了。
  • 有银行破产的风险。
  • 我们经过的银行或其他第三方对我们如何花钱有一个相当清晰的概念。
  • 银行并不完美,但监管良好。在我所有的财务担忧中,银行偷钱或丢钱是最不值得担心的。就算他们破产了,我在英国还有8.5万的政府保护保障。在评估加密资产时,我们需要看看它们能真正改善多少(如果有的话)。

    区块链溶液的工作原理

    未授权的区块链2带来的创新是一个基于“工作负载证明”的聪明的共识算法。简单解释一下吧。

    共识是一种机制,它允许一组协作计算机(通常称为节点)充当单个数据库,并安全一致地存储数据,即使:

  • 节点之间没有固定的领导。
  • 任何节点都可能在任何时候发生故障或变得不可用。
  • 设计一致同意的协议,以确保这些确实具有挑战性:

    工作负载证明是一个预先存在的概念。它是基于这样一个事实,有些计算需要大量的工作才能完成,但一旦完成,就很容易验证。这种计算的输出可以作为你花费了计算资源(也就是电力)和所需资金的证明。

    比特币的使用方式很新颖& # 34;工作证明& # 34;作为共识协议,作弊成本太高。它基本上要求计算机检查下一个& # 34;正确& # 34;对数字进行多次猜测,以便将提议的新交易添加到列表的底部。

    这样一来,一群互不信任的分布式节点就可以商定一个不断增长的记录链,这个记录链被称为块,列出交易,也就是比特币的转移。该协议不需要中央信托机构(如政府)或可信任的中介机构(如银行),也不允许坏人将同一笔钱转给不止一个人(一个被称为& # 34;双消费,双开花& # 34;问题)。

    当然,这种故意降低效率的过程所需要的权力必须得到回报,那么为什么还会有人加入呢?比特币可以如下解决这个问题。

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

    大多数人都同意,比特币白皮书中描述的区块链作为共识协议的基本机制确实有效。

    然而,这种解决方案有巨大的弱点和成本。


    问题和弱点

  • 真的是去中心化的点对点吗?
  • 虽然从技术上来说,比特币网络的形式可以描述为参与电脑的“点对点”,但并不是从用户付费的角度。

    通常,对等互联网协议只需要两个对等体的参与就可以成功。在现实世界中,现金是真正的点对点协议——现金交易根本不需要其他任何人参与。

    比特币就很不一样了。如果我有一些比特币,想转让给你,而我们都坐在同一个房间里,拥有我们喜欢的所有电脑和网络硬件,那么在没有互联网连接的情况下,我仍然无法将所有权转让给你。我们必须连接到比特币网络,将我们的交易添加到所有交易的公共共享列表中,然后等待确认。所以,从想要付费的用户的角度来看,不如把比特币看成一个庞大的、分布式的但又是集中式的系统,而不是一个去中心化的系统。

    这与传统银行业务中的电子转账形成鲜明对比。如果你我在同一个银行,我们之间转账只需要和我们的银行谈,不涉及外网。如果我们有不同的银行,银行本身需要能够相互协商,但仅此而已。

    银行之间的沟通不需要一个共享的账簿来保持交易的一致性,这是一个至关重要的优势。(banq注:作者可能没有想到SWIFT)

    这使得比特币在理论上比传统银行更集中,更少点对点交易。

  • 安全的
  • 加密货币可能会以灾难性的方式失败。第一个是“网络分区”事件。

    问题是:当网络的一部分与其他部分断开时会发生什么?比如一个国家可能断网,或者整个美洲可能和欧亚非断网。

    互联网本身就是为解决这类问题而设计的。

    然而,比特币无法应对主要的网络分区:

    区块链需要的技术

    比特币网络的两端将继续工作(尽管如果存在不平等的差异,一方可能会减速到无法使用的水平)。让我们想象一下,这种情况持续几天或几周,连接才能正常恢复。此时,我们将有两个不同的区块链“分支”,这是不允许的。按照设计,没有办法合并分支,比特币只会选择两个分支中最长的一个。对于不幸的那一半,在网络分区的几天或几周内发生的所有事务都将被删除。

    能不能制定出一个满意的方案来解决这个问题?

    不要!

    这是CAP定理的一个例子:

  • 你试图通过简单地停止所有贸易和金融交易来避免这种情况,直到足够的连接恢复(或者这可以通过协议本身来强制执行)。
  • 而不是重新连接两个网络,你不可调和的把加密货币分成了两个不同的硬币。
  • 传统银行业不存在这个问题:

    如果互联网遭受大分割,我们肯定会遇到问题,特别是因为日益集中和依赖少数大型提供商。

    但我们可以绕过它们,因为互联网和银行的基本协议更好地去中心化,也更健壮。

    银行转账不需要连接大部分互联网——你只需要两家银行互相通话。连接恢复后,不需要删除任何东西。毫无疑问,在某些情况下会有争议,但至关重要的是,个别交易的争议不需要使其他所有者的整个交易链无效。(banq注:银行之间的网络是在互联网之前建立的,相当两个网络互为备份。当然这个问题不会存在,而比特币是一套网络。这能比吗?)

  • 会计账簿技术
  • 比特币区块链本质上是一个开放的交易账户。因此,我们可以将其与维护交易账簿的其他系统进行比较。除了上面提到的安全性,另一个比较轴是效率。

    共识“工作量证明”方法让比特币的效率低得惊人。此外,协议的自我调节性质和经济因素意味着比特币的美元价值越高,它使用的电力就越多。

    因此,在撰写本文时,单笔比特币交易所需的电力大约是Visa交易的100万倍,或者至少是几十万倍。

    比特币最初的动机之一是“降低交易成本”,这似乎很可笑。即使是一些加密资产,最终用户支付的交易成本也很低甚至为零,这里的负外部性高得离谱。

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

    在金本位时代,为了在经济中获得更多的资金,你必须从地下挖出金矿石并提炼。这是非常昂贵的,并限制了经济中的货币供应,导致经济萧条。

    由于经济需要,我们已经从金本位制转向信用货币。银行可以根据需要创造货币,只需开立一个贷款账户,将一些项目输入数据库——这个过程几乎是免费的。

    然而,区块链将是一个巨大的退化:你必须使用大量的能源来“开采”比特币,就像使用黄金一样。只不过比以前更差:黄金因为其优良的物理化学性质,至少有一些重要的应用,比如珠宝和电子产品,但比特币计算没有其他价值。

    (banq注:不能说比特币没有黄金值钱。那是在比特币诞生之初。现在用比特币可以买特斯拉汽车,可以像黄金首饰一样炫富,满足个人虚荣心和存在感。这些为人服务的功能不能说没有价值。如果为人民服务没有价值,那么他的价值观一定被洗脑了)

    比特币的设计是为了最终不再生产更多的硬币。这是发明者因为不懂钱而故意选择的,是致命的缺陷。它根本不具备支持主要经济活动所需的能力或结构特征。

    (banq注:这个论断太荒谬了。如今,区块链和比特币技术参与了许多重大经济活动。当这项新技术成为基础设施时,人们可以看到它支持主要的经济活动。它的特点虽然不像纸币那样随意,但至少避免了人为印钞的冲动,也不像黄金那样难以流通。比特币试图在黄金和纸币之间找到平衡,但这是很有策略的。)

  • 支付技术
  • 虽然全球比特币网络耗电量惊人,但每秒钟最多可以进行7次交易。

    以太坊除了荒谬的用电量,还因为内置网络的低效率而有着疯狂的高交易成本。比特币以前不好,现在有所改善。对于以太坊来说,在写这篇文章的时候,单笔交易的所谓“气”成本在30美元左右徘徊,但有可能达到几千美元(!)。

    在这一点上,我们必须放弃比特币和以太坊真的可以作为支付技术的想法。

    (banq注:其余是与传统数据库技术的比较,请参考我评论过的另一篇文章:区块链与分布式数据库的比较)

  • 隐私和匿名
  • 至少在理论上,真正的点对点支付系统可以讲述一个关于隐私的好故事,就像实物现金一样。相反,比特币没有你的银行账户可以为你提供的(有限的)隐私,而是拥有一个所有交易的公共共享数据库,这显然是一个大规模的降级。

    现在,区块链理论上是匿名的,因为人们的名字不会出现在里面。相反,您由您的公钥来表示。但是,如果有人知道谁拥有钥匙,那么你的匿名性就会消失,随着时间的推移,钥匙和人的联系就很可能出现。

    如果你愿意做额外的工作挣钱,或许可以利用比特币实现合理的匿名,但对于大多数没什么好隐瞒的人来说,没有动力这么做。基于这些原因,一般认为比特币的私密性很差(虽然其他加密货币要好得多)。

  • 不可逆性和不变性
  • 与传统银行业务相比,比特币的一个主要特点是交易不可逆——只有在所有者允许的情况下,才能移动硬币。白皮书称,这是比特币的主要动机之一,因为它可以防止买家作弊——例如,当买家支付并收到货物时,但随后他们可以退还信用卡,欺诈性地声称他们没有收到货物。

    比特币试图阻止这种情况的做法似乎忽略了一点:银行的可逆性是经过深思熟虑的特性,来自法律,而不是需要通过技术手段修复的偶然错误。

    在比特币体系中,不可逆提供的优势至少与其劣势相当,即打击卖家和其他人(如黑客)的欺诈更加困难或不可能。

    (banq注:这个逻辑是先假设某人是黑客。如果世界上有一种技术可以在坏人做坏事之前分辨出谁是坏人,这个世界就在天堂了,因为有上帝先帮我们分辨)

    不可逆转性是区块链最令人印象深刻的特征,但这是你绝对不想要的特征。

    但实际上,当地的法律可能仍然适用,所以只要你生活在同一个国家,你仍然可以通过法律途径寻求退款。它们只会更加低效。这些都表明了一个更普遍的观点:如果你能在虚拟系统“之外”工作(因为人类有必须生活在固定地理位置的身体),那么你能在系统中做出的承诺很快就会变得毫无意义。

    .....

    Banq注:翻译不下去了。没想到,整篇文章都是充满感情色彩的词:骗子、搞笑、辣鸡等等。著名的程序员也会有邓宁-克鲁格效应。有兴趣的点击原文。

    原文:https://www.jdon.com/59328

    您可以还会对下面的文章感兴趣

    使用微信扫描二维码后

    点击右上角发送给好友