IRITA是边界智能以区块链跨链、隐私计算及大数据分析技术创新为核心,自主研发的支持下一代分布式商业系统的企业级联盟链产品线。
IRITA具有保护隐私的数据加密共享、高效的共识协议、领先的跨链技术、实用性极强的链上链下系统交互及多方协作业务流集成能力、灵活的资产数字化建模与可信交换支撑、以及大数据存储6大核心技术,可广泛应用于金融、医疗健康、供应链、车联网等多种商业场景,为实体经济提供基于区块链信任机器的价值赋能。
IRITA支持中国国密标准,并有完善的SDK及运维工具支持,在性能、安全可靠性、认证及权限、可维护性、可扩展性和运维监控等多方面都满足企业级应用需求。
IRITA产品线中各个子产品具有模块化的架构和不同的功能特点:
•IRITACE开源版本,可以供开发者学习、快速上手熟悉IRITA的体系架构、并部署行业验证应用系统等。
•IRITAHUB异构区块链跨链服务枢纽,支持各种异构区块链网络间跨链资产交换/转移及信息安全验证;支持链上链下业务系统数据安全共享和跨链服务调用。目前已上线BSN。
•IRITAOPB基于智能合约的开放联盟链,支持SM2等多种国密算法,以应用服务平台形式支持分布式商业系统应用快速开发、部署及运营。目前已上线BSN。
•IRITABEAN保护数据隐私的数据共享平台,专注于大数据隐私保护和边缘分析的产品,集成了主流开源隐私计算框架,实现了大数据多层次授权共享、多方隐私保护查询、多方联盟学习等能力;支持对数据和业务流程全生命周期进行监管。
•IRITADA资产数字化确权及交换平台,专注于支持NFT登记、确权及可信交换的产品;支持实体资产在链上的数字化建模和全生命周期管理;实现智能合约驱动实体经济相关流程的自动化运行,降低沟通与业务运营成本。
IRITA可以灵活使用在多种行业,尤其在金融创新行业,围绕资产数字化后的确权和流通,具有6大核心技术:
高效共识-Tendermint:Tendermint共识引擎是在互联网级别可应用的拜占庭共识协议,被全球超过40%的PoS区块链所采用,它提供了一个高性能、一致的、安全的BFT共识引擎。Tendermint非常适合用于扩展异构区块链,包括公有链以及注重性能的许可链/联盟链。边界智能团队的创始人是Tendermint创始团队的董事会成员,直接参与其战略发展路线制定。
跨链技术-IBC:IBC支持各种异构链间可信交互,其中,边界智能团队参与了IBC的开发,并贡献了IBC中重要模块—ICS20跨链转账的开发。同时,边界智能团队也对IBC进行了扩展设计实现跨链服务(iService)--通过IBC支持异构系统围绕数据和计算的可信跨链调用。
隐私计算-数据授权共享:IRITA的隐私计算模块支持对复杂数据对象基于“最小原子化原则”进行加密及授权共享,除了被授权方,任何第三方无法解密;该模块集成了主流多方安全计算和联邦学习开源框架,支持隐私查询和多方联合建模计算,同时实现了多种隐私计算方法支持数据可用不可见,及保护隐私的多方协作数据运算等。
面向服务,支持多方协作-iService:iService提供了开发友好的微服务基础设施。支持链下服务从定义、绑定(服务提供方注册)、调用到治理的全生命周期管理。iService可以非常方便地支持对传统商业系统的集成,实现多方协作链上链下业务流高效集成。
资产数字化建模与可信交换:支持对实体资产数据多元结构的灵活建模及跨异构链可信交换。IRITA以NFT为基础,支持供应链、知识产权、医疗、存证等各领域的资产数字化。
大数据存储:自带存储层支持云存储和分布式存储;数据仓库和链式数据结合支持链上数据高效全生命周期查询。
工分模块
工分模块旨在计量联盟成员对应各种权益的工作量,从而让联盟成员能够基于IRITA平台进行公平、透明以及可追溯的交互与协作。数字化的工分代表着联盟成员参与协作的服务计量并支持形成对此工作量的权益证明,该证明被不可篡改地记录在IRITA链上。
工分是一种可替代性(同质化)通证。包括以下一些属性:
符号是工分的唯一标识符
名称是工分的描述性名字
初始供应量:初次发行的工分数量
最大供应量:工分的总量
可增发性:初次发行后是否可以增发
分割性:即允许工分拥有的最大小数位
资产数字化建模
资产数字化建模为联盟链成员提供了将资产进行数字化的能力。通过该模块,每个链外资产将被建模为唯一的IRITA链上资产。
链上资产用ID进行标识,借助IRITA安全、不可篡改的特性,资产的所有权将得到明确。资产在成员间的交易过程也将被公开地记录,以便于追溯以及争议处理。
资产的元数据(metadata)可以直接存储在链上,也可以将其在链外存储源的URI存储在链上。资产元数据按照特定的JSONSchema(opensnewwindow)进行组织。
随机数#PRNG
伪随机数生成器(PRNG),也称为确定性随机数生成器(DRBG),是用于生成近似于随机数序列特性的数字序列算法。
通过区块链生成的多个指标作为“因子”来计算随机数,使得此随机数公开透明,方便验证。
随机数“因子”具体包含以下指标:
上一个区块的Hash:区块Hash的生成,取决于该区块的多方面因素,比如区块高度、交易数量、时间戳等等,因此区块Hash本身就具有一定的不可预测性。
当前区块的时间戳:区块时间戳采用BFT时间,即根据验证人的权重,使用上一个区块中每一个Precommit的时间,加权计算出来的分布式时间戳(毫秒级别),也具有一定的不可预测性[BFTTime(opensnewwindow)]。
请求随机数的账户地址:主要是为了实现不同人在同一个区块高度得到不同的随机数。由于区块Hash和BFT时间的计算都是基于上一个区块的信息,为了避免请求随机数之前可以预先计算结果,所以另一方面,我们通过“未来区块”,加强随机数的不可预测性。
存证
存证用于将任何链外数据可信地映射在IRITA链上,作为对原始数据的证明。其可信性是通过密码学算法与区块链的安全性来保证的。
数据存证分为链外和链上两个过程:
将数据通过密码学安全的摘要算法进行处理,产生唯一的数据摘要。安全摘要算法包括SHA256、SHA512、SHA3等。
存证包含以下属性:
数据摘要:数据的密码学证明
摘要算法:用于摘要生成的密码学算法名称
元数据:欲存证的原生数据,可直接存储在链上
元数据URI:元数据在链外存储的URI
HD钱包(命令行)
HD钱包即分层确定性钱包,是基于BIP44的秘钥管理方式。HD钱包为多资产、多秘钥的管理提供了极大的便利。HD钱包的优势在于其可以通过一个主密钥推导出无数的分层(树状结构)子私钥。
主密钥由一个随机的种子产生。在IRITA中,该种子由24个有序单词构成的助记词生成。
当秘钥丢失时,可由此助记词恢复出所有的秘钥。
链外存储
考虑到区块链的可扩展性需求以及存储的昂贵性,大容量数据需要进行离链存储。比如资产的元数据、证书以及服务调用结果的大尺寸数据等,IRITA联盟成员可以将其存储在链外,而将其URI存放在IRITA链上以节省存储费用和提高处理效率。
为防止单点失败以及篡改数据,IRITA平台链外存储采用去中心化方式。
隐私计算
为确保联盟成员通过IRITA协作时能够保证参与方获得正确计算结果的同时,关键数据的隐私也能够得到保护,IRITA网络引入隐私计算作为重要的链外服务设施。通过隐私计算服务,联盟成员可以安全、高效地进行数据共享。隐私数据可以被拥有者可控地授权给其他成员,只有被授权成员才可以访问这些敏感数据。
当前IRITA平台支持的隐私计算方案为代理重加密和安全多方计算。
代理重加密是一种重要的代理密码体制,该体制的关键特性是通过第三方代理来实现密文数据的转换,约减了数据所有者的计算负担,从而实现密文的高效共享。该代理是一个半诚实代理,因此保证了密文转换过程的安全性。
代理重加密的主要参与者为:数据拥有者、共享用户、代理者。数据拥有者为隐私数据的所有者,拥有该数据的完全控制权,将数据用私钥进行加密存储。共享用户为隐私数据的共享者,其向数据拥有者申请访问授权,后者为其生成相应的重加密秘钥。
代理者是一个半诚实模型的计算实体。通过重加密秘钥,将数据拥有者的密文转换为用共享用户公钥加密的密文。
IRITA代理重加密模型为联盟成员将含有隐私的数据用私钥加密后存储在链外存储源,同时将该密文数据的URI以及原始数据的哈希值存放在IRITA链上分别用以获取和验证。通过该公开URI获取到的数据为密文形式,因此保障了数据的隐私和安全。
当其他成员需要访问这些隐私数据时,需要向数据所有者发起授权申请。授权过程完成之后,IRITA平台代理计算节点将获得相应的重加密秘钥,并进行密文数据的重加密。
被授权成员获取代理节点的重加密结果,用自己的私钥即可将其解密为原始的隐私数据。通过校验存放在IRITA链上的哈希值可以实现该隐私数据的完整性验证。
安全多方计算是一种多方隐私保护下协作计算的重要实现方法,该方法的关键特征是在无可信第三方的情况下,安全地计算出一个多方商定的问题。安全多方计算能够保证参与方获得正确计算结果的同时,无法获得计算结果之外的任何信息,并且在整个计算过程中,参与方对其所拥有的数据始终拥有绝对的控制权。
安全多方计算的关键技术主要有:秘密共享、不经意传输、混淆电路以及同态加密。秘密共享通过将秘密信息拆分成若干份子信息并分发给多人,以此来达到风险分散和抵抗恶意行为的目的。不经意传输实现了发送方将潜在的许多信息中的一个传递给接收方,但对接收方所接收信息保持未知状态。
混淆电路将任何函数的计算问题转化为由“与”门、“或”门和“非”门组成的布尔逻辑电路,再利用加密技术构建加密版本的布尔逻辑电路。同态加密是一种加密形式,对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。
IRITA的安全多方计算模型,以两方参与的安全多方计算为例,一方为安全计算服务请求方,简称请求方,另一方则为安全计算服务提供方,简称提供方,具体计算模型如下:
提供方在区块链上定义服务并绑定服务,其中需要提供安全多方计算服务的输入信息以及输出信息的要求。需求方在配置完成己方边缘服务器后,发起服务调用请求。计算双方边缘服务器监听区块链上的服务调用请求,由提供方边缘服务器向请求方发送安全多方计算连接请求。连接建立后,双方边缘服务器协同计算。提供方边缘服务器完成计算过程并提交服务响应。需求方边缘服务器上完成计算过程,得出最终计算结果。
区块浏览器
IRITA区块浏览器用于可视化呈现IRITA网络的运行状态和链上数据,联盟成员可以通过设计简约、体验友好的Web页面来获取这些信息。运行状态主要包括已达成共识的区块和交易总数、衡量网络性能的平均出块时间、评估网络整体安全性的验证人总数以及当前在IRITA上创建的资产和服务总数。其中区块、交易以及资产和服务的详细数据可以在相应的详情页面浏览。
边缘计算服务
边缘计算服务通过为IRITA提供边缘计算能力,从而为链外服务与IRITA的高效交互赋能。边缘计算作为IRITA可信计算的重要补充,极大地提高了平台的计算效率以及可扩展性。
边缘计算服务能够对数据进行预处理,包括身份核验、有效性检查,以及对交易的排序、聚合、缓存与过滤。另外,边缘计算服务针对多种场景进行建模,满足典型应用的数据处理需求。
边缘计算服务采用分层架构,主要分为服务层、应用层以及链上交互层。
服务层是边缘计算服务的入口,链外服务通过此接口与其进行交互。服务层将不同的服务请求路由至相应的应用处理器。应用层负责业务逻辑处理。应用层包含多个应用处理器,每个处理器由若干预定义的计算单元组成。这些计算单元构成一个管道,对数据进行渐进处理。
链上交互层将预处理之后的链外请求构造成区块链交易,发布到IRITA链上完成共识,并获取交易处理结果。可以通过开发适配器为边缘计算服务定制应用处理逻辑,使得边缘计算服务能够方便地扩展到各种应用场景。