许可区块链解决方案的五个挑战以及解决问题的工具和协议

2019-02-23 17:42 栏目:经验之谈 来源: 查看()
实施许可的区块链解决方案既有趣又具有挑战性。每天,主流媒体都有新文章声称区块链技术将改变这个行业,但现实并不那么吸引人。区块链为已建立的业务流程带来了巨大价值,但大多数许可的区块链实施尚未通过试验阶段。在最初的兴奋之后,大多数团队意识到要将新的Web3技术集成到现有的企业堆栈中,大规模实施许可的区块链应用程序需要大量的技术技能和基础设施。

在过去的一年中,我们的Invector Labs团队已经接触到高度复杂的区块链场景,每个场景都有自己的一系列基础架构挑战。在与经历过多次软件革命的技术人员分享我们的经验时,他们中的许多人将Web应用程序的实现与Netscape早期Web应用程序或Oracle和IBM DB2早期数据库系统的实现进行了比较。在这些情况下,这些技术的实际应用程序用例比相应的基础架构发展得更快。这种动态与最近的转型技术运动形成鲜明对比,例如云计算或移动计算,其中基础设施从一开始就非常稳固。

许可区块链解决方案面临的真正挑战是什么?从核心基础设施领域,如身份,数据存储,集成或消息传递,到部署和管理智能合约的过程;许可的区块链应用程序需要开发人员在正确的位置设置正确的构建块以提高效率。在Invector Labs,我们很幸运地尝试了许多新的区块链协议或工具,我们经常使用这些协议或工具来解决许可区块链实施的挑战。不幸的是,这些工具和技术看起来完全不同,具体取决于底层的区块链堆栈。

通往任何许可区块链应用程序的道路始于两个基本决策。:

许可区块链解决方案的五个挑战以及解决问题的工具和协议

第一个问题的答案将决定区块链应用程序的核心开发堆栈。目前,像他们的区块链解决方案的主要选择,如Hyperledger Fabric,Quorum或Parity等以太网变体,还有一些吸引力,如R3 Corda或Hyperledger Sawtooth。至少在纸面上,Dfinity或Hashgraph等即将推出的堆栈似乎非常适合许可的区块链解决方案,但它们尚未在实践中得到证实。

第二个问题的答案将决定许可区块链应用程序的核心基础结构。提供和维护内部区块链网络绝非易事,而且许可最多的区块链堆栈与Docker或Kubernetes等平台没有很好的集成。区块链即服务(BaaS)平台,例如azure BaaS,Kaleido或最近AWS提供的服务,可以真正简化区块链网络的配置和管理,使开发人员能够专注于构建dApp而不是基础架构。

下图说明了上述两个问题的决策过程。

许可区块链解决方案的五个挑战以及解决问题的工具和协议


许可区块链应用的真正挑战

选择区块链平台和相应的运行时只是旅程的开始。任何许可的区块链解决方案,只要它比美化数据库更复杂,就会遇到底层平台无法直接解决的许多基础架构挑战。让我们探讨其中的一些。

整合

如果您在许可的区块链应用程序中使用智能合约,则可能面临与API的脱链系统进行通信的挑战。 Oracle是处理外部通信的区块链架构的一个组件。但是,实施Oracle是一项高度发展的工作。我们发现有几种技术在这方面很有用:

Chainlink: Chainlink提供了一个简单的编程模型,将比特币或以太坊智能合约与外部输入联系起来。该框架还避免依赖“集中式Oracle”作为单点故障。

Rhombus: Rhombus是Oracle竞赛的最新成员,它为将以太坊智能合约与外部数据系统连接提供了一个非常优雅的模型。 Rhombus支持基于主动模式(例如计划或按需)和推或拉数据访问模式的不同Oracle体系结构。

Oraclize: Oraclize专注于将API和数据系统连接到不同的区块链,如以太坊,EOS,Hyperledger Fabric或BlockApps。 Oraclize的编程模型并不像其他替代方案那样丰富,但它通过为不同的区块链提供强大支持来实现这一目标。

数据访问

许可的区块链有助于编写信息,但它无助于阅读信息。大多数许可的区块链解决方案需要与区块链中记录的数据进行交互,但数据难以访问且非常难以理解。以下是一些有助于应对这一挑战的协议。:

•图表:该图表提供了一种机制,用于将以太坊智能合约处理的数据暴露给GraphQL端点。这允许外部应用程序使用熟悉的GraphQL语法查询区块链数据。

数据隐私

许多许可的区块链场景在受监管行业中运行,具有强大的数据隐私限制。因此,保护​​和增强对链上数据的访问控制是许可区块链解决方案的关键要求。下面,我列出了一些我们在这方面发现有用的技术。:

仲裁: Quorum区块链以零知识证明的形式为私有事务提供本机支持。
·Aztec:最近宣布的Aztec协议在以太坊智能合约中提供了零知识隐私的可靠实施。

数据存储

区块链不是存储大量数据的最佳工具。许可的区块链解决方案通常需要外部数据存储。遗憾的是,许多用于公共区块链的分布式存储解决方案不适用于许可的区块链方案。以下是一些解决方案。:

BigchainDB:  BigchainDB为事务存储和查询提供优化的分布式数据库模型。您可以使用MongoDB查询语言来查询BigchainDB中的数据。 MongoDB查询语言支持丰富的数据访问交互。

IPFS专用网络: IPFS是区块链应用程序最常用的存储系统,但通常被认为是区块链的常用解决方案。但是,IPFS支持配置专用网络,该专用网络限制与一组已知节点的通信。

AWS Quantum Book:我们对即将推出的AWS Quantum Book Database非常感兴趣。在许多许可的区块链场景中,没有共识的不变性概念当然是可行的。如果没有,量子书籍也可以成为私人分布式应用程序的补充存储模型。

身份

许可区块链解决方案网络中的参与者的身份相对众所周知。因此,在这些场景中,许多复杂的共识计算协议是多余的。此外,大多数公司已经拥有了他们想要在许可的区块链解决方案中使用的用户目录。下面列出的技术有助于识别许可区块链解决方案中的标识符:

uPort: uPort一直在稳步构建一系列用于管理分布式应用程序的身份协议和解决方案。当前堆栈与以太坊智能合约兼容,可用于许可的区块链应用程序

Azure BaaS: Azure团队极大地扩展了不同区块链的核心协议,以利用Azure Active Directory身份。最近的一个例子是在以太坊应用程序中实施权威验证共识协议。

在消息传递,测试,版本控制和许多其他领域,区块链应用程序的许可面临着额外的挑战。本文中列出的协议和工具是我们在实际实现中发现的最有效的解决方案,但在不久的将来可能会有大量即将到来的技术堆栈。

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

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

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发