Block Chain based Intelligent Industrial Network (DSDIN)

警告
本文最后更新于 2018-12-14,文中内容可能已过时。

Author:Barco You, Matthias Hub, Mengzhe You, Bo Xu, Mingzhi Yu and Ican Uemlianin

Published in:eprint arXiv:1809.06551(1809意为18年9月)

SCI期刊分区:在arXic上,不算正式发表

keywords:IIoT, BC, Artificial Intelligence, Industry 4.0, Intelligent Manufacturing, Edge Computing.

主题:如何为IIoT构建一个全球范围的分布式工业网络

主要工作

  1. 综述。从工业互联网讲到工业物联网,最后讲到基于区块链的工业物联网
  2. 详细描述了所构建的基于区块链的智能工业网络DSDIN的各部分组成
  3. 介绍了一些可以高效的运行在DSDIN上的应用
  4. 介绍了维持整个体系健康运行的激励机制

Abstract:过去由于技术限制,制造业是“中央集权”的,工厂(特别是大型制造商)垄断了几乎所有的制造资源,包括:技术,原材料,设备,工人,市场信息等。但是,这种集中生产成本高、效率低并且不灵活,难以应对快速变化,多样化和个性化的用户需求。本文介绍了一个智能工业网络(DSDIN),它提供了一个完全分布式的制造网络,每个人都可以参与制造,因为权力下放而没有中间环节,人们能够快速获得他们想要的产品或服务,获得授权并通过努力(例如提供创意,设计或设备,原材料等)以一种低成本的方式获得回报。DSDIN实际上是一个平台,由DSDIN形成的智能网络,制造中心不再是工厂,实际上没有制造中心。DSDIN为人和物(包括原材料,设备,成品/半成品等)提供多参与的点对点网络。通过网络传输的信息称为智能服务算法(ISA)。用户可以通过ISA将过程模型,公式或控制参数发送到设备,DSDIN中的每个事务都是由ISA定义的智能服务。

注:要构建一个全球范围的分布式工业网络,做的是基于区块链技术的工业物联网平台,和以太坊很相似,从文中也可以看到,大量借鉴了以太坊的思路,但是根据工业物联网的特性做了调整。

1. 问题背景

工业互联网是为需要数字化、网络化和智能化的制造业设计的,它构建了一个基于海量数据收集,聚合,分析和服务系统的平台,支持无处不在的连接,灵活的供应和制造资源的高效配置。其核心要素包括数据收集系统,工业PaaS和应用服务系统。

什么是IaaS, PaaS和SaaS及其区别

  • 数据采集系统:通过传感器,工业控制系统,物联网技术和智能网关等技术收集设备、系统、产品等数据。
  • 工业PaaS:该平台将云计算,大数据和在实际工业生产中积累的经验相结合,形成基本的工业数据分析能力;技术、知识、经验和其他资源被物化为可移植和可重复使用的软件工具和开发工具,如特殊软件库,应用程序模型库和专家知识库,以构建开放和共享的开发环境。
  • 应用服务系统:专为资产管理优化,工艺流程优化,制造协作和资源共享等工业需求而设计,为用户提供智能应用和解决方案。

工业互联网平台的重要作用

  • 它可以发挥互联网平台的集聚效应。工业互联网平台是数据的载体,涉及数亿个设备,系统,工艺参数,软件工具,企业业务需求和工业资源共享的制造能力。它在网络,协同和优化方面发挥着关键作用,并形成了一系列新的互联网商业模式,包括基于制造业的众包和创意空间,协同制造和智能服务。
  • 它在工业操作系统中起着关键作用。一方面,工业互联网平台与众多设备相连,是工业经验和知识模型的载体;另一方面,它与工业优化应用相关联,在连接所有工业元素和分配工业资源方面发挥关键作用,有助于发展先进的智能制造系统
  • 它可以充分发挥云计算以及边缘计算的作用。由于先进的架构和高性能的云计算和边缘计算基础设施,工业互联网平台可以实现海量异构数据的集成、存储和计算,为需要处理的工业数据爆发式增长与现有数据之间的矛盾提供解决方案。系统在计算能力方面的劣势,加速数据驱动的网络化和智能化进程

