自从 2015 年,人们发现了区块链巨大的潜在价值之后,区块链技术已经飞速发展了四年多,这四年中,区块链成为科技、金融、政府多方认可和推崇的创新技术,全球众多科技、金融巨头都投入了大量的人力物力进行研究,行业内初步涌现出了一批优秀的创业公司。然而,区块链技术发展还远没有达到成熟阶段,虽然整个区块链行业百花齐放却各有弊端,我们知道区块链行业的开拓者很难把区块链技术推向大规模的应用落地中。基于此,比原链团队从区块链架构和底层技术的维度出发,立足于区块链大规模落地场景,在共识机制、智能合约、可扩展性、隐私安全、跨链交互等几个方面对现有区块链进行优化,推出 Bystack 这一蕴含颠覆性理念和前沿技术的产品。
Bystack 是帮助用户快速创建,管理和维护企业级区块链网络和商业区块链应用的服务平台,具有开发成本低,部署快捷,性能高和扩展性强,安全可靠,方便易用等特性,为开发者或企业提供区块链能力的一站式解决方案。
Bystack 独创的主侧链模型和核心的 Blockcenter 系统通过将底层的区块链网络,共识,应用开发能力,区块链配套设施进行整合和抽象,转化为用户熟悉的可编程接口和操作界面,屏蔽底层的技术细节,让应用开发更加简单高效,让企业和开发者更加专注于区块链应用的开发。
主侧链协同工作模型
Bystack 解决方案是主侧链(一主多侧)协同工作模型,主链采用 PoW 共识保证多样资产的安全和去中心化,侧链通过可插拔技术实现不同的解决方案,从而满足不同的业务场景和对更高性能的要求,加速区块链商业应用的落地。
主侧链协议本质上是一种跨区块链解决方案。这种解决方案,可以实现数字资产从一条链到另一条链的转移,当然也可以从另一条链安全返回到第一条链。在 Bystack 中,创建、存储资产的区块链网络通常被称主链,而作为业务辅助的链则被称为侧链。侧链协议被设想为一种允许数字资产在主链与侧链之间进行转移的方式。
Bystack 的主链需要保证安全和稳定,所以性能、可扩展性以及更多的创新的尝试会在侧链上落实。
1. 主侧链架构
下图是主侧链协同的总体模型图:
1.1 主链的角色
Bystack 的主链采用基于对 AI 计算友好型 PoW(工作量证明)算法 Tensority 的 Bytom公链。主链主要担任价值锚定,价值传输和可信存证的角色。任何的资产创建,传输和销毁都由主链发起,再通过 Federation 楔入到侧链上,从而保证资产的安全性。同时所有的业务或者资产的数字指纹信息都在主链上做可信存证,因为只有算力保证的主链才能做可信存证。
1.2 侧链的角色
Bystack 的侧链主要是服务于垂直领域的业务,满足那些对 TPS 要求较高,且数据量比较大的业务。同时侧链支持更加灵活的搭建方式,企业或个人可以使用已运行的侧链,也可以生成属于自己的侧链,并在侧链上搭建自己的生态应用。主链资产通过 Federation 楔入到侧链,然后在侧链的内部流通和使用。侧链支持可插拔的共识,数据库插件,可以更好的搭配以满足实际的业务需求。
1.3 Federation
下图是 Federation 的基本模型图
Federation 当中分为三种角色:
验证人:侧链的出块人,任何人都可以成为验证人。
收集人:监控主链锁定在联邦合约地址的交易,收集交易并生成 Claim 交易,发送到节点验证人进行验证后进入交易池。
联邦地址: 侧链充值是指资产从主链楔入到侧链的转移过程,是需要资产先锁定到联邦合约地址。
联邦合约地址生成:
(1)联邦合约地址需要多名联邦成员公钥生成,系统开始启动由初始出块人担任。
(2)运行一段时间后 Vapor 侧链上用户可以注册为联邦成员候选人,由 Vapor 侧链用户投票,从注册候选人中选出联邦成员,每次联邦成员变动不能超过联盟总成员的 1/3。
(3)选出联邦成员后,由新的联邦成员生成新的合约地址,以前的联邦合约地址转账到新的联邦合约地址。
(4)转账完成后,主链锁定资产到新的联邦地址,以后可以再竞选联邦成员。
收集人:
(1)系统启动之时,由初始出块人担任。
(2)运行一段时间后,Vapor 侧链上用户可以注册成为候选收集人,由 Vapor 侧链用户投票,从注册的候选人中选出收集人(DPoS 出块一轮筛选一次)。
(3)下发新的监控主链的联邦合约地址的收集人,收集交易,并附带收集人列表、收集人签名、原始交易、收集人公钥的 Claim 交易到节点。
侧链提现流程:
(1)Vapor 侧链用户发起提现请求,销毁 Vapor 侧链的资产。
(2)联邦合约地址针对请求向 Vapor 侧链用户的主链地址发送对应对应数量的资产(前提交易已经在侧链上达到不会回滚的确认数).
(3)联邦在侧链上生成一笔完成提现的操作的交易。
1.4 创新性
(1)共识层创新
侧链共识以投票人(Voter),共识节点(Delegate)和领导节点(Leader)来组织网络。首先以 DPoS 的模式进行投票来选出共识节点,然后共识节点以高效独创 BFT 的模式来达成共识。
(2)网络层创新
传统联盟链是主从节点架构,甚至是 C/S 模型, 服务端会实现完整协议而客户端尽量架构简洁,着重产品功能和交互, 相对于从节点不参加共识甚至不验证来说,侧链可以完整保留对等节点的可用功能,这样就需要更快的网络,而且更复杂的环境中可靠传输交易和区块信息。
Vapor 神经元中继(Vapor Neuron Relay)(VNR)。基于 UDP 和向前纠错(FEC)协议, 传输区块头和缩短的交易 ID 和部分对等节点不具备的交易信息, 接收方节点将尝试使用接收到的信息,以及在本地内存池(Memory Pool)当中的交易,来重新构建整个区块。只有仍然缺失某些交易时,才会请求广播对端节点交易。
(3)协议层创新
以太坊账户模型受限于串行验证效率瓶颈, 难以提高吞吐。 Vapor 基于 BUTXO 可并行验证区块,且可多线程并行验证交易 BUTXO, 设计并行滑动窗口验证算法 PSWV(Parallel Sliding Windows Validation), 该算法一次同步上百个区块,并获取它的所有输入,批量区块形成校验窗口,算法验证器滑动验证窗口内区块交易的合法性。
(4)存储层创新
去掉了公链普遍使用的本地 KV 数据库 LevelDB, RocksDB 等,替换为更通用和强大的数据库层接口,满足使用高性能 MySQL,PostgreSQL, MongoDB 等企业级数据库的业务需求,另外对于数据分析的需求, 也同时兼容 HDFS, HIVE,融入 Hadoop 或 Spark 生态系统。
2. 资产和操作类型
2.1 资产类型
多类型的资产发布是 Bystack 的一大特点,我们按照资产的可分割性(Severability)和可互换性(Fungibility)将资产定义为四种类型(如图 4):
1、比特资产(BAP-01),可分割,可互换。对应 Token 等虚拟资产以及货币、积分、股票(同股同权)等现实资产,相当于以太坊 ERC-20 协议。
2、原子资产(BAP-02),可分割,不可互换。如 Bytom 原生资产 BTM 或其它通过BAP-02 发行的股票(同股不同权)等现实资产,相当于比特币等非同质加密货币协议。
3、夸克资产(BAP-03),不可分割,不可互换。适合应用于游戏道具、游戏宠物等虚拟资产和房产、收藏品、商品、防伪码等所有权类现实资产,相当于以太坊 ERC-721 协议。
4、量子资产(BAP-04),不可分割,可互换。可应用于红包等虚拟资产以及优惠券、门票、二维码等凭证类现实资产。
事实上,我们并没有发明新的资产,而是试图在区块链的世界真实的映射现实世界的各
种资产,并从物理属性的角度给予资产更基础的分类,方便人们在金融、政务、游戏、积分
等场景中对资产进行更方便的归类、组合及划分。
2.2 操作类型
Bystack 将资产间的互操作定义为四种类型:
映射:资产数字化,现实经济中的真实资产上链。如股权,债权,收益权等资产
存证:数字资产化,信用、身份、品牌、行为数据等数字资源上链,通过链上可以转移
所有权和使用权。
跃迁:资产从侧链迁入主链。
楔入:资产从主链迁入侧链。
以上所有操作都是原子操作,即,要么完全完成,要么根本不发生。不存在会导致资产损失或欺诈发生的可能。
3. 部署和使用
本地部署: 面向个人开发者,用户可以在服务器中部署属于自己的侧链,然后测试自己的侧链上的商业应用。
跨云部署: 面向企业用户,企业的侧链可以支持多种不同的云服务,包括阿里云,腾讯云,华为云等等。区块链的节点可以分散部署到不同的公有云平台上。
混合部署:为了满足不同的业务需求,可以根据联盟参与方需求部署区块链节点,即部分侧链的节点运行在云平台上,部分侧链的节点运行在客户的私有 IT 环境或者私有云内。
Bystack 介绍
1. Bystack 概述
Bystack 是一个通用区块链应用堆栈平台,继承并实现了区块链三层架构, 分别由Bytom 主链,Vapor 侧链, Blockcenter 中台,及 Bycoin,Byone,Bystore 等接入组件组成。下图是 Bystack 的基本架构图:
Bystack 依靠 Bytom 公有区块链技术平台和 Vapor 侧链技术,通过 Federation 作为主链与侧链之间的交互协议,为价值传输提供了通道,给上层应用奠定了坚实的基础。Blockcenter作为业务中台,也是整个系统核心。他和上层服务如 Bycoin,Byone, Bystore 实现了区块链应用的第三层。
Blockcenter:在分层的基础上,Blockcenter 结合分层设计和模块化,把通用的业务拆分成不同的模块, 抽象了各类典型的区块链应用,提供了典型应用的基本能力和实现框架,用户可以根据自己的需求,像“搭积木”一样叠加自己的业务,轻松完成业务逻辑的区块链实现。对于底层,它提供了高度的业务抽象,让用户不必要了解底层的区块链技术原理,更加专注自己的业务开发。Blockcenter 是连接区块链技术和商业应用的桥梁,也是驱动的引擎。
Bycoin:移动客户端的生态入口和解决方案。它支持储蓄多种资产,资产与资产之间可以轻松兑换,并可以在集成了 Bycoin SDK 的其他系统中使用。Bycoin 不仅仅支持多种资产存储,流通和互换功能,它也类似我们的微信,支付宝一样,还提供给我们很多日常需要的应用。比如:娱乐,日常消费等。
Byone:桌面客户端解决方案,我们只需要在电脑的浏览器端安装 Byone,注册登陆后,可以用它在桌面端管理我们的多种资产,同时在浏览器中打开支持 Byone 的应用,就可以连接到 Byone 的账户和资产,使用基于 Bystack 开发的 Dapp 和商业应用。
Bystore:它是支持比原链合约开发部署一整套完备且强大的开发框架,该框架支持多种语言编写智能合约,合约编写完成以后对合约进行预编译并调用合约交易接口直接发布合约。对开发者非常友好。Bystore 提供非常丰富的合约模板,只需要要在合约模板上修改合约参数,输入自己的账户参数就可以发布自己的合约应用。
2. Bystack 创新点
开放共识
Bystack 的侧链的共识是 DPoS+BBFT,但也可以使用其他的共识算法,Bystack 提供了非常丰富的可插拔共识机制,比如 DPoS,PoS 等等。同时侧链可以让任何人都可以加入成为共识节点,这和联盟链的准入机制有很大区别。
主侧链架构
独创的主侧链架构,主链负责发行和销毁资产,主链保证去中心化和安全性,侧链负责运行大规模商业应用,侧链牺牲部分去中心化来大幅度提升性能,同时可以存在无限多的侧链以满足不同的领域和性能需求。
BUTXO
基于比特币 UTXO 模型的创新,从底层模型上支持多资产的交易。BUTXO 保证了资产交互操作的原子性,异步交易的时候可以进行验证,支持多资产上链,智能合约结果布尔化。由于 BUTXO 的无状态,所以在一定程度上增强了用户的匿名性。
最短路径交易
签名不在交易而在每一个输入上,可以在不同时间,不同人之间自主的构建交易,从而构造出不同模式的交易类型,比如磁力交易。
定制化可插拔服务
比原链的 Blockcenter 可以提供非常丰富的可插拔服务,商家可以根据不同的业务场景,来集成不同的服务,比如身份服务,多重签名,隐私交易。
国密标准
Bystack 可采用国密标准 SM2,SM3,SM4 密码学算法,满足金融行业,公共事业等行业在用户地址的生成,交易签署以及交易验证等过程中对国家标准的合规和安全性要求。
多语言合约虚拟机
支持 Equity,Javascript,Python,Go 等多种语言的合约虚拟机,可以满足熟悉不同语言的开发者开发商业 Dapp 的需求。
3. 优势
1. 领域支持
区块链可以服务于金融行业以及供应链,还有垂直领域的行业生态。但是一般的公链或者联盟链无法服务于每个行业,但是 Bystack 通过多条侧链能做到更全面的技术支持。每个侧链根据不同行业的特性进行定制化的组装和开发,满足不同行业和领域的业务需求。
2. 扩容
目前主要有两种扩容方案,分别式 Layer1 扩容和 Layer2 扩容,Layer1 扩容主要改进区块链自身,把区块链自身变的更快、容量变的更大,Bystack 通过压缩交易和增加出块速度,从而在 Layer1 层得到扩展。Layer2 扩容是把很多的复杂业务过程迁移到链下,而 Bystack构建在侧链基础上的 Blockcenter 正是在 Layer2 的扩展。
3. 性能
性能方面主要从下个角度分析:
出块时间:Bystack 的主网是依托的比原链(Bytom),平均每 2.5 分钟产生一个区块。侧链采用 DPoS+BBFT, 出块速度大概在 0.5 秒。
区块大小:侧链压缩交易来压缩区块大小,从而减少带宽开支,让全节点可以更快的同步区块。
TPS:侧链的 TPS 能达到数万, 且通过横向扩展吞吐可达百万以上。完全可以满足目前企业级服务平台的基本应用。
容错率:主链的 PoW 基于概率的系列算法理论上允许少于一半的不合作节点,而侧链的 BBFT 共识算法确定性算法理论上则允许不超过 1/3 的不合作节点。
4. 安全
主链共识算法:单一 DPoS 或 PBFT 都不是真正意义上的非准许(Permissionless)共识,需要许可则意味着该网络是被一小部分人控制,数据不可篡改、交易不可逆转等区块链根本属性不复存在,基于区块链的资产确权、数据存证等业务的安全性亦将无可保障。BystackLayer1 采用创新 PoW 算法 Tensority,在挖矿激励机制作用下,全网算力不断增长, 发起51%攻击成本不断提升,尤其是 Tensority 采用对人工智能芯片友好型算法,使得挖矿芯片可能采用人工智能通用芯片挖矿,从而降低了硬件成本,并为人工智能芯片产业赋能。
侧链共识算法:Bystack Layer 2 采用 DPoS+BBFT 共识算法,提供高可用的拜占庭容错能力,支持共识状态自动恢复,区块数据互备恢复,数据存储自动均衡,节点服务自动路由。从而保证系统的自身的安全和稳定。
基于 BUTXO 模型的合约安全性:主链采用 BUTXO 模型,每一个 BUTXO 都由单独的合约程序锁定,破解合约只能获取该合约锁定的资产,其他资产不受影响,从而很好的保护主链资产的安全性。
主侧隔离:支持简单支付验证 SPV(Simple Payment Verificaiton),侧链能够验证主链块上 Header、Merkle Tree 的信息。主链负责账本的更新维护和数据安全,资产发行、数据存证、数字身份等关键业务在主链上完成,不同侧链针对股权、版权、积分等不同资产交易场景,负责交易效率。主链不需要关心侧链的运行状态。当侧链被攻击,主链的安全性不受影响。
侧侧隔离:不同的业务隔离,每个行业领域分属于不同的侧链,如果一条侧链受到攻击或者影响不影响其他侧链业务的安全稳定运行。
Federation 安全性:通过侧链跃迁到主链(Pegout),收集人,验证人等角色确保资产转移过程切分成多个流程,防止单一验证人的作恶。
5. 隐私保护
Bystack 采用多种加密算法组合的方案来提供全方位的隐私保护。高可配置性保证了方案的灵活度并能适应不同的用户场景。
隐私交易:对于多签交易,使用 Schnorr 签名和 MuSig 算法来对多个签名进行集中验证。对交易金额的加密可以采用零知识证明(Zero Knowledge Proof, ZKP)的方案,比如zk-SNAKRS 和 Bulletproofs。在私密要求较高的场景,可以使用 MimbleWimble 模式对交易双方地址和交易金额同时进行加密。目前主流的加密算法都基于 Pedersen 承诺系统(Commitment Scheme)。它虽然能绝对隐藏交易内容(Perfect Hiding)但只在计算力有限的情况下提供绑(Computational Binding),这意味着交易金额有可能被改动。为了应对未来算力的突破,绝对绑定(Perfect Binding)的系统,例如 ElGamal 加密,可以以开关激活的模式被采用。
隐私合约:以上的隐私交易方案也可以应用于隐私合约中。除此之外,使用默克尔语法抽象树(Merkelized Abstract Syntax Tree,MAST)对合约本身进行优化,在减少体积的情况下提供一定程度的隐私保护。
6. 支持 Bancor 协议
Bancor 是一个去中心化的流动性网络,为用户提供简单、低成本的买卖 Token 的方式。Bancor 的开源协议通过智能合约直接授权具有内置可转换性的 token,允许集成的 token 立即相互转换,无需在交易中匹配买卖双方。Bancor 钱包可以直接在钱包内实现 token 的自动转换,价格比交易所更容易预测,并且不会受到操纵。Bystack 的 Bancor 协议可以让多种资产(比如商业积分,多种数字资产)可以快速,低成本,高效的转换。