Ink底层技术创新:“我们想改变整个区块链世界”
INK的愿景在于链接全球不同文化圈,为原创内容行业塑造分布式解决方案与基础设施。为了让这样的大生态不只停留在愿景层面,而从实践意义上真正落地,则需要稳定、多维度、贴合商业模型的底层技术作为支撑。从该角度出发,本文将梳理INK已完成和正在规划中的底层技术实现与创新。
INK所面向的跨地域不同文化圈原创内容生态场景十分复杂,既要考虑不同地域法律、监管、文化的差异,也要权衡系统治理方式、可扩展性、安全、性能方面的多样化需求。目前,单一类型的区块链技术架构显然无法满足INK的生态建设需求。
对此,INK采用的战略可以用“全球本地化(Glocalization)”来概括,即“全球化(Globalization)”和“本地化(Localization)”的结合。在这一架构下,INK将为全球多个不同文化圈定制、部署并运维多个INK联盟链。每个INK联盟链将成为当地原创内容产业的分布式基础设施,专注实现的“本地化”的商业网络。同时,为了链接这些分散在不同主权框架下的本地化网络,INK跨链协议将为所有INK联盟链与公有链Qtum提供互操作性,实现价值和信息在链与链之间的流转,最终以Qtum为桥梁实现“全球化”的价值网络。
本地化:面向不同文化圈,可定制的INK联盟链
INK联盟链参与方
除了公平与自由,IP产业由于涉及所有权的确认和管理,同时也注重系统的权威性,这是目前大部分公有链底层难以提供的。INK在本地化战略中采用联盟链作为技术基本架构,基于商业环境下应用最为广泛的区块链框架Hyperledger Fabric 1.0进行一系列自主改造,继承其插件化、可配置的设计风格,并扩展其作为价值流通媒介的能力。为了真正实现商业价值,INK联盟链引入内容平台、科研院校等组织作为核心节点,版权机构等作为背书节点,共同打造可靠、可信、权威的原创内容产业分布式基础设施。
区块链式结构中,每个新生成的区块用于记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识。Fabric中的交易通常是对智能合约的一次调用,并可能改变当前的世界状态。基于将节点的交易执行与交易排序功能解耦的设计,Fabric中的背书节点以读写集作为模拟执行交易的结果,由排序节点汇总、排序近期的交易并打包区块,确认节点仍然需要逐个验证其中交易的读写集,将可能引发不一致的并行操作进行串行化。其带来的问题是,如果一个交易在验证环节进行了状态写操作,则对应读集合中所有状态的当前版本必须要跟执行背书时一致,否则,该交易会被标记为不合法。这是可用性向一致性的妥协,使得这种类似多版本并发控制(MVCC)的状态读写机制难以适应高频、高并发的价值传输场景。一个典型的影响是,对于基本的转账操作,一个账户在同一个区块中只能被操作一次。
读写集与转移集
INK在Fabric现有的技术基础上,改造其区块结构,新增交易类型和状态存储结构,新增账户相关功能接口,并新增转移集(Transfer Set)作为Fabric中读写集(Read-Write Set)结构的补充,用于记录账户转账等相关操作。对于以转移集为载体的转账或智能合约调用,由于只涉及账户余额的读取或增减,确认节点采用相对宽松的验证机制,使得INK支持了在同一区块的交易批次中,同一个账户的多笔转入或转出交易都能够同时生效。同时,转移集与读写集可以完美共存于同一笔交易当中。对转移集的验证机制配合INK账户体系,也同时保证了一致性、确定性、抗重放攻击等。
INK底层所支持的上述创新特性将成为未来高效价值流转,以及内容分发、知识付费等文创应用的必要底层支撑。
另一方面,INK为联盟链开发实现了INK账户模块。INK账户是天然支持可配置化的多资产系统,不需要额外通过智能合约实现,极大降低了资产发行和容错的成本,并完全兼容已有的安全和校验设置,使得其完美契合INK所构想的IP资产管理与流通平台。
INK账户体系能够满足数量庞大的匿名用户与区块链直接交互的需求。默认情况下,用户可自行使用椭圆曲线secp256k1生成密钥对,并由公钥单向推导出INK账户地址。INK同时针对账户体系开发了可配置的手续费模块,以满足网络运维者和应用开发者的必要需求。
基于上述基础能力,INK在合约的GetState和PutState等基础接口之外,实现了GetAccount、Transfer等接口,供智能合约开发者灵活使用。
INK 联盟链架构
值得强调的是,INK联盟链在设计上遵循插件化风格,账户、转移集、手续费、共识机制等模块均可任意插拔和高度定制,为支持面向不同应用场景的延伸提供了支撑。
INK联盟链的初衷是作为技术支撑来为各地方提供完整的原创内容产业分布式解决方案,需要适应复杂的传统业务系统,同时也带来了大量的开发运维工作。结合INK模块化设计的特点,INK使用容器化技术来简化工作内容和流程。容器化为INK带来的优势包括:1)快速交付和部署,使用镜像来快速构建一套标准的开发环境,之后测试和运维人员可以直接使用相同的环境来测试和部署代码;2)秒级启动INK服务;3)隔离不同应用,提高安全性与稳定性;4)易于迁移和扩展。在实际生产环境中,INK使用Kubernetes实现自动化部署,实现对INK联盟链和跨链组件的管理、监控以及规模上的横向扩容。Kubernetes作为现今最流行的分布式应用容器管理系统,在扩展性、运维工具支持、API支持,以及对虚拟机、裸机、常见云平台等多种环境支持上具有优势,可以实现与INK系统的完美融合,并方便实现在线集群扩容,使系统能够承受大量用户并发访问带来的巨大压力。
全球化:基于Qtum的全球化IP资产平台与INK跨链交互协议
INK初期将以登记在各个INK联盟链上的原创内容为载体推出IP资产平台,涉及IP资产的登记、保护、孵化、交易等。后期将基于Qtum实现基于智能合约的去中心化IP资产交易平台。
作为IP资产的价值载体,IP Token标准继承自QST(Qtum Standard Token),在兼容其所有标准功能基础上提供更多与IP内容和跨链支持相关的接口与能力。
INK 将打造基于Qtum的全球去中心化IP资产交易平台。设想,现有的中心化交易平台无法保证完全的公正、公开和安全,可能存在账号被盗、操纵交易、代币超发、系统崩溃、平台误操作等问题,导致投资者与IP所有者的利益受损。此外,中心化交易平台为了保证自身的合规性和可操作性,往往会要求用户注册并提供身份验证文件,并将用户账户的私钥存储在服务器端,无法保证匿名性,对用户而言具有重大安全隐患。鉴于此,INK将基于Qtum底层,使用智能合约实现交易平台基本功能,完全去中心化操作,确保透明、公正与公开。用户可以自行调用接口进行交易操作,也可以使用INK开源的前端工具进行交互,私钥存储在用户本地,无需注册和身份认证,没有第三方参与,不受平台限制,能够以最大程度保证使用者的隐私与利益。
INK 跨链模型
为了解决各个INK联盟链相对封闭和孤立的问题,作为实现链接全球不同文化圈的技术重点,INK创新性地提出了联盟链与公链的跨链协议,并首先为INK联盟链和Qtum公有链提供互操作性。
互操作性的实现将充分得益于以下两点:其一,作为通用性强的智能合约平台,无论Qtum支持的EVM或x86虚拟机还是INK联盟链支持的链码都拥有灵活和强大的表达能力;其二,INK联盟链自身提供、也依赖于成员身份管理和权限策略机制,使得跨链操作的校验和执行也可以像链内交易一样依赖于多个独立、可信的背书者,同时不为联盟系统增加额外的信任假设。
跨链协议需要联盟链和公有链两侧的配合实现。在联盟链侧,参与整个共识流程的节点的职能解耦为背书、排序和验证。我们将背书职能进一步分为交易背书和跨链中继背书。负责跨链中继背书的功能节点需要独立读取和验证公有链侧的跨链操作事件及相应状态值,并保证公允的最终性,也需要为联盟链侧的合法跨链操作请求进行数字签名。如同在实例化智能合约时所设定的交易背书策略一样,也需要为中继背书组合的有效性设置策略。具体,有效的中继背书组合可以采用INK联盟链的SignaturePolicy结构进行指定,构建任意复杂的签名校验组合。例如,“OR(‘Org1.member’, AND(‘Org2.member’, ‘Org3. admin’)”表示要么组织Org1的成员签了名,或者Org2的成员和Org3的管理员同时签了名,才满足中继背书策略。公有链侧,通过智能合约注册联盟链以及背书节点和策略信息,并实现跨链处理逻辑。智能合约将借助成熟的密码学库方法实现对背书节点签名的验证。在整个跨链过程中,智能合约和中继背书节点起到了中介的重要角色,而区块链网络则确保最终的跨链结果被确认。
INK跨链协议带来的能力将包括INK和IP Token的跨链流通、智能合约跨链互操作等。举例来讲,用户可以将持有的Qtum上的全部或部分INK或IP
Token转移到某个INK联盟链上进行流通,使用其所在地域的特有应用和服务,并享受联盟链的可信性与高性能;INK联盟链上的Token也可安全转移回Qtum公链,整个过程保证转出链上的相应资产被可靠锁定,所有链上的流通资产总额不变。进一步,INK联盟链将可以与公链合约实现互操作,其中一方发生的事件在经过确认后可以触发另一方的合约条款。
开发者支持:普及INK应用生态,构建零门槛开发者平台
INK将为生态应用开发者提供尽可能多的支持。首先,INK将持续维护软件开发套件SDK。通过封装与INK网络交互的各种功能,SDK可以访问多种资源,包括账户、交易、账本、智能合约、监听(由智能合约发送或区块生成的)事件等;SDK同时会对INK跨链操作流程做出抽象,为开发者屏蔽底层细节,而又能享受到跨链带来的优越性。基于SDK,社区开发者可以顺利开发出IP资产钱包、浏览器,以及各式各样的原创内容产业应用。
INK BaaS架构
然而,对于社区应用的开发和测试者,构建一套分布式的区块链方案仍非易事,既需要一定经济成本的投入,也需要全方位的开发和运营管理。INK也将上线完全公开的区块链服务(BaaS)平台,提供一站式的测试网络搭建、分布式账本内容可视化呈现、智能合约开发与测试、网络监控与分析等功能。INK BaaS平台将相继支持INK联盟链集群、Qtum集群、跨链交互集群等开发环境,上述开发环境将贴近实际应用场景,使开发者可以将经过检验的业务模型很容易地迁移发布到INK联盟链和Qtum公链。
结语
基于Ink底层技术的创新和“全球本地化”策略,未来,Ink将能为创作者提供这样一幅使用图景:
一位英国作家使用INK英国主权联盟链对他的新小说进行版权登记,通过跨链协议,同时在所有INK主权联盟链内进行对比,确定了这部小说在链上是“首发”,因此在Ink所有的主权联盟链上进行了版权登记;之后,借助INK体系内的IP监测链,作家可以方便的了解这部小说的流通与侵权数据,如果出现侵权情况,侵权存证链将对侵权页面进行区块链存证;监测链、存证链的数据将跨链支持这部小说token的数量与项目保险金额。
跨链协议还将可以支持这部小说在不同主权联盟链上的IP权益转换。比如该IP项目想要进入海外市场,在其他国家都可以方便的享受该国的INK联盟链生态,如保险、代理、基于该国的主权链权益买卖等。
记者:铅笔盒
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场