许多制造公司已经开始为客户提供服务,并试图增加服务在总收入中的比例,但大多数仍然为客户提供基于其产品的传统服务,如售后服务,产品租赁,购买产品等。这些传统服务价值有限,往往无法满足客户的需求。因此,企业很难通过提供传统服务来实现服务转型。然而,物联网(IoT)的出现为企业争取服务转型带来了新的机遇。如上所述,工业4.0带来的变化都是数据驱动的。物联网通过各种传感器从物理世界获取数据,然后分析和使用这些数据,帮助企业优化生产流程,提高运营效率。另外,在物联网的帮助下,企业可以充分了解客户的需求,并创建新的服务模式以促进其业务增长,这是企业物联网的最大价值。

企业可以使用物联网生成的数据为客户提供实时和个性化的智能服务。这些服务与传统的售后服务不同,因为通过物联网收集的数据可用于以实时和可持续的方式预测客户的需求,系统将根据分析结果自动优化和调整服务,甚至可以自动适应环境,独立决策,为客户带来高度个性化的体验。

例如,设备制造商可以通过设备中安装的传感器预测客户设备的某些部件需要更换,并预先将备件运送到客户附近的仓库,这可以大大缩短客户等待更换的时间,减少停机造成的损失;而另一方面,客户无需囤积大量备件,占用资金和仓库;这种方法还可以降低客户从其他品牌购买备件的可能性,并增加制造商的收入。

企业还可以通过物联网创建新的服务模型,例如共享自己的制造能力和为其他企业提供生产服务。通过这种方式,每个人都可以成为制造业中的主要角色,可以根据客户的需求提供定制服务;还可以根据物联网中的数据为他们提供融资和保险服务。这些行业的龙头企业可以选择构建基于物联网的平台,成为行业生态系统的中心。物联网为制造业带来价值创造的新机遇需要与不同行业和其他新兴技术想结合,包括数据分析,人工智能和区块链,以形成真正的智能服务和创造实际的价值。

工业4.0的关键是原材料(物质)的信息化,即将所谓的物理世界与网络空间结合起来,形成真正的网络物理系统(CPS)。具体而言,工厂购买的原材料和成品/半成品被“贴上标签”,例如:这是给客户A的由××材料制成的基于××技术的××产品。换句话说,“原材料“包含的信息被智能工厂用于使”物质流“转变为”信息流“。材料及其生产和加工通过物联网实现了价值传递。

克服上述挑战,抓住发展机遇,不仅仅取决于企业能力和内部资源。首先,如果不与不同的行业和新兴技术(如数据分析,人工智能,区块链,云计算和雾计算)结合,那么通过物联网收集的数据毫无意义。只有这样的组合才能带来创新的服务。此外,由于智能服务具有众多的应用场景并具有实时和动态的开发特性,因此企业只依靠自己的资源无法满足客户的需求。由于智能服务需求的不确定性和投资回报的不确定性,企业应与其他公司合作分担这些风险。因此,要开发智能服务,企业应与相关外部合作伙伴紧密合作,形成价值创造网络。我们称这个价值创造网络为“基于区块链的智能工业网络(DSDIN)”

区块链技术目前一些值得关注的进展有:

  • 以太坊的智能合约
  • 分布式域名服务(DNS)系统
  • 版权证明
  • 关于oracle和在区块链上建立市场没懂他指的是哪个应用,不过这里他说的oracle不是oracle数据库

基于分布式计算技术-Erlang ,DSDIN将物联网与区块链技术完全结合,构建了一个相互信任的网络。

注:Erlang真的是它这个架构的底层技术,从第三部分开始频繁提到这个,可惜没了解过,只知道是一种比较适合分布式的编程语言

2. DSDIN的各部分详述

A. DSDIN Blockchain

DSDIN网络由公共区块链和无数独立状态机(也称为虫洞)组成。虫洞围绕区块链并产生大量状态通道,如图1所示。在DSDIN的区块链设计中,我们认为没有必要在区块链中维持状态。我们只需要将状态信息存储在虫洞中,并使用区块链来处理任何信息交换的经济后果,包括汇款,采矿等,以及争议的后备情况。因此,在DSDIN网络中,我们提出了另一种区块链架构,将Turing的完整智能合约放在虫洞上,而不是区块链。这增加了系统的可扩展性和事务的吞吐量,因为虫洞是独立的状态机(基于DSDIN VM的单个进程或进程树),使得所有事务变得独立并且能够并行处理。另外,这也意味着合同没有写入共享状态,大大简化了测试和验证。同时,这将经济逻辑与数据存储分开,使我们能够利用良好的分布式存储方案来补充区块链,从而提高物理世界中数据存储的效率,隐私和安全性。

