基于ODIN和PPTP协议构建去中心化数字资产管理网络

资产区块链化是近期全球业界研究的焦点, 包括Ethereum,Chain, 甚至部分基于二层交换协议的项目都在围绕这个方向打造生态。 目前有一个成功的例子就是USDT,它是基于比特币链上的omni协议或以太坊ERC20规范发行的第三方背书资产,作为法币世界与区块链世界中间的润滑剂,在行业中已经非常重要。资产上链预期会成为区块链的杀手级应用,但目前存在两个问题阻碍其大规模推广:

1. 区块链资产的标示问题

传统互联网通过DNS域名系统,IP和HTTP协议,来标示信息。比如访问google,我们只会通过浏览器输入域名来跳转到对应的站点,而不会去记住相应的IP地址。 同样对比区块链,当我们需要运行dapp或者访问链上信息时,都必须部署节点,并根据HashID来映射资源,这显然是十分不友好的。区块链也需要构建网络, 通过URI和独有易读ID来唯一标示数据, 如下图所示,构建一个对等可信区块链互联网, 相应要有跨链,对等可信协议等组合,现在缺少完整的协议栈。 基于ODIN和PPTP协议构建去中心化数字资产管理网络

2. 区块链资产的统一性问题

资产发行方在不同区块链上发行同一种资产,由于缺乏统一的管理方案,导致伪资产假地址等欺诈事件层出不穷。 比如如何确定某个ERC20代币和比特币上的衍生代币都是USDT资产,目前来看是存在困难的。这就需要有资产统一管理协议来解决这个痛点。

业界提出了很多解决方案,例如namecoin,onename和taqanu等,但特点都是要依附某一独立区块链,众所周知维护一个区块链系统工作量和成本极大,所以这并不是一个很好的选择。介于此,我们更青睐轻量级的解决方案,选择基于ODIN+PPTP协议来构建去中心化对等可信资产管理网络

ODIN (Open Data Index Name) 是遵从 URI(统一资源标识符)规范,用于标识和交换数据内容索引的一种开放性系统。以比原链为例,其上的数字资产能够通过ODIN转义标识,如URI: ppk:BTM/asset/<asset_id>#1.0, 这是区别于区块链RPC调用获得信息的访问模式。 ODIN规范是基于比特币主链, 优点在于

自主性与便捷性:ODIN标识仅被一对非对称加密的公私钥所控制,而ODIN标识的数据访问点,公钥索引等相关配置,则通过封装成比特币交易的形式永久保存在比特币区块链上。去中心化与鲁棒性:能够避免传统中心化的URI实现形式的单点故障和抵御DDoS攻击。不可篡改与安全性:ODIN 标识符拥有者可以通过私钥对自主发布的数据内容进行签名,而公钥是通过ODIN标识机制关联存放在区块链上,接受数据内容的个体可以通过区块链获得可信的公钥进行验证,以确保收到的数据是来源可信和不被篡改的。

PTTP是 Peer Trusted Transfer Protocol(对等可信传输协议)的缩写。每一个ODIN标识URI会被解析映射到一个或若干个AP(Access Point,即数据访问点)上,由AP节点按照PTTP协议负责中转或提供具体信息服务。 AP可以理解为网络里的”中继”和”WEB服务器“。 这样就组成了完整的区别于互联网的区块链网络。 用户不需要关心节点在哪里,应用在哪里,通过浏览器就可以可信地访问区块链。

如下图所示,实现整个资产管理网络关键点在于结合ODIN和PTTP设计一个完备的数据交互规则。

 基于ODIN和PPTP协议构建去中心化数字资产管理网络

实践:

我们拿比原链进行落地尝试, 实现一个资产管理网络的Demo。

示例一:注册BTM的根标识,建立基础访问链路

首先,基于ODIN注册BTM的根标示,在比特币链上创建交易 ,通过注册地址设置管理员和数据访问点。在交易得到确认后,通过读取区块链数据可知如下信息,设置了2个访问点,和相应ODIN名称和管理员地址,

基于ODIN和PPTP协议构建去中心化数字资产管理网络

