为什么说区块链不是万能的?

转载
1759 天前
13846
区块链大本营

文章来源:区块链大本营 作者:SmartDec 编译: 王国玺


如今,人们出于各种原因将业界各类难题都寄希望于区块链,认为区块链是一种万能的技术。

但是,你还记得这张图吗?


是否需要存储状态,不需要;是否需要多个参与方,不需要;是否所有写入都是已知且可信,不需要...

所以,你不需要区块链。

从2017年年中开始进行智能合约安全审核以来,我见到了形形色色的区块链应用场景。一个特殊类型的应用场景是“blockchain use”,这似乎是合乎逻辑且有益的,但实际上包含很多问题。这些问题,让很多创业公司接连掉入坑中,梦碎,心死。


如何获得投资?

不停地说区块链发展十分快,直到饼画得足够大,成功忽悠到你的投资人,让他甘愿为你投资。

我将提供一些此类问题和无效解决方案的案例,真心希望无论你是开发者,还是客户或投资者,都能明白如何正确使用区块链。区块链真不是万能的!

一、8大「不需要区块链」场景

1、供应链管理

假如你订购了一批货物,承运人向你保证能够保持某些运输条件,比如全程将货物冷藏,你该如何确保他没有骗你?一个推荐的解决方案就是在卡车上安装温度传感器,该传感器将实时监控冰箱温度并定期将数据上传到区块链中。这样,你就可以确保货物在运输途中满足了承诺的条件?

这个解决方案有明显的漏洞,问题不在于区块链,而在于使用的温度传感器。作为现实世界的一部分,温度传感器很容易「被欺骗」,就比如说,恶意的承运人可能只冷却他们卡车内放置温度传感器的小冰箱,同时将货物留在卡车的非冷藏区域以节省成本。


左图表示预期场景:货物在大货车中全程冷藏。

右图表示攻击场景:受信任的温度传感器被放在一个冷藏的区域中(如冰箱),而货物则被放在非冷藏区域中。

我将此问题的原因归咎为:区块链并不是物联网( IoT )。

虽说区块链上不允许修改数据,但这并不能保证数据都是正确的,这里唯一的例外就是链上交易:当区块链系统不需要与现实世界交互时,也就是说所有必要的信息都已经保存在区块链上,而系统只被允许验证数据(例如,验证一个账户是否有足够的资金来进行交易),除此之外,与现实世界的交互是不可避免的。

从现实世界中向区块链提交信息的应用程序被称为“预言机(oracles)”,这个过程中出现的问题被称为预言机问题,在找到预言机问题的解决方案之前,任何基于区块链的供应链管理试验,就像上面这个例子,与在没有开发出可靠引擎的情况下尝试设计飞机一样,毫无意义。

2、对象真实性保证

虽然这种场景与前一种场景类似,但我想将其单独列出,因为它有着不同的表现形式。

假设我们生产手表、葡萄酒或汽车等独特而又昂贵的商品,以葡萄酒为例,我们希望客户绝对确信他们买到的是我们生产的葡萄酒,因此我们将生产的葡萄酒酒瓶与区块链上的token链接,并在酒瓶上放置二维码以供客户查询。生产环节的每一步(从制造商,到承运人,到商店,再到客户)都会通过一笔笔单独的区块链上交易进行确认,客户可以通过酒瓶在线跟踪自己收到的葡萄酒。


然而,这个区块链系统有一个简单却致命的漏洞:一个不诚实的卖家可能会复制这个绑定了token的真酒酒瓶,在其中填充低质量的葡萄酒,或者是移花接木偷走你昂贵的葡萄酒,甚至当卖给那些不懂区块链的买家时,连伪造token这一步都能省了。为什么在区块链这个信任平台上作假这么容易?因为区块链并不是物联网!

葡萄酒酒瓶是现实世界中的存在,因此可以伪造,而不像数字签名那样真伪一验便知。

3、声明真实性保证

我们以大学文凭的真实性为例。在这种情况下,我们需要验证声明的真实性(如小明从大学毕业),而不再是物理对象。为确保文凭是真实的、发行日期是准确的,我们需要检查数字签名和时间戳。

数字签名机制十分有用,但数字签名并不等同于区块链。事实上,在区块链出现之前,数字签名就已经存在并且被广泛应用。请注意,当下数字签名通常被当作区块链的一大创新,也许你真正需要的只是数字签名机制,而区块链对你的需求来说可有可无。

时间戳机制更接近于区块链。事实上,区块链本身就是一种最可靠的时间戳方法。当有要记录时间戳的需求时,你不需要再重复造轮子:只需将数据的哈希值上传到比特币区块链即可。


回到大学文凭真实性的例子,将几位教授数字签名后的大学文凭的哈希值上传到比特币区块链上是一个好主意吗?是的,不过,重要的是不能通过网站或应用程序来中心化地执行验证,如果中途要经历中心化的环节,那么要区块链有什么用?这将会是一个牵一发而动全身的单点故障(a single point of failure,指系统中一点失效,就会让整个系统无法运作的部件)。

