【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

不,你可能不需要区块链

  • 2018-04-11
  • 本文字数:5586 字

    阅读完需:约 18 分钟

本文最初发布于 Ashton Kemerling 的博客,经原作者授权由 InfoQ 中文站翻译并分享,点击这里阅读英文原文。

有关比特币和区块链

哦,比特币,你简直就是每个人在经济领域的挚爱。有人认为比特币会毁了美联储,也有人希望它能干掉大型银行。有人希望能借它大发横财,还有人甚至希望它能彻底淘汰各大政府机构。貌似无论你讨厌什么,都能借比特币之手把它消灭掉!

当然,这些想法都很荒谬。围绕比特币,已经有太多自相矛盾的“美梦”,不过很明显,这些美梦不可能全部成真,甚至借机轻松赚钱的梦想也开始面临诸多变数。

不过就算不相信买点比特币就能让你发大财然后迈向人生巅峰,你肯定听说过到处都有人说,比特币并不是未来,真正是未来的应该是区块链!无数人笃信这个观点,以至于对比特币持怀疑态度的人也觉得,哪怕比特币本身无法担此重任,区块链也有可能改变世界。每次比特币兑美元汇率下跌时,尽管很多人并不关心这事,但这种说法也会开始冒头。

我个人认为有关区块链的一切都是在做铺垫。我非常怀疑区块链能否代表未来,也不觉得这技术未来会有大范围应用,至少目前还没有相关迹象。目前我们只能看到层出不穷的炒作,以及已经不算少的欺诈,这一点让我有点担心。

不得不提的声明

首先,我不是金融顾问。如果你根据本文的内容决定买什么卖什么,咱俩可能都会觉得不爽。嗯,不爽的可能只是你,我顶多会在你事后向我抱怨时感觉有点闹心。如果你想得到正规的金融意见,请找个真正的金融顾问然后花钱购买他的服务。

其次,未来如何很难说。虽然我很确信,我本人还没见过本文要讨论的技术目前有什么大规模应用,但我也不会愚蠢地认为这些技术以后也完全不会实用化。我只能阐述自己的观点,告诉你我提出这种观点的理由,但最终会怎样只有时间能告诉我们答案。

那么,区块链到底是什么?

区块链是一种以可以公开查阅、不可更改的方式记录一系列交易的方法。这种技术会用私有的加密密钥创建每笔交易,然后将交易装入“区块”中。随后每个区块将通过某种算法进行公开的验证,通常这一过程需要耗费大量算力。验证后的每个区块中包含一个到验证前区块的引用,进而产生了由区块组成的链式结构,此谓之区块链。这种技术的理念在于,区块是一种创建成本极高,但查阅成本极低的东西。如果想要查阅某个特定比特币地址(“钱包”)的余额或交易历史,只需要向后翻查所有区块,并检查引用了该地址的所有交易即可。

这种技术的基本想法在于,任何交易的验证过程在本质上都是“去信任”的,不需要由任何中心权威提供任何交易的记录。需要的时候,我们只要获得区块链的副本就可以验证以往的任何交易。如果需要通过区块链进行交易,只需要获得特定钱包的私钥副本就够了。这种私钥副本可以用软件或硬件形式以多种方式存储。验证区块的人不需要了解你,甚至不需要知道对方身份,即可完成交易。

那么,为什么要讨论区块链而不是讨论比特币?

比特币使用了区块链技术,但它本身并不是区块链。实际上,区块链由链条规则、当前链条,以及所有参与方共同组成。链条本身是起始区块以及可接受的最长交易链的组合。因此也可以将其称之为Altcoin(译注:除比特币Bitcoin 之外的其他加密数字货币),这是一种使用了有些许差异的规则,或来自区块链的不同初始起始区块的区块链货币。

更有趣的是,有时出于安全或政治方面的原因,需要由区块链中的某个片段来决定某个特定区块是否已经失效。这会创建一种所谓的“硬分叉(Hard fork)”,会导致两个互相冲突的区块链共存,并且两者会共享大部分交易历史。例如饱受争议的比特币现金(Bitcoin Cash),它的诞生是为了解决比特币本身固有的一些缺陷。如果你在2017 年8 月,该分叉创建之前拥有比特币,那么你现在就拥有了等额的“比特币”和“比特币现金”,至于这种结果在经济上是否合理,那就看你自己的想法了。

那么,你为什么不喜欢区块链?

我认为区块链仅仅是现有技术的重新组合,不能让我信服的原因在于它的长期效用。虽然坐看围绕加密数字货币和相关公司的投机泡沫这过程挺有趣,但在我看来,大部分想要将区块链拓展至泡沫之外的企图都挺愚蠢的。

