在本文中,我们提出了一个使用智能存储容器的原型智能合约,以研究区块链和物联网在物流过程中的潜力和成熟度。本研究显示了基于区块链的供应链应用程序的原型实现。 原型展示了智能存储容器和智能合约如何结合以及需要哪些开发才能使其成为一个用例,这对后勤公司来说很有意义。区块链应用于物流流程的可能性已经存在,但仍有许多工作要做才能使其发挥作用。
物流,运输和物资供应经常被指定为区块链的潜在应用领域。物联网(IoT)设备提高了对积极影响物流过程的期望。DHL的一项研究估计,通过在物流中使用智能物体,全球可能增加1.8万亿美元的价值。这些对象经常出现的情况是仓库操作的应用程序。根据预测,它将改善库存跟踪并通过新材料加速供应。然而大多数概念都是与现有原型相比的想法,甚至更少的证据证明其可用于区块链应用。因此,本研究的目的是构建一个将智能存储容器与区块链结合使用的原型。目的是调查区块链物联网对象研究的难点和进一步方向。该研究提出了现有的智能存储容器原型,用于触发智能合约。这提供了有关如何将物联网和区块链集成到物流流程中的障碍和潜力的见解。
本文提出一个典型的概念来测试区块链应用程序,以便使用智能存储容器进行材料供应。 图22-1展示了一个概念,该概念模拟了该物流过程中的信息,货物和货币流。 两个智能存储容器用作该过程的终点。 两个容器都能够确定和广播有关其内容的信息。 这使得集装箱能够自主订购和支付货物。 当容器的内容低于某个阈值时,它从另一个容器中订购货物。 收到正确数量的货物后,将处理付款。 有关订单,交货和付款的所有信息都存储在区块链中。
这一切都始于智能存储容器,它确定并广播有关其内容的数据。这些容器的照片如图22-2所示。容器最多可承重10千克,最好是小件货物。 四个重量传感器部署在容器下方。 使用Arduino MKR 1000微控制器汇总和处理传感器的重量信号。使用螺钉作为容器的内容物。 通过将重量除以螺杆的平均重量来计算容器内的螺钉数量。这些信息是使用Arduino MKR 1000的Wifi发送器传输的。在项目的后期,由于其性能有限,这个Arduino板成了一个问题。在项目开发时,无法在此Arduino MKR 1000上运行以太坊轻客户端,因为它无法提供足够的存储和处理器性能。为了解决这个问题,我们在容器中安装了Raspberry Pi计算机。
该概念的整体架构(包括智能存储容器)在图3中显示为UML图,并显示了所有构建块以及彼此之间的关系。MQTT用作传输这些信息的协议。它是一种发布/订阅协议,允许网络参与者在某些主题下广播信息,这些主题可以从其他方订阅。MQTT在OASIS下是标准化的,有关技术细节的更多信息可以在官方文档中找到。供应商现在可以订阅几个容器的主题,这些容器通过MQTT广播订单请求。这些广播被馈送到供应商后端,后端可以手动或自动接受和处理订单。一旦订单被接受,该信息将被传输到智能合约,该合约存储在以太坊区块链中。以太坊区块链节点在测试网络中的虚拟服务器上手动设置,每个智能存储容器一个,都与互联网分开。智能合约接收有关(1)接受订单,(2)计划交货日期,(3)货物订单金额和(4)货物接收方的信息。当在订购智能存储容器的重量数据中检测到订单的接收时,触发支付。
订单的付款使用以太坊Mist钱包的多重签名功能进行组织。一旦购买集装箱收到订购货物的交付,它就会向多签名钱包汇款。三方参加这个钱包; 购买容器,销售容器和所谓的受托人。当三个参与者中的至少两个同意付款时,支付款项被释放。受托人的作用是观察付款,在出现差异时进行调解,如质量差异。在这样做时,这个受托人充当中间人,以缓和现实世界中的商业案例。截至目前,尚未制定受托人的进一步规则和条例。这个多重签名钱包构成了基于Blockchain的供应链应用程序的原型。
从开发这个原型的过程中可以获得一些经验:
1. 区块链应用程序需要合适的物联网硬件。在这种情况下,现有的物联网硬件(Arduino MKR 1000板)不能满足运行区块链节点的存储和处理器性能要求。这对以太坊完整节点以及以太坊轻客户端都是重要的。这需要大约350 MB的存储空间,超过了Arduino MKR 1000的256 kB闪存存储。为了解决这个问题,必须在容器中添加Raspberry Pi计算机,这会使成本增加。因此,必须开发用于区块链应用的特定物联网硬件。
2. 区块链应用程序需要合适的软件。如上所述,已经是以太坊轻客户端超出了Arduino MKR 1000板的要求。一种方案是开发以太坊Ultra 轻客户端,但Arduino不存在必要的加密库。因此,需要Ultra 轻客户端软件将IoT设备集成到区块链应用程序中。
3. 现有的通信协议不足以用于物联网区块链应用。 MQTT是一种相当流行的物联网通信协议,用于此原型。但是,它需要一个中央MQTT代理,这是一个分发信息的单点。它使系统易受攻击和破坏。需要基于区块链的分散通信协议,例如以太坊的Swarm或Whisper,它们正在开发中。
4. 区块链应用程序必须通过验证。 滥用智能合约进行材料补充会对供应链造成很大的破坏。 最近的黑客攻击表明,对整个区块链应用程序的攻击可能是危险且昂贵的。 因此,有必要开发用于正式验证供应链的区块链应用程序的技术。
5. 必须重新定义基于区块链的供应链应用中间体的作用。多签名钱包的管理需要一个中间人,称为受托人。受托人决定交付的付款。但是,此受托人的要求,权利和义务目前仍未定义。需要在工程学和法学之间进行更多的跨学科研究。
6. 供应链应用程序的可扩展性仍然不足。以太坊网络的吞吐量太低。目前,以太坊网络的吞吐量约为每秒15笔交易。 拥有数千个智能存储容器和数百个供应商的完整供应链可能需要更多的交易吞吐量。以太坊正在开发这个问题的潜在解决方案。 但是,一旦可用,就需要评估其效益。
curton 2019-12-2 20:51