哪些适合用区块链?哪些不适合?

2019-04-06 13:06 栏目:经验之谈 来源:网络整理 查看()
前言:什么是区块链适合和不适合做什么?它一直是有争议的。那么,通过什么方式来识别它呢?本文使用详细的流程图来处理此问题。本文作者是Mohammed ElSeidy,由“蓝狐音符”社区的“新心”翻译。

围绕区块链的炒作极大地夸大了这项新技术的实际能力和应用。这种热情使公司,开发商和投资者难以理解他们的实际限制,并找到适合区块链或分布式账本技术的应用。

来自苏黎世联邦理工学院的KarlWüst和Arthur Gervais最近发表了一篇同行评审论文,该论文提出了一种结构化方法,有助于确定如何解决特定应用问题的合理技术解决方案。在本文中,我们将介绍此方法并解释本文中使用的一些示例。

技术比较

哪些适合用区块链?哪些不适合?

区块链是持久(保存)状态下的“仅可添加”分类帐。状态可以是事务信息,程序数据或散列文档等。基本上,它是需要持久化的任何信息。几十年来,数据库一直在执行这项任务。此外,区块链代表一种新的状态持久性技术——,具有数字签名和防篡改等附加功能。让我们重温三种主要技术:

1.数据库

首先,数十年来,数据库(单一,并行或分布式)已用于保存状态和查询数据。已经使用了许多有价值的研究来优化不同级别的查询处理和状态持久性。

•当然,它们在事务吞吐量和查询延迟方面具有最高性能。
•但是,它们长期以来被设计为单一机构的集中管理。因此,不需要在不同方之间建立共识机制。

2.Permissionless区块链

公共链是公共分类账(州),不由集中式组织管理。也就是说,书籍分布在动态P2P网络中,网络中可能存在恶意节点。

•Nakamoto的智慧在于设计一种在分布式状态和动态不可信网络中保持共识的机制。这意味着公共链可以容忍网络中的少量拜占庭或不值得信任的行为。

•一切都需要付出代价,并且需要在性能开销(吞吐量和延迟)方面进行权衡。在比特币中,性能急剧下降是由于POW协议本身的设计非常缓慢。在任何公共链中,与普通数据库相比,性能下降是不可避免的。因为,在任何情况下,为了保持分布式状态的一致性,在(地理上分布的)网络中的不同节点之间的通信是必要的。

3.联盟链(Permissioned Blockchains)

联盟链代表混合设计选择。特别是,它们不是单个集中式实体,而是被授权给可以写入的少量预先选择的可信节点。

•由于数据库网络无法扩展到大量公共节点,因此其吞吐量和延迟要远远优于公共链。
•尽管如此,其性能仍然无法与集中式数据库相媲美。

在阅读了这些不同的系统之后,很容易意识到没有针对所有场景的解决方案。一切都需要选择。不同的应用有不同的需求,因此需要不同的合适解决方

“你需要区块链吗? “流程

哪些适合用区块链?哪些不适合?

选择正确技术解决方案的流程图。 TTP(可信第三方)代表受信任的第三方,编写者是可以将状态写入数据库或区块链的实体。

本节介绍了本文中常见的高级流程图,以便为您的应用找到合适的技术。请注意,编写器是一个可以将状态写入数据库或区块链的实体。

1.如果您的应用程序不需要持久状态,那么显然不需要区块链或任何数据库。

2.类似地,如果只有一个写入状态的写入器,则与常规数据库相比,区块链不提供额外的保护。相反,从性能角度来看,数据库可能更有效。

3.否则,如果写入状态中有多个写入器,则选择另一个路径。问题在于是否存在在线TTP(可信第三方)是否足够,或者换句话说,是否需要篡改。如果应用程序不能依赖单个可信实体,我们可以进一步分析是否需要区块链。否则,不需要使用区块链,从性能角度来看依赖于集中式实体会更有效。

4.接下来的问题是:所有写状态的作者身份是否已知? ”。如果由于不受信任的动态网络(例如Internet)而未知身份,则公共链是正确的选择。