有关不变性的问题

区块链在设计上是不可变的。除非施加一些极端措施,否则进入区块链的任何交易都将是永久的,不可逆的。对金融系统来说,这样的特点会产生大量明显的不足:欺诈性的或错误的交易无法撤销。网购商品没有送到?忍着!有人把你当作人质要求支付比特币作为赎金?忍着!私钥被黑或者硬盘损毁?对你而言这就是天大的不幸。唯一能撤销这种比特币交易的方法是要说服所有人进行硬分叉,毋庸置疑,这一点实现起来真的是很难很难。

这才只是金融行业的影响,工业呢?实际上目前只有很少量的系统可以从这种无法修正或更新的交易中真正获益。人类在操作电脑时出现失误的情况时有发生,甚至我们成立了专门的部门(客户服务)来解决这类问题。但在不可变的系统中,写入区块的任何信息都将真正无法撤销。如果要逆转错误的交易,唯一可行的方法是再一次真正执行一个逆向交易,这还需要说服交易的对方予以配合。很快,链条上将充斥着“哎呀,搞错了”之类的交易,很快,你也会开始怀疑,自己一开始为啥要劳神搞这套东西。

现实世界中那些讨厌的事情

对于区块链的应用,最常见的提议之一是用来追踪现实世界中商品的流通,从食品到钻石,一切都可追踪。乍看之下这真不错,你可以很轻松地,毫不费力地证明爱人戒指上那块耀眼的小石头不是由战乱地区的儿童开采出来的,太棒了!

问题在于计算机并不是现实世界。目前,哪怕对于并未加入区块链的数字化系统,区块链技术的影响力也极为有限,所以我们需要中心化的交易机构来促进使用美元、欧元等货币购买比特币的行为。实际上,要让计算机全面反映我们的现实世界,这本身就是一个非常艰难的任务,区块链技术本身在这方面束手无策。

假设你是“血腥钻石”经销商。你知道富裕的西方人喜欢钻石,但他们也不希望有儿童因为开采这些有争议的钻石而受伤害甚至送命。那么你就会有很强的动机直接向计算机撒谎,为这些钻石创建伪造的书面记录,从中获取更大利益。区块链本身完全无法防止人类的谎言或者错误输入的数值,而区块链不变性这一本质会使得犯错误的成本大幅增加。

为交易验证过程使用安全的硬件?想都不要想!本质上,区块链只需要一个密码就可以运转,只要有私钥就可以创建各种交易。如果影视盗版组织都可以从蓝光播放器中提取解密密钥,那么我保证钻石走私商很快也将能搞定这个问题。一旦攻击者掌握了硬件,那么把硬件大卸八块成功提取出密钥将只是时间问题。

对此,唯一的解决方案是让可信、中立的第三方负责验证商品来源与宣称的一致。但这不仅与最开始提到的“去信任”理念背道而驰了,并且为验证机构的员工赋予创建“这颗钻石是合法的”不可变记录的权力,这本身就会将员工置身于不必要的风险中。对于类似这样的问题,区块链系统相比现有措施没有任何改进。

权力和动机

区块链通常会使用“工作证明(Proof of Work)”系统,多个参与方会试图通过这样的系统解决某个困难的问题,借此验证区块是否有效。问题在于我们很难防止某一方掌控太多的挖矿(算力)池。也正是因此,目前比特币系统本身仅为了处理每秒约4 笔交易,就消耗了和美国特拉华州相同的耗电量。

问题在于:如此多的电力是很贵的,而且这一过程还需要大量特殊的硬件。从事这些事情的人、矿工以及商业运营的公司,他们付出这么多也是为了获得回报。对于比特币以及其他类似货币,回报正是货币本身。第一位解决了问题的矿工可以获得几枚比特币作为回报,后来就产生了各种从事庞氏骗局以及多层次传销的骗子公司。在任何非货币化的应用中,为了维持区块链的正常运转,这些矿工的付出必须能得到相应报酬。考虑到工作证明系统本身效率就不高,这种系统的成本要比类似规模的中心化解决方案高出好几个数量级。

对此有两种解决方案。为矿工的辛苦工作提供某种形式的代币,或者完全由你自己运行所有硬件。前一种方式已成为很多ICO(Initial Coin Offering,首次代币发行)的基础,并且围绕这种方式已经产生了太多的欺诈。后一种形式从本质上来看仅仅只是传统系统在一些花哨术语包装下的旧瓶装新酒,当然,少不了还要面对巨额的电费账单。

权益证明

