核聚链(Nuchain)链外资产上链生态

区块链的发展为未来世界带来无限可能,然而由于应用以及技术的局限性,物理世界和链上数字世界还相对隔离,链外的实物资产和数字资产很难上链,这是区块链的 First Mile 难题。
NUChain 创新性地提出了区块链新五层架构,定义了区块链通用网络协议(BNP),结合互联网、物联网和区块链的技术,基于 TCP/IP 协议,详细设计了 BNP 协议的框架、协议、内容等技术标准,有望成为区块链网络传输的通用协议。同时,NUChain 设计了支持 BNP 协议的 NUCBox、NUCRouter、NUCSDK等区块链硬件产品,能够实现链外资产上链,从而解决区块链的 First Mile 难题。另外,NUChain 独创的 PoC 共识机制更加公平合理,保障普通节点的权益, PoSt云挖矿和 AI 数据价值发现模型让数据的提供者有了直接获益的方法,实现了数据的民主。
实体经济中的各个传统企业,基于 NUChain 能较好地实现区块链转型,将实体资产成功上链,成为加密数字资产在全世界各地交易。NUChain 逐步完成实体的自由映射、数据的自由交易、价值的自由流通,进而形成一个分布式数字资产生态。
链外资产上链机制
链外资产包括链外的实物资产和数据资产,本章重点介绍链外资产分类、身份管理、资产识别与认证、资产确权与交易、资产登记与共识记账、资产安全等。

链外资产上链的基础框架如下:

核聚链(Nuchain)链外资产上链生态

链外资产上链的基本流程如下:

核聚链(Nuchain)链外资产上链生态

1. 链外资产分类
AOB(Assets Off Block chain)链外资产,是指还未上链的物理世界的实物资产和数字世界(网络及应用系统)的数字资产。
· 实物资产:物理世界的所有实物都可以称之为实物资产,包括物联网设备、智能电子设备、智能操作终端、智能家用电器设备等等,也包括工业机器和工业机器人。实物资产上链的前提条件是具有物理感知层,能够被感知,比如物联网设备和工业 4.0 设备都具备这个特性。
· 数字资产:数字世界的所有数据都可以称之为数字资产。按照当下主要的应用数据分类,包括 SQL、NO SQL、Big Data、App 等各种系统数据、网络数据和用户终端数据。
2. 身份认证
2.1 身份标识
NUChain 为每个接入层设备都标识了 Device ID,同时为每个设备安装一个硬件芯片(包含硬钱包与私钥),Device ID 即为设备的身份标识。
身份标识将采用 EPC(Electronic Product Code 产品电子代码)编码体系进行编码,由一个版本号加上另外三段数据(域名管理者、对象分类、序列号)组成的一组数字。EPC 码采用 96 位(二进制)编码,可以为“2.68 亿个公司*1600 万个种类*680 亿的独立产品”进行编码,形象的说可以为地球上的每一粒大米赋一个唯一的编码。EPC 编码体系足够支撑未来海量设备接入,每个设备都可以赋予一个全球唯一编码。
2.2 身份验证
当接入层设备注册激活时,生成一对密钥,绑定设备 Device ID 及注册信息,然后用自己的私钥进行签名,并同时公布对应的公钥,其他节点根据该设备公布的公钥对签名进行验证,通过后验证完成,即可上链。未来设备向链上发送或者更新数据时,只需验证私钥签名即可。
3. 资产识别
链外资产可以通过物理层进行标识,通过接入层感知设备识读数据。常用的物理层包括二维码、RFID 标签、摄像头、GPS、传感器、M2M 终端、生物识别等,感知设备包括手持机、识读器、平板、手机、智能终端、检测设备等。
接入层感知设备主要通过 RFID 射频识别技术、传感器技术、二维码技术、红外感应技术、GPS 定位技术、声音及视觉识别技术、生物特征识别技术等,实现链外资产的资产识别与信息采集。以 RFID 资产识别为例,如下图:

核聚链(Nuchain)链外资产上链生态

4. 资产确权
对于链外的资产,需要进行确权认证。需要证明在某节点登记的资产,归属权属于该节点身份 Device ID。只有确权的资产,在节点登记并存储,才具备进行权属交易的资格。
NUChain 将采用零知识证明机制,对上链前的链外资产进行确权。
设 Hash 函数H满足随机预言机,其输出值长度为n,统计零知识的证明成立,资产确权。