5.否则,如果身份已知,则下一个问题是“这些作者是否相互信任? ”。如果是这样,则不需要区块链,并且使用提供共享写访问的数据库就足够了。否则,如果作者不相互信任,那么最合适的技术就是联盟链。

6.最后,如果它是一个联盟链,根据是否需要公开可验证性,任何人都可以阅读国家(开放的联盟链)或只有少数受限用户(私人联盟链)。

应用实例

让我们用一些例子来了解哪些应用程序真正需要区块链,哪些不需要,以及为什么不需要。

不需要区块链应用

哪些适合用区块链?哪些不适合?

•供应链管理(SCM):这确实是一个反复出现的应用程序。让我们按照流程图找到最佳匹配技术。

1. SCM确实需要存储数据。
2.涉及多个作者,即拥有最终产品某些部分的不同参与者。
3.继续我们的方法,SCM在技术上可能总是使用在线TTP。例如,Skuchain认识到只需要一个单一的信任源,但这会删除区块链的分散组件,因此它等同于受信任的集中式服务器。

4.如果这不起作用,至少所有作者都是已知的,只留下联盟链或不使用区块链。

5. SCM在数字世界和物理世界之间的界面中存在一致性问题。如果质量不是问题,通常需要由单个作者控制的人或某个机器来登记到达仓库的物品。如果这些员工的运营不可靠,那么整个供应链就是技术上的妥协,因为恶意作者可以提供任意数据。另一方面,如果所有编写器都是可信的,则不需要区块链,因为使用了提供共享写访问的常规数据库。

请注意,如果可以通过某种技术手段以安全的方式实现数字世界和物理世界之间的连接,则先前的参数可能会发生变化。

•物联网:许多人已经在物联网(IoT)上提出了区块链技术的可能使用场景,通过智能合约提供了一个自动系统来支付和消耗资源。由于系统固有的分散化,实体不相互信任,使用区块链似乎很自然。

但是,与供应链管理一样,物理世界和数字世界之间的界面也会产生潜在的问题。如果计算机将从传感器读取的值提供给区块链,则区块链无法保证这些值的正确性。如果您只需要自动化,则无需使用区块链,您可以使用可信方。

适用于区块链应用

银行间和跨境支付:对于金融应用,区块链技术通常是合适的,因为参与者通常希望避免风险并且不想依赖强烈的信任假设。

1.在跨行支付中,多方(银行)作家和想要交换价值和交易的主体。所以国家需要坚持下去。
银行都是作家,因此不止一位作家。
在单一货币体系中,中央银行可以充当TTP。
4.否则,还有另一种配置。中央银行不希望作为每笔交易的核查员。它只希望作为证书颁发机构向银行颁发许可证以参与该系统。这意味着系统的所有编写者都是已知的,我们可以使用联盟链。

•贸易和公平交易协议:同样,数字商品交易可能不需要受信任的争议调解员,因此非常适合使用区块链,而实物商品仍需要受信任的第三方来解决争议。

•电子投票:同样,电子投票也具有区块链可以派上用场的特征。例如,一方面,隐私是一项主要要求,因为投票必须是匿名的,以避免被强迫。另一方面,电子投票需要提供一些公开的可验证性。由于这些需求,使用区块链来帮助获得这些理想的属性似乎是合理的。

结论

与传统观点相反,区块链不是解决所有技术问题的方法。实际上,它们更适合满足一系列要求的特定类型的应用程序。特别是那些牺牲性能以换取分散和防篡改一致性的应用程序。
 
尽管如此,许多“承诺”的应用程序仍然不适用于区块链,例如供应链管理。对于那些追随潮流并且没有真正考虑其基础技术和程序必要性的狂热开发者和企业家,我们需要保持警惕。

到目前为止,具有可信需求的数字商品和服务似乎是使用区块链的最合适的应用场景。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:币友交流QQ/WX群请联系客服加入!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
虚拟币开发,虚拟币交易平台开发,山寨币交易平台开发 Keywords: 虚拟币开发 虚拟币交易平台开发 山寨币交易平台开发