DSDIN类似于以太网,它基于脚本,竞争硬币和链式元协议以及用于集成和增强的状态通道,使开发人员能够创建易于开发的任意基于共识,可扩展,标准化和全功能的协作。能够与真实世界的数据应用程序连接。通过使用图灵完整的编程语言建立最终和抽象的基础层和虫洞,DSDIN使任何人都可以创建合同和分散应用程序,并建立自由定义的所有权规则,交易方法和状态转换功能。智能合约也可以在虫洞上创建和执行,并且由于图灵完整性,价值意识,区块链意识和多状态协作,这些合同比以太坊提供的合同更强大。

下图是DSDIN中的区块链和虫洞。虫洞通过消息传递相互通信,只有与虫洞中发生的事务有关的信息才会存储到块上。

B. Block

DSDIN区块链里,每个区块包含以下内容

  • 前一个区块的哈希值
  • 交易Merkle树
  • 账户Merkle树
  • naming system的Merkle树
  • wormholes的Merkle树
  • oracles尚未提供的答案的Merkle树
  • 由oracles提供的答案的Merkle树
  • Merkle证明的Merkle树
  • 随机数生成器的熵(Entropy of random number generator)

树的改变必然是由新块中的交易引起的,同时Merkle证明树也必须更新

C. 共识机制

共识机制使用PoW和PoS。

块的顺序取决于PoW。但这里用的PoW机制是Tromp’s Cuckoo Cycle,这是一种基于图论的有内存限制的间接PoW机制,能耗更少。正如Tromp所描述的:Cuckoo Cycle是一种有内存限制,可即时认证的PoW机制;它的独特之处在于它依赖于内存延迟,而不是计算来实现PoW 。因此,基于Cuckoo Cycle的挖掘可以是ASIC挖掘,DRAM仅用作字节读出和写入的支持。即使是智能手机也可用于采矿,对采矿效率没有影响。

注:这种PoW方法引自 “J. Tromp, “Cuckoo Cycle: A Memory Bound Graph-Theoretic Proof-of-Work,” In: Brenner M., Christin N., Johnson B., Rohloff K. (eds) Financial Cryptography and Data Security.FC 2015. Lecture Notes in Computer Science, vol 8976. Springer, Berlin, Heidelberg.”

DSDIN中的共识机制不是必须的,用于新块的添加和回答oracles提出的问题并定义系统参数,这有助于系统适应环境变化和新技术的发展。此外,共识机制也可以自我修改和更新。如果PoW机制过于简单,矿工很容易赢得oracle,因此DSDIN将采用PoW和PoS结合的创新算法来充分发挥自己的优势。同时,PoW将用于发布新的DSD Tokens。

一些基于以太坊的应用程序(如Augur)尝试使用区块链来分布的存储真实数据。他们使用智能合约建立共识机制,而不是直接使用区块链中的共识机制,这导致效率低但数据安全性没有增强。为了提高效率,我们需要建立一个共识机制,不仅提供有关网络状态的信息,还提供有关外部世界的状态信息。这种共识机制有助于我们获得真正的oracle,并可以回答程序可能无法回答的问题,例如:我生产的第100个产品对客户来说是最令人满意的产品吗?

D. Wormhole

DSDIN中的wormholes是启用状态通道的载体,用于确保只有交易中的相关实体才能访问有关交易的信息和数据。本质上,交易的参与者将一些状态实例化到区块链上,例如以太坊合约和比特币多签名,然后他们只需要将更新的签名发送给对方。重要的是,每个参与者都可以使用此类信息来更新区块链的状态,但在大多数情况下他们不会这样做。这允许交易以与信息传播相同的速度实现,而无需等待事务被验证并最终由区块链的共识机制确认。

在DSDIN中,只有DSD Token状态能在区块链上传输,并且只能传输任何交易方在虫洞中存储的DSD Token。这要求每个虫洞彼此独立,以便并行处理每个交易中的事务,从而大大提高了事务吞吐量。区块链仅用于最终清算和冲突解决。由于区块链的行为是可预测的,因此关于运行虫洞的结果的争议不会带来任何好处,因此鼓励恶意参与者正确行动并且区块链用于最终解决。所有这些措施都可以提高交易的速度和规模,同时也可以提高隐私