ppk:519502.2699 代表在高度为519502的区块中的第2699笔交易中记录了信息,且定义了BTM资产的根标识,同时按ODIN标识协议规范转化成短标识286和BTM。从这个转义过程能看到ppk:BTM/, ppk:286与ppk:519502.2699/从逻辑上是等价的,可以从具体业务场景出发灵活选择使用。按照标准格式的ODIN标识,客户端根据该标识对应存放在比特币区块链上的访问点AP参数,进一步解析指向实际的AP节点URL(类似传统DNS域名解析到IP地址的过程),在此示例里客户端获得的AP节点URL是 http://blockmeta.com/api/odin。由客户端按AP URL中对应的实际承载协议类型(如此示例的HTTP协议)来组织发送符合PTTP协议的兴趣包(Interest)给AP节点,这此例中为比原链区块浏览服务器。

查询结构数据结构为:

基于ODIN和PPTP协议构建去中心化数字资产管理网络

服务器得到兴趣报文,主要解析interest字段内的uri字段,通过解析uri字段,获取相关数据,并发送RPC请求到后端比原链节点,返回得到应答后,再基于回应数据构造内容数据包,其中包含对内容哈希进行签名,确保数据的完整性和安全性。最后发送回客户端。

基于ODIN和PPTP协议构建去中心化数字资产管理网络

客户端获得应答的内容数据包,然后按该ODIN标识存放在比特币区块链上索引的公钥等可信验证参数自主对内容数据包进行可信验证,验证通过后显示绿色字体的“Valiade OK”, 这样链路打通了, 后续就可以基于二级路径ppk:BTM/asset 来直接访问资产数据。

基于ODIN和PPTP协议构建去中心化数字资产管理网络

示例二:输入ppk:BTM/asset/<asset_id> #1.0返回关于指定资产的JSON格式的相关详细信息

示例二与示例一的主要区别在与访问ppk:BTM/asset/<asset_id>#1.0存在多级标识的递归解析。多级ODIN标识的解析过程如下:客户端首先访问ppk:BTM/asset#获得定位下一级标识的解析内容数据包,其content内容为

基于ODIN和PPTP协议构建去中心化数字资产管理网络

客户端解析步骤1得到的内容数据包,进一步递归访问下一级标识的内容资源如ppk:286/asset/<asset_id>#1.0,并向对应的AP节点http://blockmeta.com/api/odin发送请求,获得返回的资产详细内容数据包,并显示至前台,如下图所示:

 基于ODIN和PPTP协议构建去中心化数字资产管理网络

由此得到示例一和二,解决了区块链资产标识问题,只要建立了网络,用户无需运行比原链客户端无需通过中心化浏览器访问,就可获得链上可信的资产信息。 那么如何解决多链同资产统一性问题呢, 可以通过AP扩展的方式实现

示例三: 一种资产在以太坊上和比原链上同时发行,通过ODIN标识为两者确权。

要确定这是否是同一类资产且属于同一发行方, 就需要同一发行方掌握两条链上资产的管理私钥,假定资产先在以太坊上发行,后在比原链上发行,那么就需要在比原链资产定义中加入相应的信息,如下图所示:

基于ODIN和PPTP协议构建去中心化数字资产管理网络

data字段代表在以太坊上资产的定义, attach是与相应的odin标识匹配, signed数据是资产发行方对data数据的签名信息, 这样就可以证明两者的资产发行方是相同的, 同时我们通过以太坊资产的odin标示,来直接访问相应的资产信息, 这需要在odin浏览器中实现递归访问的功能。

另外假如同种资产要在第三个区块链上发行,同样需要将比原链上的资产数据放于链上,形成一种”链式”嵌套定义,实现三方锚定。

未来发展:

可以看到,示例中对链上数据的操作和访问还是非常初级的,要实现复杂完备的功能,需要三方面的工作:

处理复杂递归数据的访问,需要有定义高效的跨链资产访问协议,与易用友好的浏览器支持。基于现有架构,可以观察到数据在AP与AP间或者AP与区块链节点间流动,因此AP单点可用性扩展性会遇到挑战,设计一个高可用高性能的AP服务框架,这是未来重要的工作。完善AP与节点的通信协议,定义和支持“bytom:”形式的服务接口,封装和对接比原链节点的RPC接口服务,可以实现更为灵活、复杂的功能,如类似ERC20的数字资产发行和交易接口,形成一套完整的数字资产管理系统。

通过上述基于比原链的示例,很好地展示了ODIN标识和PTTP协议结合区块链资产管理网络的创新概念,体现对跨平台数字资产发行和流通的支持潜力,从而为实现“连通原子世界与比特世界,促进资产在两个世界间的交互和流转”的长远目标提供确实的支撑。只要有越来越多的区块链能加入这个网络,那么资产区块链化的爆发奇点一定会马上到来。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。