Seele 元一 的价值传输协议VTP

1 概述

为解决各区块链网络之间无法有效地进行价值传输的痛点,基于异构森林网络架构,提出价值传输协议(VTP, Value Transport Protocol)。该协议涵盖了对链上资产的统一标识,对资产查找的路由策略,是一套完整的用于区块链价值网络的传输协议。

2 命名机制

对于区块链网络,其上的数据都是资产,对每个资产进行命名,标识其唯一性,对于资产的注册、发现、转移和转换都具有极大的意义。基于 VTP 协议,我们定义了统一资产标识命令规范(UAI, Uniform Asset Identifier),对资产采用分层结构化命名,方便人的认知、记忆,同时具备了唯一性、可用性、可扩展性等特征. 例如 CHAIN://edu.pku.cs/account/data,其中 CHAIN://是默认的协议头,edu,pku 和 cs 是从高到低的各个层次的链标识,account 是链上的账户(或者合约),data 该账户的某个信息,data 可以是账户的余额、备注、甚至是个合约的接口等。在异构森林网络中,兄弟链之间采用不同的命名空间,具有相同的父链命名空间,通过父子关系可以方便地进行内容的寻址和路由。

3 内容寻址

每条链都提供子链地址查询服务,由系统合约实现,在建链时进行初始化。当新增子链时,子链向父链发送注册请求,父链记录子链地址。”元链”是全局配置链,管理整个森林网络体系所有的入口地址,当查询一个信息时,根据 UAI 首先从元链找到入口,再依次往下查找,直到找到所要的子链,然后根据account 和 data 字段的内容定位到特定的资产。“元链”不会成为性能瓶颈,因为路由满足局部性原理,可以被缓存处理。

4 路由缓存

为保证更高效的网络利用率、提高数据的可用性和访问效率,提升上层服务体验,引入路由缓存机制。在每条链上,由内置系统合约管理路由缓存,在建链时进行初始化。对于缓存的替换策略,主要有如下几种方式:

基于上一次被访问时间间隔的替换策略;

基于访问频率的替换策略;

同时基于上一次访问间隔和访问频率的策略;

基于随机的替换策略; 通过缓存路由寻址失败则立即清理缓存。当新的子链加入到异构森林网络,须向元链注册信息,由元链向下层传递消息以进行路由的更新。

5 VHTTP

为方便上层应用实现简便的跨链访问,借鉴传统互联网的 HTTP 协议,提出

用于价值互联网的跨链传输协议 VHTTP(Value HTTP protocol)。该传输协议实现链与链之间、链内和链外之间的价值交换。VHTTP 兼容 HTTP 协议,能够识别 HTTP 请求包格式,也即链外用户可以直接通过 HTTP 协议访问链内资产和数据。对于进入区块链网络的 HTTP 请求,自动建立方法之间的映射。

VHTTP 协议请求由三部分组成:请求包头、消息报头、正文。 请求包头以一方法名称开头,以空格分开,后面是请求的以 UAI 标识的资产地址和版本,格式如下:

Method UAI Version CRLF

请求方法类型如下:

GET:请求获取 UAI 所标识的资源信息

POST:创建资产(资产上链)

TRANSFER:在二个 UAI 之间进行资产转移

你可能感兴趣的:(Seele 元一 的价值传输协议VTP)