每个虫洞都是独立的虚拟机(DSDIN VM),它通过状态通道实现智能合约,ISA和实际交易,最终将交易信息记录在区块链上。每个虫洞类似于计算机中的进程,保护其自身的状态数据,包括:运行期间生成的数据,数据库中的数据以及通过接口(如HTTP,TCP,电子邮件,串行端口等)获取的数据。wormholes通过消息传递(Message-Passing)相互交换信息但不共享数据以保持其独立性,类似于标准的Actor-Model program 。这允许整个系统和ISA中的交易实现高吞吐量运行并且还保证私有虫洞数据的安全性。

每个虫洞对应一个过程树。如下图所示,虫洞由Supervisors和Workers组成。每个工作执行独立的分布式计算,例如使状态通道能够管理现实数据(例如通过数据库读取数据或与CNC机器通信等)并与其他虫洞交换信息。Supervisors生成Workers,当Workers失败时,Supervisors可以根据某些策略重新启动Workers

E. 智能合约

虽然只有DSD Token的状态传输能在区块链上更新,但DSDIN仍然运行图灵完备的智能合约虚拟机(DSDIN VM),合约定义了DSDIN中的资金分配规则。与以太坊的physical contract不同,只有参与者被告知合约的存在;另一方面,只有那些在wormhole上拥有公共状态通道的参与者才能创建合法合约。如果参与者同意合约,合约将被签名并永久保存。只有在发生争议的情况下合约才会被提交给区块链,在这种情况下,只有部分包含有关提交的交易信息的代码将被提交,区块链将根据合约分发Token并关闭虫洞上的状态通道

更重要的是,在DSDIN中,合约不包含自己的状态,因此任何状态都由交易的参与者维护,并且这些状态将在合约执行时作为输入参数提交。每个合约实际上都是一个纯函数,充分利用函数式编程的思想,获取输入参数并输出新的通道状态。

在DSDIN网络中,合约定量执行的方法类似于以太坊的“gas”。但是,我们用两种不同的资源来衡量:一种是时间,另一种是空间。他们都要求合约执行的参与者用DSD Token付款。例如,如果Alice和Bob想要与DSDIN网络上的虫洞进行交易,则需要执行以下步骤:

  1. Alice和Bob分别对合约签名,而不是指定虫洞中存放的代币的数量并发布到区块链.

  2. 一旦区块链打开此通道,他们都可以创建新的通道状态并相互发送和签名。

通道状态可以是新的资金分配,也可以是与新分配相关的合约。每个通道状态都有一个增量的随机数,并由双方签名。如果发生争议,最新的有效状态将最终提交给区块链以强制执行。

通道可以通过两种方式关闭:a)如果Alice和Bob决定完成交易并同意其最终账户余额状态,他们应签署交易并将其提交给区块链。因此,通道关闭,通道上的资金相应重新分配;b)如果Alice因任何原因拒绝签署或想要关闭交易,Bob可以提交他们同意的最后状态并签署区块链并要求关闭此状态的通道。这将触发倒计时。如果Alice认为Bob不诚实,她将有机会在倒计时结束前释放他们两人签署的更大的nonce。如果Alice执行此操作,通道将立即关闭,否则在倒计时结束前不会关闭。

F. 交易

DSDIN中的交易通过智能合约实施,过程如下:

  1. 检查交易格式是否正确(即具有正确的值),签名是否有效,以及随机数是否与发送者帐户的随机数匹配。如果不是,则会返回错误.
  2. 发送者存入存款.
  3. 计算交易费用:费用=Gas* GasPrice;并从签名中确定发送者的地址。从发送者的存款中扣除交易费用并增加发送者的随机数。如果存款余额不足,将返回错误.
  4. 将发送者帐户的钱转移到收件人的帐户。如果接收帐户尚不存在,请创建此帐户。如果接收帐户是合约,则运行合约代码,直到代码运行结束或gas用完为止.
  5. 如果由于发送方保存的存款不足或代码执行期间耗尽气体而导致价值转移失败,则原始状态将被恢复。但是,交易费也是必需的,并且交易费被添加到矿工账户.
  6. 否则,所有剩余的gas将被退回给发送方,并且消耗的gas将作为交易费发送给矿工