核聚链(Nuchain)链外资产上链生态

当资产进行交易,权属转移时,采用非交互零知识证明。即通过利用一个双方共享的公用随机串(比如第三方支付、第三方物流、保险等)来实现零知识证明,确定权属转移完成,资产重新确权,绑定收货方。
5. 资产登记—节点登记
已经确权的资产,可以在节点进行登记。
登记的信息包括时间戳、内容索引、关联信息、存储地址等,以及对应的节点Device ID、确权信息等。完成确权并登记的资产,存储在节点设备中。
6. 共识记账—链上登记
链外资产在确权完成后,随即在全网广播,通过相应的共识机制进行记账,将该资产的信息基于 BNP 协议的数据格式,在公链全网记账。账本不记录资产的全部数据,主要记录资产的权属信息、内容索引、身份 ID、存储地址等。
BNP 协议并不指定共识机制,而是根据设备安装的挖矿软件所采用的共识机制进行记账,并在达成共识后将数据上链。
7. 权属交易
链外资产完成确权和上链登记后,可以进行资产交易。资产交易的本质是权属的转换,买卖双方发起一个资产交易的智能合约,买方支付资产购买的代币费用,卖方将资产权属转给买方,系统自动完成交易。
资产权属转移的过程,就是将经过确权的资产账本,解除原来的卖方身份 ID绑定,重新绑定买方的身份 ID。同时存储在卖方节点的数字资产数据,点对点传输至买方的节点设备,如果是 IPFS 存储的数据,则无需转移。
对于实物资产,需要完成实物资产交付的智能合约,再完成购买资产的代币支付合约。资产权属的转移需要对资产重新进行确权,我们在资产权属转移的过程中采用非交互零知识证明,引入来自于可信第三方的公共参考串(比如第三方物流),完成资产的重新确权。
8. 资产安全
链外资产上链的另一个核心问题,是资产的安全问题。
NUChain 在最新提出的五层架构设计中,在物理层、接入层、网络传输层、数据层及应用层每一层都结合最新的安全技术,从身份识别、访问控制、代码审计、智能合约编程安全、钱包安全、防 Ddos 攻击、数据加密、多重签名、私钥管理、防火墙、标识防伪等各个方面进行安全防护,如下图:

核聚链(Nuchain)链外资产上链生态

在此基础上,为了确保链外资产上链的安全,NUChain 从身份认证、资产确权、加密验证、记账验证、安全机制等方面,全方位的确保资产在认证、确权、登记、权属转移、记账等整个上链过程中的资产安全。主要的安全防范措施包括:

核聚链(Nuchain)链外资产上链生态