4、投票

在使用区块链进行投票时,我们需要明确自己想要解决的问题。

a)伪造投票/选民身份验证

要解决这个问题,我们只需要数字签名,而不是区块链。

这里的主要问题是私钥:即从哪里获取私钥以及如何存储它。无需解释的是,在最终用户设备之外的任何地方生成密钥的任何系统,从设计上来说就是一大败笔。但除此之外,拥有开源和经过适当审核的密钥生成软件,第三方硬件(最简单的选项就是智能手机)以及懂得使用私钥的用户也很重要。

系统开发人员可以解决前两个问题,但第三个问题要困难得多。比特币可能会帮助我们学习如何使用公钥和私钥。但实际上,丢失你的社交媒体账户密码或投票密码是一回事(可通过中心化的管理机构找回),而丢失掌控你加密货币的私钥则是另一回事(无中心化管理机构,不可找回)。

再一次,如果我们需要将公钥用于投票过程中的身份认证,那么将公钥与指定的投票人联系起来的过程也会出现预言机问题。


“我听说你喜欢投票,那让我们对投票的形式进行一次投票,这样我们就能投票选出我们想要的投票形式了。”

b)公开可见的计票

可以这样说,以太坊智能合约可以完美地实现公开可见的计票,因为它让每个人都可以看到任何特定候选人共收到多少选票。然而,在这种情况下,投票的公开程度可能过高,反而会造成不好的影响,因为我们可以看到其他人将选票投给了谁,并可能受到其他人投票的影响。尽管该系统可以设计成只有投票者能够看到自己的选票,但还会有另一个更复杂的问题:只要投票者在技术上能够提供投票选择的证据,他们仍然处于压力之下。

在这里,我们再一次遇到了预言机问题,我们需要仔细检查是否有来自虚假选民的额外投票。

5、作者证明

设想这样一个场景,如果艺术家 A 想要使用区块链来记录某幅画是他的。不难想象,他会拍一张照片,将照片的哈希值上传到区块链中,然后将照片发布到博客中。以后,如果艺术家 B 声称这幅画属于他,艺术家 A 可以通过展示博客中的照片和区块链中的哈希值来轻松证明他的作者身份。


乍一听这个方案似乎完美无缺,但在这种情况下会有两个潜在的问题:

首先,艺术家 B 可以宣称他不知道区块链,因此不能用它来注册自己的作者身份。因此,只有在区块链上注册成为惯例之后这种方法才有作用。

其次,艺术家 B 可以闯入艺术家 A 的工作室,拍摄这幅画的照片,并在艺术家 A 之前将照片的哈希值放在区块链中。

这些问题背后的原因还是:区块链并不是物联网!

然而,总的来说,这个使用场景是行得通的,同时,除了比特币的区块链之外,它不需要任何其他东西。

请注意:我只是在谈论作者身份证明,因为我认为知识产权的观点是无意义的。

6、土地登记

另一个推荐的使用场景是将基于区块链的token与土地所有权联系起来,不过,这个使用场景至少存在两个问题。

a)监管机构的影响。虽然葡萄酒/手表/汽车等商品可以通过点对点网络( P2P )交易,但土地所有权以及所有权转让必须在监管机构进行登记备案,在现实生活中,监管机构可能会随时访问你的土地并强制执行他们的意愿。

比如说,如果监管机构要强行征收你的土地,区块链上的记录会发生什么变化?有一种可能是,区块链上的记录仍然指定你为土地所有者,而这已不再是事实;而另一种可能是,监管机构可以创建自己的记录,从而改写你的记录,这意味着区块链将不再起作用。这是非常关键的一点,因为区块链可以用来保护你免受监管机构和任何个别官员的欺诈活动侵害。


b)中心化的发展和支持。我们要仰望星空,但也要脚踏实地,用区块链做土地登记的愿景很好,但这个任务交给谁来干呢?谁来开发这样一个大型的系统以及支撑起系统的节点呢?如果监管机构本身或者是他们的合作伙伴来执行这项工作,那么这样的系统将不会去中心化。建立在中心化开发之上的去中心化协议就等同于中心化协议。

此外,每当有人向你介绍区块链的使用场景时,请问问自己:这种使用场景是否仅需要分布式数据库就可以了?

如果答案是“是”,那为什么要用区块链?实际上,区块链更慢,资源更密集。此外,数据库开发和集成方面的专家也更多,更容易找到,他们的工作产品更容易检查,系统支持也更为简单。

鉴于所有的这些挑战,我认为分布式数据库是当今土地登记的更好选择,即使它需要变得更加可靠和开放。

