云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_那个不为人知的故事百度云_超低折扣

小七 141 0

我刚开始在SAP工作,但在我的大学生涯中广泛接触了各种新兴技术,并看到SAP及其客户希望更好地了解这些技术以及如何以最佳方式实施这些技术。为此,我希望这篇博文能给区块链这个复杂的世界带来一些清晰的认识。

抛开所有围绕区块链或分布式账本的炒作,在决定应用程序的某个方面使用什么技术时,我们要问的最重要的问题是,我们是否在谈论数据库,一种编程语言或一个平台,是:为什么是这种技术而不是别的东西?仅仅因为你没有研究替代品而选择某样东西,或者你只是根据最近收到的媒体报道的数量来假设它是最好的选择,这将不可避免地导致最终产品的设计和优化都很差。我知道SAP不想提供设计糟糕或优化不当的产品。在这种情况下,我将尝试检查分布式账本技术的弱点和优势,并得出在企业环境中分布式账本技术的合理实施范围。

注意:我将在本篇文章中把区块链称为分布式账本,以帮助区分加密货币实现。本文还假设您对区块链/分布式账本领域中使用的一些关键术语有基本的了解。如果这是你读到的第一篇关于区块链/分布式账本的文章,我建议你继续读下去打开

什么是分布式账本?

让我们从分布式账本(DL)的定义开始。DL是信息的共识和信息的历史记录,在没有中央管理员或中央数据存储的情况下在所有参与方之间完全分发。DL并不特别需要区块链,但区块链是目前最具功能的实现方式。

由于我们对企业环境感兴趣,让我们关注一个许可的分布式账本。这里的Permissioned指的是区块链不是公共的,只在选定的各方之间共享,这无疑是任何希望使用区块链进行数据存储的公司的先决条件,并且不希望未知的参与者连接和劫持他们的网络。因此,要在没有中央机构的情况下达成真正的共识,就必须通过共识方法,在当前世界资产状况下,验证每一项交易是否有效,通常需要所有参与节点中至少有多数人的认可。每一个交易方案和验证步骤都会签署,以保证参与者的真实性。在验证之后,此交易与其他验证和签名的交易一起被订购,并作为打包块添加到区块链中。在这些过程中,事务和块也被散列,通常遵循merkle树(https://brilliant.org/wiki/merkle-tree/). 我故意试图保持这里的语言含糊不清,因为许可、验证、共识、排序和广播方法的细节在实现之间自然会有所不同,但基本概念是相当静态的。下图描绘了一个清晰的图形,显示了创建事务所采取的典型步骤流程,该图形取自Hyperledger Fabric文档。所有进一步的讨论将松散地使用Hyperledger结构作为参考点,因为这是SAP选择的解决方案所基于的实现。对Hyperledger Fabric的确切体系结构感兴趣的人应该花一些时间阅读他们的文档:https://hyperledger-fabric.readthedocs.io/en/release/arch-deep-dive.html

来源:

优点和缺点

那么,这提供了什么特性DL?让我们从弱点开始。DLs有很多缺点,包括难以实现、复杂性、事务吞吐量低以及难以改变其结构/规则,轻淘客,但是我发现必须解决的主要缺点是性能。我将假设DL的性能总是比传统的分布式数据库差(我说分布式数据库是因为如果您试图使用DL来替换单节点中心数据库,您会有一些基本的误解)。这是因为几乎所有流行的分布式数据库(Cassandra、CouchDB、Datomic)都使用某种复制/广播方法来分发数据,这种方法假定原始数据库中的数据是正确的,并且可以简单地广播到网络中的所有其他节点。另一方面,DL在广播之前需要至少来自大多数其他节点的验证。此外,在该事务的验证期间,所有节点正在检查它们接收的所有分组的签名的有效性,并且一旦事务已经被至少多数或设置的阈值验证(并且可能被甚至更多的节点检查),则将其发送到被排序的位置,在那里它等待直到指定的事务量等待已经收集了一个块,因此可以创建一个新块,并将其广播回网络中的所有节点。所有这些工作都需要在"经典DB操作"的基础上完成。因此,由于其设计的性质,DL将不可避免地比传统的更新广播分布式DB模式性能差,并且随着网络和验证节点数量的增加,性能将降低。实际上,我们谈论的是负面的网络可扩展性,这并不能提供一个好的广告口号。

如果一个DL有这样的性能问题,免费云服务器试用,为什么要使用它呢?因为它提供了其他分布式数据库技术所不具备的功能。由于每笔交易都必须由大多数背书人进行验证,因此不可能将欺诈性交易推送到一方控制的背书节点不超过多数的网络上。由于哈希方法非常强大,因此不可能更改已经写入区块链的交易,即使重新计算所有哈希,也必须提供正确的签名,并用伪签名替换大部分现有区块链。由于智能合约被编程为自动执行,并在存储到区块链上之前由相关方预先确定和商定,因此所有内部交易逻辑也有效地不可变,生态环境大数据,并与恶意篡改隔离开来。由于对读/写访问权限授予和向网络中添加新节点的控制是真正分散的,并以民主方式取得成功,因此任何一方都不能向系统中注入节点以获得多数,从而允许它们绕过前面提到的保护。显而易见,所有这些功能的共同点是信任,这是其他分布式数据库无法实现的。分布式账本仅在多方存在且各方之间不完全信任的环境中使用。如果任何一方有动机更改事务/数据库条目,或者应用程序的范围要求绝对的数据安全性,以防恶意篡改,无论是从网络内部还是从网络外部,DL都是一个很好的选择。这也是DLs的主要卖点,不应该被看作是微不足道的。DLs解决了以前任何数据库都无法解决的问题,从而开辟了以前根本不可能存在的业务解决方案的新领域。

智能合约