如果没有合约接受交易,则所有交易成本等于GasPrice乘以交易的字节长度,并且交易数据独立于交易成本。此外,应该注意的是,合约发起的消息可以为它们生成的计算分配gas限制。如果子计算的gas用完,它将仅返回发送消息时的状态。因此,就像交易一样,合同也可以通过对其生成的子计算设置严格限制来保护其计算资源

G. Oracle

oracle表示合约中定义的与环境交互的严格条件,例如不同商品的价格或特定事件的发生(例如机器部件的故障)。如果智能合约不包含与外界交互的这些特性,则合约是无用的应被关闭。因此,在DSDIN网络中,我们尝试以分布式方式将外部真实数据引入区块链。但是,对于大多数区块链,要确定所提供的事实是否正确,需要根据自己的共识机制实施新的共识机制(如以太坊的智能合约)。运行两套相互配合的共识机制比单独运行它们成本极高,并且安全性没有轻微增加。因此,我们将两层共识机制合二为一,基本上重用了用于系统状态的共识机制,系统状态的批准也是外部世界的认可

具体机制如下:任何DSD Token所有者可以运行一个oracle,专注于回答是/否问题,并指定回答问题的时间区间。此时间区间可以立即开始,也可以在将来的某个时间点开始。为用户打开oracle而存放的DSD Token数量与时间区间的长度成正比。如果用户在时间区间内获得正确答案,则剩余的DSD Token将返回到用户帐户,否则将被花费。区块链将为每个oracle生成唯一标识符以获得问题的答案。一旦到了回答问题的时间,启动oracle的用户可以免费回答问题。如果oracle的操作员给出答案或问题的时间区间到期,则其他用户可以通过存储相同数量的DSD来提交反诉。如果在时间区间内未提交反请求,则oracle操作员提供的答案将被接受为正确答案,并将退还押金。相反,如果有人提出反诉,那么共识机制将被使用来回答oracle

H. Token of the DSDIN Network(DSD)

DSD是DSDIN网络中的主要加密燃料,用于抵消交易成本,用户付出DSD来使用DSDIN网络中的服务和资源。DSD的名字来自制造智能(Manufacturing Intelligence),这意味着DSD被用来换取制造智能。通过平台实现的经济应用,包括transfer,sub-accounting,支付,数据交换等,需要消费DSD。第一版DSD的创始块由创世智能合约定义,更多的DSD将通过挖掘生成。

I. DSDIN Account

在以太坊系统中,状态包括一个称为“帐户”的对象(每个帐户是一个20字节的地址)和一个在两个帐户之间传输值和信息的状态转换。DSDIN的帐户由四部分组成:

  • 账户地址
  • DSD余额
  • 每个交易将递增的计数器
  • The freshness of the last update

账户类型也是两类,和以太坊一毛一样,规则也一毛一样,只是删除账户有代币奖励,以此来鼓励在平台上释放不用的空间

J. Naming System

区块链里的用户地址一般是哈希字符串,DSDIN做了个一个命名系统,把人类阅读友好的名字关联到地址,便于记忆,但是不知道是真的可记忆的名字还是Base58编码之后的那种字符串

K. 分布式存储

过去,一些基于云的在线文件存储服务(如Dropbox)允许用户上传其硬盘备份,提供备份存储服务并允许用户每月访问和向用户收费。但是,这种方式效率低下。DSDIN的智能合约允许分布式存储生态系统开发,因此用户可以通过出租自己的硬盘赚取少量费用或租用未使用的网络空间来降低文件存储成本。合同的工作原理如下:首先,有人将需要上传的数据分成块,加密每个数据块以保护隐私,然后构建一个Merkel树。然后,此人应根据以下规则创建合同。对于每N个块,合同将从Merkel树中提取随机索引(使用可通过合约代码访问的前一个块的哈希来提供随机性),然后为第一个实体提供一定数量的DSD以支持使用类似的简化验证付款(SPV)[15]证明树中特定索引处的块的所有权。当用户想要重新下载他的文件时,他可以使用微支付通道协议(例如,每64K字节0.1DSD)来恢复文件;对于费用,最有效的方式是付款人直到最后才发布交易,并且应使用具有相同随机数的稍微更具成本效益的交易来替换每64K字节后的原始交易。