除了工作证明系统外,还可以使用权益证明(Proof of Stake)系统。在权益证明系统中,持有最老货币的人会被选择充当最新区块的验证人。这种情况下不需要为每位验证人提供一定数量的货币作为报酬,而是由希望进行交易进而需要验证区块的每个人向其付费。同时这种情况也不需要将最长的链条视作最有效的,因为工作证明系统中最长的链条是“开采”最彻底的,而包含最古老货币的链条会被权益证明系统视作有效。

权益证明系统解决了当前工作证明系统中大部分严重问题,但也并非全部。整个系统的电力和算力成本可大幅降低,但未必能彻底免费。别人使用自己的手机/ 电脑/ 其他任何设备维持交易运转,我们依然需要向对方付费。链条将能运行更多交易,远远好于比特币那悲惨的每秒4 笔交易,但这又会导致整个链条的体积大幅增加。毕竟每笔交易都会永久保留在区块链中,比特币的区块链目前大小为157 GB,这就已经导致交易处理速度低至每秒4 笔。考虑到这个因素,每个人都能用自己手机挖矿的想法那就纯粹是个笑话。

同时,权益证明系统也无法解决上文提到的与现实世界的联系及不变性等因素造成的问题。

规模

坦率地说,目前几乎所有区块链系统的性能都是垃圾。一个区块可以容纳的交易数量有限,同时对于使用工作证明机制的区块链系统,为了验证一个区块所要执行的工作量也导致系统最大吞吐率维持在很低的水平。例如比特币平均每秒最多只能处理3-4 笔交易。以太坊(Ethereum)略好一些,每秒可处理15-20 笔交易。但面对Visa 公布的日均每秒1,667 笔交易,峰值时期可能更高的数量,前两者的表现黯然失色。换一种形象的说法,Visa 的处理速度可以满足一个正常规模国家的交易需求,比特币也就只能满足几家超市的需求。

我还考虑过到底有多少工业系统值得花费那么多电力并换来每秒钟处理个位数交易的处理能力。也许没几个。

注意:有人提出了改进比特币交易速度的计划,但大部分都需要彻底甩开区块链的概念,可区块链才是其中最重要的。考虑到这些解决方案可能随时投入实用,这不仅让我怀疑它们的可行性。其实这些解决方案还蕴藏着严重的安全隐患,甚至完全不值得一试。

ICO 也是欺诈

首次代币发售是加密货币领域一个很有趣的子类型。在 ICO 过程中,会有人创建一种全新的密码货币,用以代表某些新的风险项目中所蕴含的权益。为了筹集资金,代币会销售给出价最高的竞价人,而代币最终会因为某些“魔法”而产生用途和价值。毋庸置疑,ICO 领域蕴含着数不清的欺诈。

首先,ICO 按照设计看起来有些类似于首次公开募股(IPO),只不过少了各种繁琐的规定。实际上很多 ICO 并不向买家提供任何反对权或分红权,根据合约有些情况下甚至不允许出售,这也进一步限制了市场的发展。至于这些代币以后为什么能有价值?就算最新的 ICO 通常也给不出任何具体的理由。

其次,还记得欺诈这回事吗?根据估算,ICO 融资中最高有 10% 已经直接被偷走了。有时候可能是 ICO 的创建者收集了比特币或 ICO 想要筹集的其他货币,但从未真正发行过代币,然后把自己的网站替换成一个包含单词“Penis”的页面进而进行洗钱。也有可能是因为看似普通的整数下溢Bug 导致某人从4chan 支持的ICO 中盗取 80 万美元。超过半数情况下这些资金已经“被盗”了,我们只是不清楚到底是最终将落入某个第三方之手,还是从一开始这就是一个骗局。

第三,这些 ICO 中很少有哪个能与加密或价值这两件事存在任何有意义的联系,哪怕最轻微的联系。上文讨论供应链区块链时曾提到过这个问题,但是“与区块链的约会”以及“与区块链的‘不可描述’”都是毫无意义的胡扯,尤其是现在每个人对于自己在家时观看过什么内容这种隐私已经完全不重视了。到底疯狂到什么地步了?有人甚至开始用香蕉为 ICO 提供支持。这可不是开玩笑,他们宣称已经通过这种方式筹资 3,038,361.90 美元。

这些 ICO 到底荒谬到何种地步,以柯达 ICO 的事前剖析(Pre-mortem)为例,整个计划从上到下完全是在胡扯,其中还包含了大量内幕交易。如果柯达公司接下来几年没人因为内幕交易被捕,这才会让我觉得震惊。

那么智能合约又会怎样?

