SWTC公链


介绍

SWTC公链是采用井通区块链技术建立的一个去中心化区块链网络,致力于成为一个可商用、去中心化、可容纳各种数字化资产的发行和交易平台。

基于SWTC公链,可以很方便地发行和交易数字资产。任何人都可以基于SWTC公链建立、开发和使用去中心化应用。

愿景

自从中本聪在其《一种点对点的电子支付系统》中介绍比特币以来,比特币这种区块链1.0技术的去中心化的解决方案在全世界引起了巨大反响。人们谈论着完全去监管和去中心的技术可能性,并痴迷于“绝对去中心”的愿景。然而,回归到技术本质,比特币是一条应用和底层技术高度耦合的链,其技术扩展性无法支持众多真正想利用其去中心化解决方案的应用,各类彩虹币(Color Coins)虽然做出了尝试,但都不具有商业意义的成功。POW共识导致的每秒6-7笔交易吞吐量距离商业应用的需求还很遥远。

为此,以太坊(Ethereum)革命性地提出了智能合约的“代码即法律”的思路,希望通过建设一条公共的底层区块链并支持应用场景在其之上建立去中心化应用(DAPP)的方式,方便应用场景落地。但是,由于其技术设计的先天缺陷,以太坊的性能也无法真正支持真实场景的运用。虽然基于ERC20的Token发行及其配套的ICO成为以太坊上最大的应用,但是由此带来的Token炒作仍然无助于实际应用的落地。

另一方面,瑞波(Ripple)走的是一条在传统应用场景加入区块链的模式,其通过瑞波网络提供给银行另外一种跨境支付和汇兑的基础设施和工具,相较于比特币和以太坊,瑞波已经成为传统金融机构的科技金融实现工具,而不是一个可供应用场景落地的公有底层区块链。

针对现有的底层区块链技术的不足,SWTC公链的团队提出了“有效去中心化”的理念,通过先进的分层架构技术方案,建立了真正可商用的底层区块链——SWTC公链。SWTC公链设计的目标和愿景是提供真实、可信的商用区块链环境,成为一个能够支撑大规模商用及复杂业务场景的公链,以及可容纳各种数字化资产的发行和交易的通用平台。

共识机制

SWTC公链的共识机制是采用自有知识产权的随机BFT共识算法(RBFT,Randomized BFT),也可以称为随机拜占庭容错算法。

拜占庭容错(PBFT)是区块链共识机制的主流算法之一。在采用PBFT的共识机制下,主节点(Replica)负责将来自客户端的交易请求进行排序,然后按顺序发送给备份节点(Backups)。主节点拥有比其它备份节点更大的权利,一旦主节点出现问题,会导致系统中比较大的延迟甚至无法达成共识。SWTC公链采用的RBFT共识机制针对这一缺陷进行了改进。RBFT参考借鉴了RAFT中的选举机制,采用投票表决方式进行节点选举,无需抢夺记账权,保证各个共识节点权益的公平性。

RBFT与PBFT的不同之处主要在于,在节点的选择上使用了随机数。PBFT本是有限节点记账的共识机制,系统中只有被认可的节点才能作为记账节点。加入随机数之后,可以将静态的节点选择变为动态,使节点增多。RBFT算法类似于DPOS,但支持的节点数目远远超过EOS(21个),这可以使系统在不牺牲性能的前提下提高安全性。

分层架构

与以太坊不同的是,SWTC公链在架构上采用更加合理的分层设计,使合约的执行与交易分开,避免了合约问题影响到整个系统,同时也使得合约的实现更加灵活。

1、网络层

2、交易层(TX层)

交易层作为系统的底层,主要用来处理交易。

3、共识层

4、数据层

区块链数据的不可篡改性被广泛应用于各个领域的防伪、溯源、确权等方面。该类应用的通常做法是将关键信息保存在交易的元数据字段,当交易被执行并记入区块链后,所包含的元数据也永久的记录在区块链中。但这种做法存在不足: a) 数据上链需要通过交易来实现,使得数据的记录必须对应于某个账户或者钱包,并且需要访问相应的私钥信息;b) 上链数据被分散在每个交易当中,对该信息的查询必须遍历每个交易;c) 数据的保存必须通过交易的确认来实现正确写入。

对此,SWTC公链提供了BLHR(Block Level Hash Record)支持。 用户可以直接递交需要保存的信息到区块中。每个区块有单独的位置来保存所收到的信息请求。每次区块关闭的时候,系统自动将所有的BLHR信息记录到区块中。

5、合约层

SWTC公链将合约的要素(Code,State, Storage,Transaction)分开,合约代码(Code)、合约声明(State)、合约存储(Storage)都在合约层进行,交易执行下传到底部交易层。这样使合约的生成与最后的交易执行分开,达到最高的效率和最大的安全性。

公链特点

1、SWTC公链是已完成开发并主网上线的成熟区块链系统

SWTC公链的区块链底层已经完成开发并主网上线,而不是停留在概念层面。技术架构部分勾勒的设计理念已经落地,并有效支撑商用底层的业务应用。SWTC公链早在2014年已经上线运行。

SWTC公链的共识机制采用了BFT的优化方案—RBFT,在架构设计上采用分层设计,支持银关体系和智能合约。交易并发量远高于比特币及以太坊,有助于交易的快速执行和确认,同时支持国家商用密码管理局指定的SM2、SM3等国密算法。SWTC公链区块链技术与其他主流区块链技术的对比如下表:

比特币 以太坊 超级账本 瑞波/恒星 SWTC公链
共识机制 POW POW 插件式 Consensus RBFT
多资产支持 不支持 合约方式 合约方式 原生支持 原生支持
资产交换 不支持 合约方式 合约方式 原生支持 原生支持
智能合约 不支持 支持 支持 有限支持 有限支持
系统性能 较弱 较弱 一般
节点数量 很多 很多 无公链 一般 一般

2、银关钱包体系支持数字资产发行

SWTC公链的银关体系,支持公链上的应用在具备信用等级的情况下,自行发放通证或者数字资产。所有在SWTC公链上发行的数字资产被SWTC钱包原生支持,同时任意两个数字资产之间的交换也是由SWTC公链原生支持,而不需要借助智能合约,大大提高了系统运行效率。

3、通过分层架构有效防止类似“The DAO”安全事件的发生

2016年发生的“The DAO”事件,就是一类在技术尚未经过充分测试而承担过多商业利益从而发生灾难的例子,其原因就是智能合约漏洞被黑客利用并造成巨额损失。可以说,智能合约的复杂性是以太坊上安全事件频发的直接原因。为此,SWTC公链在架构上采用分层设计,将区块链信任栈划分为交易层、共识层、数据层以及合约层等层次,来实现区块链不同层次的业务场景所需要的服务,尤其是将合约执行与交易分开,有效避免了智能合约问题影响到整个区块链系统。

4、改进的RBFT共识算法有效提高交易确认速度

由于区块链的去中心化特点,一笔交易需要区块链网络内大部分节点确认才能记入区块,此过程称为不同节点的共识。比特币采用的POW俗称挖矿的共识,以太坊采用其独有的POW共识方式,来进行交易和智能合约确认。SWTC公链采用改进的BFT算法—RBFT(随机拜占庭容错)来对交易进行共识,同时采用异步调用智能合约的方式处理针对合约的共识。通过这两种技术的使用,使得每笔交易都得到最终确认,并在10秒内完成。这是真正商用落地需求的技术保证。

5、提供完整的接口和开发库

SWTC公链提供完整的API以及由社区开发维护的SDK库,使得第三方机构可以方便接入SWTC公链,基于SWTC公链开发和使用去中心化应用。