9. 应用范例
我们以一个应用场景为例,来介绍链外资产上链并交易的过程:
1) 身份认证:Ailice 购买了一个可以上链的行车记录仪(支持 BNP、PoC), 首先激活记录仪,生成一对密钥绑定记录仪的 Device ID,同时在链上认证。
2) 资产识别、确权登记、共识记账:Ailice 将一段时间行车记录仪的数据通过云存储技术存储在云盘上。同时,Ailice 发出上链记账申请,在行车记录仪对数据确权并登记以后,数据上链达成 PoC 共识后记账,矿工获得挖矿奖励。 由于 Ailice 是数据的提供者,她成为矿工出块的几率最高。
3) 权属交易:当某个数据的使用者,比如保险公司,想调用此类数据的时候,智能合约自动匹配交易,通过 AI 数据价值发现模型函数计算交易费用,交易完成后保险公司获得了数据确权,Ailice 获得了数据使用的收益。
链外资产上链通用协议 BNP
为了实现数据的身份、地址、安全、格式、价值上链,解决制约区块链发展的 First Mile 问题,我们提出了 BNP(Block chain Network Protocol)区块链通用网络协议。
TCP/IP 协议定义了网络终端如何接入互联网以及数据如何在设备之间传输的标准,而我们提出的 BNP 区块链通用网络协议定义了区块链生态中链外资产如何上链以及数据如何在节点之间传输的标准。上链的关键是标识实物产品的身份,通过 BNP 通用协议,把链外资产的唯一属性写进通讯包,明确其身份帮助链外资产上链。实物上链之后,提供大量数据,后续的应用才能开展。
BNP 协议是一个通用的二进制代码级别的应用级网络通讯协议,BNP 基于TCP/IP 并在二进制代码级别定义通用区块链的 TCP/IP 数据包结构,区块链账本数据结构,区块链账本共识算法及其交易安全。BNP 协议层支持服务寻址、共识计算、加密验证、分布式存储以及通用协议包括 TCP/IP 协议、P2P 通讯协议、物联网通讯协议、数字钱包协议、数据标准协议等。BNP 协议具备三种功能:一是创建进程到进程的通信,而是在传输层提供控制机制,三是负责为应用程序提供连接机制。
物联网设备发送或更新的数据需要通过传输层上传到链上,网络传输层把这些数据打包,按照 BNP 格式进行封装,按照独特格式比如 TCP 或 UTP 格式传输,向链内广播达成共识,登记确权记账。如果该资产发生交易,需要修改链外资产信息,是通过接入层设备将交易时间戳和交易信息等写入,如果是 RFID,该设备会更新 RFID 标签内信息。
1. BNP 协议架构
1.1 BNP 之传输协议
物联网既然是一个网络,那自然需要一个统一的协议基础,就像是互联网需要 TCP/IP 一样。在核心层面,由于物联网是互联网的延伸,同样基于 TCP/IP;在接入层面,协议有很多类别,基本由三大部分组成:

核聚链(Nuchain)链外资产上链生态

· 内网协议 RFID、NB-IoT、LORA、eMTC、Zigbee、Bluetooth;
· 外网协议 Wi-Fi、2G、3G/4G、5G、LTE;
· 支持边缘计算网络的 TSN、SDN、NFV 等网络控制协议。
1.2 BNP 之 IP 协议架构
BNP 的 IP 协议主要功能是提供寻址和路由、传递服务和数据包的分片和重组。它的构成由固定部分、可变部分和 BNP 数据部分组成,如下图所示:

核聚链(Nuchain)链外资产上链生态

IP 版本:如果为 4(0100)则为 IPv4;如果为 6(0110)则为 IPv6
其固定部分与可变部分的解释可参照标准 TCP/IP 协议。关于 BNP 数据部分的解释可参照“数据报格式”部分。
1.3 BNP 之加密与验证
利用椭圆曲线加密算法生成密钥对,密钥对包括一个私钥和由其衍生出的公钥。私钥用于发送数据时的数字签名,公钥用于验证数据的来源。数字签名保证了链上、链下数据的一致性,防止数据被恶意篡改。

核聚链(Nuchain)链外资产上链生态

当内置了私钥的物联网设备,向链上发送或者更新数据时,用自己的私钥对数据进行签名,并同时公布对应的公钥。其他节点根据发送或者更新的数据以及该设备公布的公钥对签名进行验证。只有拥有能产生这种公钥的私钥拥有者才能对要发送的信息生成特定签名。从而可以验证数据由某个设备发出,并且该设备无法篡改已发送的信息。
1.4 BNP之分布式服务
BNP分布式服务模型充分体现“物联网+区块链”的特点,它的事实标准其实就是一一个分布式服务系统。BNP让上链的任意多个节点通过所定义的数据报中所包含的Hash值,签名及钱包ID具备了ACID (Atomicity, Consistency, Isolation,Durability) 特性。上链的节点不可定位且由不同用户维护,我们并不能保证每次访问NUChain都能获得数据,所以它同时具备BASE理念( Basically Available,Soft-state, Eventual Consistency)。
分布式日志(Distributed Log)作为BNP去中心化日志系统使用。其构架如下:

核聚链(Nuchain)链外资产上链生态

1.5节点端的链路拓扑类型
节点端的链路拓扑基本分为二种不同类型:星型拓扑和点对点拓扑,如下图:

核聚链(Nuchain)链外资产上链生态