在所有密码学货币以及区块链技术中,以太坊(Ethereum)不仅与众不同而且非常有趣。以太坊为用户提供了一种简单(如果“简单”本身不会造成其他问题的话)的编程语言。我们可以借此创建程序或“智能合约”(别总说密码学技术的粉丝都不擅长营销),然后通过以太坊区块链运行这些东西。根据程序的复杂性,我们需要以 ETH 货币的形式为以太坊支付一笔名为“油费”的费用,程序的其余部分必须参与某种形式的以太坊交易。借此,ETH 货币的价值可以由以太坊区块链自身所运行的程序的效用提供支持。

乍看起来,智能合约是个很有趣的想法。通过创建能自主执行的合约,可以大幅降低法务和人力方面的复杂性与开销。大部分智能合约的粉丝在介绍这一想法时会不断提到“代码即法律”这个短语。当然,编写能产生永久性经济后果的程序,这本身就会让我产生相当严重的焦虑感,我也希望大部分高级工程师也能有类似的感觉。考虑到过去多年来在以太坊合约方面已经有大量高姿态并且高价值的舞弊行为,我的担忧也不是全无道理的。其中的一次舞弊已经严重到迫使以太坊进行硬分叉,这也意味着我的顾虑是有理由的。看起来,在足够多数量的人遭遇金钱损失之前,“代码既法律”的想法还是能站得住脚的。

结合上述情况,我敢说有很大比例的以太坊合约实际上就是庞氏骗局,至于 ICO 代币,可以在以太坊的基础上通过一种名为 ERC20 的协议轻松实现自举。这不禁让人对“智能合约”的长期可行性产生质疑,毕竟截至目前,这种系统最主要的用途依然是欺诈,以及各种新颖、坦率的诈骗。

结论

不,你可能并不需要区块链。

感谢郭蕾本文的审校。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2018-04-11 18:113086
用户头像

发布了 283 篇内容, 共 101.6 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

想不出来问题的你

escray

学习 面试

前端科普系列(2):Node.js 换个角度看世界

vivo互联网技术

node.js 大前端

前端科普系列(4):Babel —— 把 ES6 送上天的通天塔

vivo互联网技术

Java 大前端 ES6

关于Aborted connection告警日志的分析

Simon

MySQL MySQL错误日志

看智微智能互动录播系统如何建设“三个课堂”

InfoQ_967a83c6d0d7

我与游戏相伴【自我访谈2】

叶阳夏烟

系列 游戏 访谈录 剧情游戏 仙剑奇侠传

utf8字符集下的比较规则

Simon

MySQL 字符集

大数据技术思想入门(三):分布式文件存储的流程

cristal

Java 大数据 hadoop 分布式

6. 二十不惑,ObjectMapper使用也不再迷惑

YourBatman

json Jackson ObjectMapper

代理模式详解

大头星

前端科普系列(3):CommonJS 不是前端却革命了前端

vivo互联网技术

Java 大前端 脚本

LeetCode680-验证回文字符串 Ⅱ-Easy

书旅

LeetCode

LeetCode1160---拼写单词---Easy

书旅

LeetCode

你期待的薪酬是多少?

escray

学习 面试

rockchip的yocto编译环境搭建

良知犹存

Linux yocto rockchip

从Vessel到二代裸金属容器,云原生的新一波技术浪潮涌向何处?

华为云开发者联盟

Docker 容器 云原生 k8s Vessel

要刷LeetCode了,才发现自己连时间复杂度都不懂

大头星

算法 LeetCode

详解责任链模式

大头星

【程序员自救指南】中关村保洁大叔的一句话竟然帮我转正了

华为云开发者联盟

服务器 数字化 华为云 企业上云 云服务器

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

图雀社区

单元测试 自动化测试 Jest

一家估值20亿美元的公司,竟然没有办公室?

Atlassian

远程办公 Atlassian Jira

架构师训练营第十一周作业

Melo

Newbe.Claptrap 框架入门,第三步 —— 定义 Claptrap,管理商品库存

newbe36524

Docker 云计算 微服务 .net core ASP.NET Core

Docker 安装及配置镜像加速

哈喽沃德先生

Docker 容器 微服务

“深化产教融合·共育数字人才”全国产教融合信息化高峰论坛·江苏站成功举办

InfoQ_967a83c6d0d7

解读 Reference

浮白

ThreadLocal Reference ReferenceQueue Finalizer WeakHashMap

Python代码调试指南

王坤祥

Python Python基础

1.Flink任务之间通信开销-6

小知识点

scala 大数据 flink

ARTS打卡Week 11

teoking

想问面试官什么问题么?

escray

学习 面试

并发神器CSP的前世今生

soolaugust

并发编程 并发 Go 语言

不,你可能不需要区块链_语言 & 开发_Ashton Kemerling_InfoQ精选文章