写点什么

不,你可能不需要区块链

  • 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 的协议轻松实现自举。这不禁让人对“智能合约”的长期可行性产生质疑,毕竟截至目前,这种系统最主要的用途依然是欺诈,以及各种新颖、坦率的诈骗。

结论

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

感谢郭蕾本文的审校。

2018-04-11 18:113251
用户头像

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

关注

评论

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

数据安全再添保障!TapData 顺利通过 SOC2 Type 2 权威认证

tapdata

数据安全 实时数据平台 数据合规 数据集成工具 soc2type2认证

东芝音画双芯MiniLED电视Z750NF上市,打造真实影院级视听盛宴

Geek_2d6073

华为云开源时序数据库openGemini:使用列存引擎解决时序高基数问题

华为云开发者联盟

Clickhouse 时序数据库 高基数 openGemini

珂芝双十一AI体验月福利来袭,更有众多新品上新!

科技热闻

有php转go项目经验者优先?

王中阳Go

php Go 面试

为何大多数程序员不选择个人独立开发?

Geek_2305a8

专业级的音乐制谱软件 Steinberg Dorico Pro for Mac 中文版

理理

在昇腾Ascend 910B上运行Qwen2.5推理

SEAL安全

KeyShot 2024.3 for mac专业实时渲染和动画软件

Mac相关知识分享

AI 产品系统的数据指标

采芑

指标中台; 数据分析 AI 基础设施

如何应对频繁变更的需求以防项目范围蔓延

爱吃小舅的鱼

需求管理 需求变更 项目范围

DNS解析常见问题有哪些?DNS解析出现问题怎么解决?

国科云

DApp质押挖矿系统开发详细案例及源码部署指南

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 代币阿凯

ULTIMATE VOCAL REMOVER V5 for mac(UVR5终极人声去除器)v5.6激活版

理理

CAD迷你看图 for Mac

Mac相关知识分享

测试开发岗位就业与内推指导公开课

测试人

软件测试

前端技术探秘-Nodejs的CommonJS规范实现原理

京东科技开发者

一张网支撑AI端到端应用,哔哩哔哩与华为联袂演绎高维度算网融合

新消费日报

软件测试学习笔记丨Flask操作数据库-数据CRUD(增删改查)

测试人

软件测试 测试开发

项目经理把控项目质量真的很难吗?

Hi-CodeCaptain

代码质量 测试覆盖率 精准测试 软件开发、 质量内建

iZotope RX 11 专业音频修复软件

理理

百度沧海·存储统一技术底座架构演进

Baidu AICLOUD

对象存储 分布式存储 云存储 存储架构

如何激发下属的工作积极性

老张

团队管理 绩效管理

测试开发岗位就业与内推指导公开课

测吧(北京)科技有限公司

测试

Autodesk Maya 2025 for Mac综合性的三维动画创作软件

Mac相关知识分享

dubbo3.0 服务导入导出原理

京东科技开发者

TapData 发布官方性能测试报告,针对各流行数据源,在多项指标中表现拔群

tapdata

数据复制 Tapdata 实时数据集成 tapdata性能测试 性能测试报告

Java并发编程知识图谱,掌握并发业务所需的技能点(收藏篇)

肖哥弹架构

Java 并发编程 高并发

2024年游戏市场买量潜力如何?

Geek_2305a8

Set A Light 3D Studio for Mac开创性的摄影工作室模拟软件

Mac相关知识分享

加锁失效,非锁之过,加之错也

京东科技开发者

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