浅谈三层架构的区块链模型TBChain - Three-tier architecture Blockchain

        区块链的协商一致性要求区块链网络中的每一个节点处理区块链中的每一个块,使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据。但这也给区块链带来可伸缩性限制,导致区块链的交易吞吐量低。本文的三层架构区块链模型TBChain以一个安全的基础层区块链为基础,并在基础层区块链上构建协议,来提高区块链的可伸缩性。对于区块链来说,提高可伸缩性是增加事务吞吐量或区块链上执行的事务数量。

1  传统的区块链体系结构 Traditional blockchain architecture

        在传统的区块链中,所有节点共同维护一条不断增长的单一的全球链(比如比特币区块链或者以太坊区块链),只能添加记录,不可删除、篡改记录。同时,在传统的区块链中,通常将一段时间内的多个事务打包在一个区块中以增加事务吞吐量。区块之间通过hash值以防篡改的方式链接在一起,其中每个块都指向前面的块,如下图所示:

2  三层架构区块链TBChain Advantage

        TBchain是一个不可变的按时间顺序排列的交互链,共三层。区块链网络中的每一个节点都可以在第二层和第三层创建自己的genesis块,并构建可伸缩的区块链,它在本质上是并行的,如下图所示:

        顶层区块链(Super Blockchain),简写为 SB。 Fs={SB-AGB,SB-DB}是SB中区块类型的集合。

        第二层区块链(Middle Blockchain),简写为MB。Fm={MB-AGB,MB-RGB,MB-DB,MB-TB}是MB中区块类型的集合。Cm1={MB-AGB,MB-DB,MB-TB}是第一条MB区块链,Cm2={MB-RGB,MB-DB,MB-TB}为除第一条区块链之外的其他区块链。 

        第三层区块链(Underlying Blockchain),简写为UB。Fu={UB-AGB,UB-RGB,UB-DB,UB-TB}是MB中区块类型的集合。Cu1={UB-AGB,UB-DB,UB-TB}是第一条 UB区块链,Cu2={UB-RGB,UB-DB,UB-TB}为除第一条区块链之外 的其他区块链。

01  区块的构成

        SB,MB,UB区块链中的区块都包含Index,TS,Data,PH,CH,Nonce几个部分:

        (1)Index表示该区块链中该区块的索引。

        (2)TS表示区块生成时刻的时间戳。 

        (3)PH表示前一个区块的hash值。

        (4)CH表示当前区块的hash值,区块之间通过hash值以防篡改的方式链接在一起,其中每个块都指向前面的块。

        (5) Nonce 是一个无意义的随机数,用于工作量证明,与 挖矿的难度有关。 Index,TS,PH,CH,Nonce 与普通区块链中区块的对 应域基本一致。但 SB,MB,UB 区块链中区块的 Data 域与 普通区块链中区块的 Data 域有所不同。 

        (6) Data 域在 AGB 与 RGB 的 Data 域中存放的是固定写 好的数据,在 DB 的 Data 域中存放的是写入区块链的数据, 在 TB 中存放的是该区块链中在 TB 之前所有区块的当前的 hash 值连接之后的 hash 结果。UB-DB 中存放的是交易的数 据,MB-DB 中存放的是 UB-TB 的内容,SB-DB 中存放的是 MB-TB 的内容。

02  将交易存储在区块链上

        UB和MB区块链都包含GB(AGB或者 RGB),DB,TB 3种类型的区块,因此每条区块链的长度要求至少为 3。将交易存储在区块链上共分为4 种情况:将UB与MB的长度m1,m2 均设为3时;当UB的长度m1为3, MB的长度m2大于3时;当MB的长度 m2为 3,UB的长度m1大于3时;当 UB与MB的长度 m1,m2 均大于3 时。

        将交易推送到区块链的过程如下:

        Input: transaction data

        Output:push transaction to Ethereum

        Var dataset= read input data; 

        tra = dataset 

        step 1:

        for tra is not empty do 

        step 2:

        create_new_UnderlyingBlockchain()

        step 3:

        Generate UB-AGB,UB-RGB,UB-DB,UB-TB

        step 4:

        create_new_MiddleBlockchain() 

        step 5:

        Generate MB-AGB,MB-RGB,MB-DB,MB-TB 

        step 6:

        create_new_block(SB) 

        step 7:

        GenerateSB-AGB,SB-DB 

        step 8:

        Push_to_ethereum(SB)

        step 9:

        end for

        当有交易传来时,需要先通过step2创建一条第三层UB区块链,根据具体条件生成对应的区块,然后将交易存储到区块的数据域中。通过函数step4创建一条MB区块链,每当生成一条完整的UB区块链后,创建MB的区块,将UB-TB中的数据传到MB的数据域中。生成一条完整的MB区块链后,通过step6创建SB的区块将MB-TB中的数据传到SB-DB的数据域中,最后将SB-DB中的数据推送到以太坊上。通过以上流程可以将交易的 数据推送到区块链上进行存储。

 特性 Features

        01  吞吐量可伸缩性

        TBchain是一个三层的区块链模型,它将一部分交易放在本地的区块链上进行存储并验证存储低级区块的完整性,再在公共区块链上验证高级区块的完整性,减少了验证链所需的操作数量,既增加事务吞吐量,又增加了区块链上执行的事务数量,从而提高了区块链的可伸缩性。

        当MB和UB区块中的数据块为1时,此时交易的处理速度相当于以太坊测试链Ropsten本身的处理速度。由表3可知,当交易量为200,UB和MB的数据块为5时TBchain的交易吞吐量为基础层以太坊的16.86倍,UB 和MB数据块为10时TBchain的交易吞吐量为基础层以太坊的86.12 倍。当交易量为500,UB和MB据块为5时TBchain的交易吞吐量为基础层以太坊的27.2 倍,UB和MB的数据块为10时 TBchain的交易吞吐量为基础层以太坊的117.8倍。

        02  容量可扩展性

        假设UB层区块链的数据块数量为m,MB层区块链的数据块数量为 n,对象存储后生成的元数据信息平均为s个字节。本文通过实现三层的区块链TBchain来实现区块链存储容量的可扩展性,TBchain上不同高度的区块中不同数量数据块对应存储的交易数量如图下图所示。

        当TBchain模型中数据块为1 时的交易数量为区块链测试链 Ropsten中区块中的交易数量,且 当TBchain模型中数据块数量为5和 10时,以太坊区块链中实际存储的交易数量远大于原来的交易数,而这些交易存储在本地节点的区块链上,因此增加了区块链的储存容量可扩展性。

4  结语 Features

        三层的区块链模型 TBChain通过分割区块链的一部分并将其锁定在更高级别区块链的块中,让交互发生在需要的时候,仍然可以追溯到基础区块链,从而提高区块链的可伸缩性。

        TBChain 模型可以将交易数据存储在本地区块链上,在基础区块链上提交这些交易的联合hash值来提高区块链的容量可扩展性。TBChain建立在一个安全的基础层区块链之上,因此可以在不影响安全性的前提下提高吞吐量,但三层架构的区块链 TBChain 安全性不及传统区块链的安全性。

        后续会持续更新,敬请期待!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350