实际上,看起来这个使用场景已经落地。俄罗斯区块链公司 Bitfury 最近宣布推出基于 Exonum 框架的区块链土地登记系统,并将在乌克兰和摩尔多瓦提供服务。奇怪的是,我找不到这个使用场景的任何技术细节,这意味着可能由于某种原因, Bitfury 并不急于宣传它。

7、银行间转账

按照你是否真的需要区块链的逻辑,银行间转账是一个很好的“blockchain use”场景。这个使用场景涉及许多互不信任的参与方,且没有任何可信任的第三方参与。虽然在这个场景中可以使用比特币,但银行不会同意将二者间的交易数据公开可见。因此,私有链就成了最佳选择,在私有链中参与者只有银行,他们自己输入数据,运行节点,并验证所有其他方的交易。


在功能方面,该系统与具有访问控制的分布式数据库有何不同?是的,确实如此,只有当双方之间存在分歧时区块链的价值才有所体现。但这里的问题是:在遇到分歧时银行是否会同意区块链系统中建立的共识,还是会向现实世界中的法院提起诉讼?如果银行可以选择向法院提起诉讼(例如他们从未签署过无条件接受区块链系统中的所有决定的协议),那么这个区块链系统就可有可无。

此外,如果监管机构禁止使用或限制使用此类区块链系统,或指示法院拒绝使用区块链系统的数据,那么这个使用场景就毫无意义。

8、可信投资

对,没错!我实际上是在写 2019 年的首次币发行( ICO )。为了证明它的持续相关性,我要指出,1 月 28 日,下载软件 BitTorrent 进行了一次成功的 ICO。

我所说的“Token for token’s sake”是指一些创业公司发行token,并表示token持有人有权分享他们公司的权益、利润等等。

与风险资本投资者和监管机构不同,区块链不会要求创业公司对其投资者负责。仅凭token形式的承诺并不会强制要求公司的创始人做任何事情,我们在 ICO 的繁荣时期曾多次看到过这种现象。从这个角度来说,ICO 更像是非法集资而不是首次公开募股(IPO)。

虽然我十分赞同去中心化的机构并反对监管控制,但我必须承认,这个领域中几乎没有成型的区块链系统,这意味着你必须选择现有工具或信任创业公司的创始人。

二、区块链可以做点什么呢?

接下来我们来讨论一些区块链有前景的使用场景。

1、区块链作为触发器

奇怪的是,即使是尚未投入运行的使用场景也可能会很有用。就比如说一个公司使用过时很久的工艺流程和系统,随着时间的推进,危机一步步显露出来,一般的管理层会选择常规且通用的解决方案,进行大刀阔斧的改革,而有的管理层会“另辟蹊径”,将精力投入炒作(区块链/大数据/人工智能/物联网)来取得领先地位。


今年业务的重心该放在哪里?

区块链!区块链将改变世界,人人都在讨论区块链,

区块链有无限的应用场景,我们不能落后。

除了区块链还有什么呢?

还有人工智能!

到那时,精明且负责任的内部创业者可能会提供巧妙的系统设计,将其作为区块链进行营销。区块链可能让公司业务如虎添翼,也可能只存活在那些光鲜的PPT上,这取决于具体的情况。

如果你有机会使用区块链,请确保它真的是区块链,而不是挂羊头卖狗肉。

2、货币

区块链非常适合处理货币相关的业务,区块链记录并验证类似于“账户 A 拥有的金额为 X ”,“账户 A 将金额 X 转给账户 B ”,“账户 B 现在拥有的金额为 X ”的声明。

BitTorrent 前首席战略官 Simon Morris 在 BitTorrent 加密货币课程系列文章中题为《如果你没有违反规则,你就做错了》中说,去中心化的最初目标就是为了打破规则,当然了那些遵守规则的人会试图阻止你。

比特币完全符合这一论述,因为它打破了只有政府才能发行货币、规定货币发行程序、决定哪些交易有效哪些交易无效的旧规则。


更重要的是,我认为比特币发挥了特定的作用:在技术出现之前很久就以一种易于理解的方式转移价值。与此同时,大多数区块链初创公司必须从一开始就解释他们是要解决哪些问题以及为什么要解决这些问题,这对那些通常先寻找客户,检验商业模式并试图与市场保持同步的传统初创公司来说,是想都不敢想的,传统初创公司都在解决现有问题,而不是像区块链初创公司一样创造新问题。

3、智能合约

没有人真正知晓智能合约是什么以及它们的使用场景,因为智能合约这个概念还处于发展早期阶段。当去中心化的比特币真正发挥作用时,人们会知晓并习惯于使用加密货币;当我们在以太坊上运行去中心化的智能合约时,我们仍然需要处理硬拷贝(hard-copy)的智能合约,且中心化智能合约根本就不存在。我们可以尝试同时跳过两个步骤,但要做到这一点,我们需要时间和可行的发展路线。

就个人而言,我相信智能合约会找到合适的发展方向,这也是我在这个领域工作的原因。

区块链的未来还需要时间来检验,至少你现在还不需要区块链!