星型拓扑结构由一个叫做 PAN 主协调器的中央控制器和多个从设备组成。主协调器必须为一个具有完整功能的设备,从设备既可为完整功能设备也可为简化功能设备。在实际应用中根据具体情况,采用不同功能的设备,合理地构造通信网络。在网络通信中,通常将这些设备分为起始设备或者终端设备,PAN 主协调器既可以作为起始设备、终端设备,也可以作为路由器,是 PAN 网络的主控制器。在任何一个拓扑网络上,所有设备都有一个唯一的 64 位长地址码,该地址可以在 PAN 中用于直接通信,或者当设备之间已经存在连接时,可以将其转变为 16 位短地址码分配给设备。PAN 主协调器是主要的耗电设备,而其他从设备经常采用电池供电。星型拓扑结构通常在家庭自动化、PC 外围设备、玩具、游戏以及个人健康检查方面得到应用。
在点对点拓扑网络结构中,同样也存在一个 PAN 主设备,但该网络不同于星型拓扑网络结构,该网络中的任何一个设备都可以与其通信范围内的其他设备进行通信。点对点拓扑网络结构能够构成较为复杂的网络结构,例如网状拓扑网络结构。这种点对点拓扑网络结构在工业监测和控制,无线传感器网络、供应物资跟踪、农业智能化以及安全监控等方面都有广泛的应用。一个点对点网络路由协议可以是基于 Ad Hoc 技术,也可以是自组织式的和自恢复式的。并且,在网络中各个设备之间发送消息时,可通过多个中间设备中继的传输方式进行传输,即通常称为多跳的传输方式。每个独立的 PAN 都有一个唯一的标识符,利用 PAN标识符,可以使用短位地址进行网络设备间的通信,并且可激活 PAN 网络设备之间的通信。
2.BNP 协议技术
设计 BNP 的目的是使网络不受任何单一网络的限制,更安全高效的通信。其基本思维基于互联网 TCP/IP 协议,同时 BNP 主要以 IEEE802.15.4 为重点。
2.1 链路层传输规约
2.1.1 链路层服务模型
对于链路层的要求,BNP 是非常适度的。其基本要求是单节点可以发送一个有限大小的数据报到其通信范围内的另一个节点(即一个单播包)。考虑到数据报在低功耗无线链路上传输的不可靠性,BNP 没有对可靠性的期望,对可达性也没有一个明确定义的界限。在有线网络中,节点的插入以及是否接入某个链路都是很清楚的,通常在以太网上的所有节点都可以相互通信。在低功耗无线网络中,节点 A 和节点 C 都可以与节点 B 通信,但是节点 A 与节点 C 未必就能通信。
BNP 对于链路的要求可以放宽到一个假设,即节点 A 在一段时间内,有一组节点可能是 A 可达到的。这组节点为 A 的单跳邻居。另一方面节点 A 可以向本地广播数据报,这些数据报可能会被节点 A 的单跳邻居中的所有节点所接收。
对于 IEEE802.15.4MAC 层定义的四种类型的帧(数据帧,确认帧,MAC 层命令帧,信标帧,BNP 只关心其数据帧,用于携带 BNP 适配层定义的协议数据单元(PDU), 其 PDU 又包含嵌入式的 IPv6 数据报(或其中的一部分)。
2.1.2 链路层编址
链路层必须对全球唯一编址有一定的概念。一个地址唯一标识一个节点的事实,并不意味着它能全球定位某个节点,即链路层地址是不可路由的,它本身并不用于确定一个节点是在相同或不同的网路中。数据帧包含源地址和目的地址。接收器根据目的地址来决定该帧是否当被该节点接收,或者应该路由到另一个不同节点。源地址主要用于查找有关链路层安全的密钥信息,同时在数据报转发中也可能发挥作用。BNP 节点拥有 8B 的 EUI-64 标识符。
2.1.3 链路层管理和操作
BNP 对数据的机密性和完整性有极高的要求,强大的链路层安全机制是 BNP协议的一个重要组成部分。为此提供用于加密包括密钥标识在内的消息完整性检查机制可以在每一个数据帧中消耗 30B 的额外空间。至于 IEEE802.15.4MAC 层其他的强大功能,BNP 努力保持中立立场。BNP 允许使用 IEEE802.15.4 的信标使能网络。
BNP 运行在无信标模式下,通过 IEEE802.15.4 基于竞争的信道接入方式执行无线介质访问控制,IEEE802.15.4 称此为非时隙的 CSMA/CA。
2.2 BNP 基本格式
BNP 基本格式如下图:

核聚链(Nuchain)链外资产上链生态

不同的报头按以下顺序使用:
· 地址:网状网络报头,携带 L2 初始源地址和目的地址以及跳数,其后是BNP 的 PDU。
· 逐跳处理:本质上是 L2 逐跳选项的报头,其后是 BNP 的 PDU. 
· 目的地处理:分段的报头,携带片段,可能在已通过多个 L2 跳传输后,需要在目标节点重新组合成一个 BNP 的 PDU。
· 有效载荷:携带 L3 数据报的报头。
BNP 在每一个 PDU 的开头使用一个分派字节,以识别其自身的类型。PDU部分的报头,需要定义组网的类型 3 个字节[0:2],共识模型[3:5],及区块链的其他分派(如加密算法类型)[6:7])。
2.3 BNP 数据报格式
BNP 协议的数据报打包了 Token 扩展信息、目标地址、设备编码、哈希头、数据包、价值函数等数据,其中 Token 扩展信息包括哈希值、TCP/IP 数据包、签名、钱包 ID、设备 ID、服务 ID、校验码等,如下图:

核聚链(Nuchain)链外资产上链生态

2.4 BNP 编址
地址需要加密和验证,加密采用私钥签名验证的虎符验证机制,参考 4.1.3。
一个 IP 适配层通常涉及至少两种地址:链路层(L2)地址和 IP(L3)地址。
BNP 在链路层支持两个地址格式:64 位的 EUI-64 地址和动态分配的 16 位短地址。
64 位的前缀和一个 64 位的 EUI-64 地址:

核聚链(Nuchain)链外资产上链生态

16 位短地址:

核聚链(Nuchain)链外资产上链生态

2.4 转发和路由
数据报在 BNP 中的传输往往需要经过多次多级无线跳。这个过程必然涉及到:转发和路由。这两个过程都可以在 L2 或 L3 层被执行。路由通常涉及一个或多个路由协议,路由协议在每一个 BNP 节点上填写路由信息库(RIB)。通常 RIB可以被简化为一个用于转发数据报的转发信息库(FIB)。一些路由协议主动地填写 FIB,即 FIB 应始终包含每个可被实际转发的数据报的一个条目,而另一些路由协议只有在数据报到达时才填补 FIB 中的空白。
BNP 采用“单臂路由”如下图所示:

核聚链(Nuchain)链外资产上链生态

当路由和转发发生在第 2 层是,它们的执行是基于第 2 层地址的,也就是64 位 EUI-64 地址或者 16 位短地址。
L2 层转发,ISA100 标准定义了一个这样的路由协议,以及一些数据链路层的扩展,所以 L2 层上发生的路由和转发对于 BNP 适配层基本上是透明的,如下图所示:

核聚链(Nuchain)链外资产上链生态

如果链路转发发生在 BNP 适配层(如下图),我们则需要解决如下问题:链路层报头描叙了当前 L2 层的跳的源地址和目的地址。为了将数据报转发到其最终目的的节点的 L2,我们就需要知道最终目标地址。此外还需要知道源节点L2 的地址。

核聚链(Nuchain)链外资产上链生态

3. 存储机制
链外资产上链主要包括两种存储方式,本地化存储和云存储。BNP 协议支持各种云存储应用如 IPFS、DMFS 等分布式存储技术。这些技术的主要特点是定义了文件在分布式系统中如何存储、索引和传输,目标是通过一个文件系统将网络中所有的设备连接起来。在传统的 HTTP 协议中,文件资源通过资源标识符来索引,而在分布式文件系统中,文件将根据内容来进行索引。每个文件将会根据内容来进行哈希映射从而得到一个独特的指纹,文件将根据这个指纹来进行索引。
4. 共识机制
BNP 协议支持共识热插拔。
由于目前大部分区块链之间的数据是不互通的,为了让数据在各链之间流转,BNP 协议支持多种共识记账,比如 PoW、PoS、DPoS、PoC、PBFT、PoSt 等。链外资产通过这些共识机制,可以在不同的链上记账。
5. 边缘计算
接入层设备作为边缘计算节点 ECN(Edge Computing Node),功能主要包括三层:基础资源层、虚拟化层、边缘虚拟服务层。功能如下图:

核聚链(Nuchain)链外资产上链生态

边缘计算的核心是异构计算 HC(Heterogeneous Computing),是边缘侧关键的计算硬件架构。边缘设备既要处理结构化数据,同时也要处理非结构化的数据,因此采用异构计算,将不同类型指令集和不同体系架构的计算单元协同起来,以充分发挥各种计算单元的优势,实现性能、成本、功耗、可移植性等方面的均衡。
NUChain 将采用 OpenCL 的 GPU 和多核 CPU 的异构计算。我们知道 CPU 和GPU 各有所长, CPU 擅长处理不规则数据结构和不可预测的存取模式,以及递归算法、分支密集型代码和单线程程序,而 GPU 擅于处理规则数据结构和可预测存取模式。OpenCL 正是 GPU 和多核 CPU 融合与并行发展的连接桥梁。

核聚链(Nuchain)链外资产上链生态

链外资产上链共识机制
NUChain 采用独创的 PoC(Proof Of Contribution)贡献值证明共识机制。PoC贡献值证明,通过计算贡献值进行挖矿计算,用户只需下载客户端软件,通过有效认证就有机会成为“矿工”。贡献值包括提供有效数据、算法贡献、以及活跃度、存储资源、社区贡献值(在线时间)等。通过 PoC 函数+加权计算达成共识,计算公式如下:
PoC 函数:有效 Data*25%+Algorithm*25%+存储资源*20%+Activity*15%+Online Time*15%.  
有效 Data:经过确权的数据资产,能够验证来源、真实性与有效性;
Algorithm:价值发现模型贡献算法;
存储资源:矿工当前存储使用量占网络中当前总存储使用量的比例;
Activity:所提供的数据被使用的频率作为活跃度的衡量;
OnlineTime:节点在线时长。

核聚链(Nuchain)链外资产上链生态

奖励机制:当矿工发现了一个 PoC 区块,出块奖励为 1000 个 NUC,每四年减半,直到出块奖励不足 1 个 NUC,按 1 个 NUC 计算,持续挖完。
PoC 共识机制是基于 AI 深度学习的机制,贡献值越高的节点,拥有更高的挖矿概率。
· 基于 PoC 机制用 AI 深度学习方法实现节点共识,即:AI’s Law;
· 数据使用者发出请求并广播,数据提供者将数据上链,通过 AI 深度学习进行匹配交易,实现有效数据贡献。即:AI 数据价值发现,AI’s Rulebase。
链外资产上链应用生态
链外资产上链以后,通过应用体现其资产价值。应用与实体经济的行业需求相结合,包括各种智能化场景、DApps 和商城,类似于我们日常使用的各种网站、App,比如有社交娱乐、电商购物、新闻浏览等各种不同的应用场景,未来的可编程金融和可编程社会也将搭建在应用层。应用的大致流程如下:
当数据使用者通过 DApps 发出应用请求并广播,数据的提供者通过对应的智能合约进行匹配交易,达成共识后记账。交易的函数是 AI 数据价值发现模型:
· 通过 AI 深度学习将数据进行清洗之后进行训练,定期进行一次学习得到最新的 AI 数据价值发现模型;
· 模型进行数据清洗、训练、之后得到价值发现模型,进行模型推断、价值挖掘,最终形成 AI 价值指数。
DApps 部署、发布需要 NUC 币,每次被调用资源需要支付 NUC 手续费。调用资源需要支付 NUC,价值互换通过 NUC 来结算。第一代产品应用例子:食品安全溯源 QS360.com、供应链金融钱到到 Caimomo.com.cn、农产品 B2B 集采通平台 91nongye.com、农业物联网 suniot.com。NUChain 将在近期推出区块链智能手机 NUCPhone,DApps 上线后计划推出第二代产品:食品安全链 FSC,绿历商城 Greenmarket。
未来 DApps 应用将包括绿历商城、供应链金融、健康管理、智能家居管理、质量安全溯源、区块链餐厅、区块链溯源等等应用生态,可无限扩展。
关于更多核聚链信息:http://www.nuchain.org/