首页 > 区块链 > 基于区块链构建混合DApp架构
筷子链  

基于区块链构建混合DApp架构

摘要:混合区块链1 引用Wessling F , Ehmke C , Hesenius M , et al. How Much Blockchain Do You Need? Towards a Concept for Building Hybrid DApp Architectures[C]// 201
基于区块链构建混合DApp架构

1 引用

Wessling F , Ehmke C , Hesenius M , et al. How Much Blockchain Do You Need? Towards a Concept for Building Hybrid DApp Architectures[C]// 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB). IEEE Computer Society, 2018.

2 摘要

区块链技术应用到现有系统中,而不是从系统开始构建时就应用区块链技术带来了一些挑战。挑战有两点,一是对于给定的用例,很难找出区块链的哪些属性(例如不可变的、不可信的、匿名的)对这些用例是有意义的;二是很难决定架构的哪些元素应该使用区块链技术。当前的方法通常只说明区块链技术对于给定的用例是否有意义。本文提出了一种更细粒度的方法来确定应用程序体系结构的哪些元素可以受益于区块链技术。本文的方法标识了参与者、参与者信任关系和交互,得出一个混合架构(即一种将区块链技术嵌入现有软件系统或仅在某些部分使用区块链创建新系统的体系结构)。

3 技术介绍

为了构建应用程序,区块链技术带来了一些特性去创建了分散、可信、透明和防篡改的环境。这些优势是以额外的技术复杂性为代价的。在构建基于区块链的应用程序(DApps:分散应用程序)时,目的是利用区块链的优势处理区块链带来的技术挑战。

在本文中,我们

本文的方法基于这样一个假设,即使用区块链技术并不总是对整个软件系统有用。我们的方法包括四个步骤,在下一节将更详细地解释:

(1)识别参与者

(2)确定参与者之间的信任关系

(3)识别参与者之间的交互

(4)得出架构草案

基于区块链构建混合DApp架构

图1 识别参与者

第一步是确定参与者,即与应用程序交互的外部系统或用户。要确定与用例相关的参与者或系统,就需要确定并考虑系统的上下文边界。

本文研究了一个新系统的创建,该系统支持构建一个建筑的工匠的协调和支付。由于我们没有将区块链技术添加到现有的系统中,所以所选的参与者主要基于区块链构建混合DApp架构

图2 确定参与者之间的信任关系

在第二步中考虑信任关系时,对“未知人士或公司”的信任度最低,对“过去有业务关系的已知合作伙伴”的信任度中等,对自己的“子公司和控股公司”的信任度较高,对“自己公司”的信任度最高。

在简化示例中,前面步骤中确定的参与者之间的几个信任关系如图2所示。我们假设业主“B”与施工监理“S”之间是相互信任的关系,因为他们紧密合作,而“B”则把承包商的协调工作委托给“S”。承包商信任施工监理“S”作为他们的联络人来分配任务。

第三步必须确定参与者之间的任何交互。交互可以看作是使用应用程序进行的任何数据交换。这可以是一个函数调用,用于添加、删除或修改任何外围系统中的数据。这些交互可以发生在用户、系统或两者的组合之间。

图3显示了第一步中确定的参与者之间的主要交互关系。承包商向施工主管报告所分配的任务已经完成。施工监理人员经常向业主发送施工现场的最新情况和工程的整体进度。建筑业主与承包商之间的相互作用是建筑工地的法律责任和支付承包商费用的义务的结果。

基于区块链构建混合DApp架构

图3 识别参与者之间的交互

在最后一个步骤中,将步骤1-3中收集到的结果组合起来,得出第一个架构草案。这个步骤将支持识别区块链技术使系统体系结构受益的领域。对于给定的用例,需要考虑区块链保护和传输的值(例如表示和所有权转移、流程执行的文档或支付的执行)。这也影响了将从区块链读取数据或将数据写入区块链的参与者。

基于区块链构建混合DApp架构

图4架构草案中的信任和交互

图4显示了示例中信任关系(黑色)和交互(灰色)的叠加。出现了两个区域:A区域涵盖了业主与施工监理之间的相互信任和互动关系。由于所有参与者都相互信任,并且可以自由地交互,所以使用区块链技术是没有意义的。在这里,已确定的信任和交互关系建议使用集中式软件系统作为解决方案。区域B包括施工监理与承包商之间的信任和互动。B区域与A区域不同,因为只有一小部分参与者彼此信任。

在A区和B区之间的交汇处,施工主管“S”作为这两个信任和互动区域之间的连接。有两种解决方案可以考虑使业主和承包商之间的互动成为可能:(a)所有参与者都信任建筑监理,因此监理可以作为“可信的第三方”,协调所有互动。(b)使用区块链技术将业主直接与承建商联络,以便支付款项及自动获知工程进度。在后一种情况下,使用区块链技术是合理的,因为它支持参与者之间的不可信交互,而不需要集中的系统或可信的第三方。该解决方案没有使用区块链技术替换施工主管,而是减少了对该参与者所必需的权力和信任。监理仍可负责订立法律合约、代业主聘用承建商及配置区块链基建设施。这包括在区块链上配置和部署可执行分布式代码契约。这些代码契约支持更加分散的项目管理,允许主管分配任务、承包商确认完成的任务、启用自动和防篡改的进度文档以及自动执行付款。

基于信任和交互关系,区块链技术的使用似乎在我们系统的某个领域非常有用,特别是用于文档和支付目的。

4 本文主要贡献

对构建基于区块链的应用程序以及向现有软件系统添加区块链技术的需求正在增加。尽管如此,对于创建这些系统,目前缺少一种全面的工程方法。本文简化示例显示了建筑业主、施工监理和承包商之间的传递信任关系。虽然业主与承建商之间没有直接的信任关系,但两者都需要相互配合。在确定了信任关系和交互之后,我们解释了在这种情况下使用区块链技术是有意义的,并且可以解决这个问题。

致谢

本文由南京大学软件工程系2018硕士生乔力翻译转述

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。