该协议的一个重要特征是,虽然似乎一个人信任那些不会丢失文件的随机节点,但他可以通过秘密共享将文件分成许多小块,然后监视合同以知道每个小块仍然是由某个节点保存。如果合约仍在支付,则证明有人仍在保存文件

L. Edge Intelligence

DSDIN网络中的虫洞也可用于创建可验证的计算环境,允许用户邀请其他人执行计算,运行一个ISA(例如CNC机器的实时控制),然后有选择地请求提供计算在随机选择的检查点正确完成的证据。这允许任何用户在生产线中使用他们的台式机,笔记本电脑,网关或工业个人计算机参与ISA的实施。现场检查和安全存款可用于确保系统值得信赖(ieno节点可受益于欺骗),同时还确保交易双方之间的互动,在不信任的基础上实现物理操纵(如作为3D打印)和ISA算法。当在某个随机选择的检查点证明计算结果时,智能合约将自动执行,实现资金结算,数据密钥到期等

M. 可扩展性

DSDIN网络的体系结构具有高度可扩展性。如果每个用户(节点)仅保存他们关心的一些区块链状态并忽略与其无关的其他数据,则整个区块链也可以运行。对于新用户,必须保留至少一个状态以确定他们关心的子状态。但是数据可以分段存储在任意数量的节点中,因此每个节点上的负载可以任意小。Merkle树可用于证明子状态是状态的一部分。网络中的一些节点专用于保存树,并且在为这些树提供插入和查询之后可以获得奖励。

。。。

N. 虚拟机和分布式计算

使用Erlang,上面可扩展性没写的部分基本也是关于Erlang的,和以太坊的区别估计也就只有这个了

3. 应用

Wormhole application

在DSDIN中,虫洞是为高吞吐量和高并发性提供事务和微服务应用程序的环境。虫洞提供的基本应用包括:

  • 服务API
  • 众筹
  • 跨链代币交换(和侧链做的事一样)
  • 博彩
  • 预测

Intelligent Service Algorithm (ISA)

简单举个栗子说明

例如,用户将产品模型提交给远程3D打印机,打印机根据ISA中的模型参数和约束自动打印满足用户需求的固定数量的产品,并将产品交付给用户。在此交互中,用户首先使用ISA生成器编辑ISA,并封装产品3D模型,材料约束,生产时间约束以及良率和设备控制逻辑。然后,用户基于状态通道启动事务,当前虫洞与另一个通过消息传递机制运行3D打印机控制服务的虫洞一起执行ISA以实现产品打印。当打印完成时,状态通道关闭,交易的经济结果记录在区块链上

ISA Zone

开心的跳过这部分

基于Wormhole的设备服务管理

用于ISA交易的DSDIN涉及的设备主要包括生产线,机床,能耗设备,工业个人计算机和传感器,3D打印机等,这些设备还实时生成物联网数据,存储在虫洞管理的分布式存储系统中。基于物联网数据的时间序列性质,我们可以将大多数预测或检测问题抽象为半马尔可夫决策过程。后面是这个过程详述。

这部分思路可移植用在制造工厂资产管理的案例中。

4. 激励机制

DSDIN已经建立了一个ISA平台的特殊生态奖励基金,它使用DSDIN自己的代币(DSD)作为唯一的奖励方法。该平台采用独特的POV(价值证明Proof of Value)+ POC(贡献证明Proof of Contribution)算法来建立双重奖励机制,用于奖励有助于构建ISA社区的参与者奖励池系统执行每72小时进行一次激励分配计算,并根据计算结果自动将奖励代币分配给参与者的个人钱包。后面具体的介绍包括

  • 奖励池
  • AZ奖励分配—价值证明
  • 用户奖励分配—贡献证明

5. 总结

这篇文章介绍了如何为IIoT构建一个全球范围的分布式工业网络,并展示了如何通过该网络传输价值,实现作为工业4.0基础的智能服务。特别是第III部分中介绍的应用程序易于构建,可以高效地工作在DSDIN上。第四部分介绍的激励机制将创造一个健康和有前途的价值创造生态系统,鼓励参与者贡献并形成一个积极的反馈网络,有效地传递价值

支付宝
微信
0%