【摘要】 比原资产协议BAP
比原链团队于2019年4月22日发布 bytomd 1.0.9,其中最重要的内容是“比原资产协议BAP-2 ”(Bytom Asset Protocol) 。BAP-2 通过Key-Value 的结构上链,清晰的展示资产的相关信息,该协议有助于所有开发者在浏览器和手机应用开发中使用和资产相关的内容。
1、标准的意义
标准对于所有的行业的发展都极具意义。在互联网时代,TCP/IP的标准促成了互联网大繁荣,而在区块链世界中,以太坊ERC20的带动了Token的大繁荣。标准让生态系统的参与者共同遵守一个规则,这个规则有利于产品的兼容性,也有利于行业的良性发展。
2、BMIP002
BMIP作为比原链的改进协议,旨在规范比原链平台的开发标准,包括但不限于核心协议、客户端 api 、虚拟机规范和合同标准。本次BAP(Bytom Assets Protocol)属于BMIP002号改进协议,欢迎各位社区的技术爱好者参与。
BAP协议定义了资产的含义:资产是一种可以在区块链上发布的价值,其中给定资产的所有单位都是可替代的。本次BAP定义的是同质的资产,也就是每单位数量之间的资产并没有任何差别,简单的类比就是ERC20标准的资产。每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义。
BAP协议定义了资产字段:其中包括资产名称、资产符号以及资产描述。BAP协议还提供了一种简单发布资产的方法,如下所示:
使用比原链上的该智能合约即可创建一种符合BAP规范要求的资产。除此之外,如果你定义了在某个高度后不允许增发该资产,则变成通缩类型的资产。
BMIP002文档:https://github.com/Bytom/bmips/blob/master/bmip-0002.mediawiki;
3、BAP的优势
并行性:基于BUTXO发布的资产交易具有较好的并行性,可以在一笔交易中同时发送给多个不同的人,相当于一次性发送了多笔交易。同时,通过链式交易可以在一个区块中打包多笔前后连续的交易,从而形成交易链条,这是在以太坊等账户模型中的资产无法完成的。
多资产:比原链支持在一笔交易中包含多种不同类型的BAP2资产,由此可以延生出各类金融模式,包括不同资产的合约互换等等。
安全性:每个BAP2资产的UTXO都有其自身智能合约的守护,如果黑客攻击一个智能合约只能拿走该智能合约中锁定的资产,无法获取所有的同类型的资产,因此资产安全性更高。
4、标准展示
有了BAP2标准后,各个生态方(如钱包,交易所,应用开发方)都可以根据该标准进行对接,对接之后的资产可以无缝方便的在各个平台流通,而且对接也非常简单。
比原链区块浏览器 Blockmeta.com已率先支持BAP2标准,并进行展示,社区其他合作方都可以根据Blockmeta来设计自己的产品。通过判断资产的规定字段来筛选出是否满足BAP2标准,并展示出是否是BAP标准的资产。
5、Bytomd1.0.9 其他功能
交易场景:
1. 保存所有历史交易的索引,查询出现 “txindex”标志时使用;
2. 添加尘埃交易过滤规则,过滤尘埃输出量的交易;
节点选择与发现:
1. 添加keep_dial选项以自动重试连接到提供的节点;
2. 添加自定义节点别名功能,支持通过配置自定义节点的名称;
3. 支持 mDNS LAN 节点发现,以减少通信所需的网络带宽;
预估手续费:
1. 添加可能在多个场景中出现的诡异交易测试,例如费用不足、交易不平衡,溢出和签名失败测试;
2. 准确估算标准交易和issue资产交易的gas费用;
安全性:
1. 添加时间戳作为随机数生成器种子数,确保随机数安全性;