适用于区块链与链下间协作的验证系统与方法与流程

文档序号:22740960发布日期:2020-10-31 09:24阅读:139来源:国知局
适用于区块链与链下间协作的验证系统与方法与流程

本发明涉及一种验证系统,且特别涉及一种适用于区块链与链下间协作的验证系统与方法。



背景技术:

在现有技术中,区块链(blockchain)采取分散式架构来达到去中心化的目的,全世界的终端电脑可藉由区块链而产生连接,任一终端电脑所传送到区块链上的数据,可通过特定的运算方式而分布在区块链上的其他终端电脑中。由于这些数据是存在于区块链上的大量终端电脑中,因此数据的正确性可通过区块链的大量终端电脑互相验证,这使得区块链数据难以被变造或窜改。

在传统的终端电脑对中心伺服器的架构中,当一台终端电脑要将数据上传到伺服器或是由伺服器下载数据,此操作只牵涉到终端电脑、中心伺服器与两者间的网络伺服器等有限装置的运作,以时下的网络速度与电脑计算能力来说,此操作可以执行得极为快速。但在区块链的架构中,当一台终端电脑要将数据上传到区块链或是由区块链下载数据时,基于区块链的特性,此操作会牵涉到区块链上其他大量的终端电脑(如矿工)的验证程序,从而导致庞大的网络传输需求及运算量,因此相对耗时,且运算成本(如矿工费用)居高不下。

相对于原有的公有区块链(publicblockchain)而言,现在还有一种私有区块链(privateblockchain),私有区块链是由数量相对较少的终端电脑所组成,藉此可降低网络传输需求、运算量、运算时间与运算成本。例如,一个银行集团可为集团内部或其客户创建此银行所属的私有区块链。不过,较少数量的终端电脑与可私人创建的特性,意味私有区块链的可信任度(不可否认性)不如公有区块链,且私有区块链的适用范围也相对较窄。

一般来说,区块链是采用二元树(binarytree)或称模克树(merkletree)的树状数据结构,所有数据会经过杂凑运算而产生杂凑值(hashvalue)。所述二元树包括顶层的树根(root)与底层的多个叶节点(leafnode),每一笔数据的杂凑值会被储存在叶节点,而所有叶节点的杂凑值会经过逐层运算而最终产生位于树根的根杂凑值(roothash)。所有的二元树会储存在区块链上的各个终端电脑中,若要验证某一二元树的某一笔数据的正确性,可藉由比对此二元树在各终端电脑上的根杂凑值,来验证此二元树与其数据的正确性。



技术实现要素:

基于现有区块链,虽可在一定运算量下验证某一数据是存在于某一二元树的某一叶节点,例如,可由此叶节点与对应的另一叶节点为一组,逐层进行杂凑运算,直到推算出根杂凑值,若此根杂凑值正确,则表示此数据确实存在;然而,若要验证某数据不存在则很困难,必须要取得完整的二元树,包括根杂凑值与所有叶节点的杂凑值,并进行完整运算,才能验证某数据不存在于此二元树的任一叶节点中。其所耗费的网络传输需求、运算量、运算时间与运算成本甚巨。

有鉴于此,本发明的目的在于提出一种适用于区块链与链下间协作的验证系统与方法,其目的是在维持数据的可信任度(不可否认性)的前提下,降低系统整体的网络传输需求、运算量、运算时间与运算成本。

本发明一实施例提出一种验证系统,其适用于与区块链协作并用以在链下通讯连接多个终端装置,各终端装置产生至少一纪录数据。所述验证系统包括安全协定装置、区块链装置与数据库装置。安全协定装置接收该些纪录数据并根据杂凑函数整合该些纪录数据为至少一二元树。所述二元树包括树根与多个叶节点,树根储存有根杂凑值,且各纪录数据的杂凑值分别储存于各叶节点。区块链装置位于区块链且通讯连接安全协定装置,安全协定装置传送所述二元树的根杂凑值至区块链装置。数据库装置在链下通讯连接安全协定装置,且安全协定装置储存所述二元树于数据库装置。其中,当安全协定装置接收一验证要求,安全协定装置比对区块链装置上的根杂凑值与数据库装置储存的二元树的根杂凑值,以验证数据库装置储存的二元树的正确性。

本发明一实施例提出一种验证方法,其适用于与区块链协作。所述验证方法包括:在链下自多个终端装置接收多个纪录数据;根据杂凑函数整合该些纪录数据为至少一二元树,其中,所述二元树包括树根与多个叶节点,树根储存有根杂凑值,且各纪录数据的杂凑值分别储存于各叶节点;传送所述二元树的根杂凑值至区块链;在链下储存二元树;以及,当接收一验证要求,比对区块链上的根杂凑值与在链下储存的二元树的根杂凑值,以验证在链下储存的二元树的正确性。

综上所述,根据本发明实施例的验证系统与方法,在维持数据的可信任度(不可否认性)的前提下,可将大部分数据设置于链下数据库装置中,并通过安全协定装置比对链下数据库的二元树的根杂凑值与区块链的对应根杂凑值,来验证二元树的正确性,藉此将主要运算转为在链下执行,大幅减少区块链的负荷,从而降低系统整体的网络传输需求、运算量、运算时间与运算成本。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1所示为本发明一实施例的验证系统的方框示意图;

图2所示为本发明一实施例的二元树的示意图;

图3所示为本发明另一实施例的验证系统的方框示意图;

图4所示为本发明一实施例的二元树的切片的示意图;

图5所示为本发明一实施例的验证方法的流程图;以及

图6所示为本发明另一实施例的验证方法的流程图。

其中,附图标记

10、10a验证系统

100安全协定装置

110二元树处理单元

120验证单元

130识别编号单元

140定位搜寻单元

150切片单元

200数据库装置

300区块链装置

310智能合约

400终端装置

410纪录数据产生单元

420识别数据产生单元

430切片验证单元

440识别编号单元

bt二元树

bts二元树的切片

h高度值

id识别数据

in识别编号

ln叶节点

mn中间节点

oc链下

bc区块链

r树根

rd纪录数据

rdh纪录数据的杂凑值

rh根杂凑值

s101在链下自多个终端装置接收多个纪录数据

s103根据杂凑函数整合纪录数据为二元树

s105传送二元树的根杂凑值至区块链

s107在链下储存二元树

s109当接收验证要求,比对区块链上的根杂凑值与在链下储存的二元树的根杂凑值

s201在链下自多个终端装置接收多个纪录数据与多个识别数据

s203当接收识别数据之后,根据各识别数据产生分别对应于各叶节点的多个识别编号

s205根据杂凑函数整合纪录数据为二元树

s207根据各识别编号储存各纪录数据的杂凑值至对应的各叶节点

s209传送二元树的根杂凑值至区块链;

s211切割二元树为多个切片

s213在链下回传各切片至对应的各终端装置

s215验证不正确,对应的终端装置传送抗议信息至区块链

s217验证正确,终端装置无需传送抗议信息至区块链

s219在链下储存二元树

s221当接收验证要求,比对区块链上的根杂凑值与在链下储存的二元树的根杂凑值

s223当接收搜寻要求,根据识别编号定位在链下储存的二元树的叶节点

具体实施方式

下面结合附图对本发明的结构原理和工作原理作具体的描述:

请参照图1,图1为本发明一实施例的验证系统10的方框示意图。在本实施例中,验证系统10适用于与区块链bc协作,区块链bc可包括公有区块链、私有区块链或其组合。验证系统10用以在链下(offchain)oc,亦即通过链下通道(off-chainchannel),通讯连接多个终端装置400,并在区块链bc与链下oc间进行协作,且各终端装置400可产生至少一笔纪录数据rd。所述链下oc是指独立于区块链bc之外的路径,所述在链下oc通讯连接是指在独立于区块链bc之外的路径具有通讯连接关系,例如,两装置在链下oc通讯连接,意味这两装置之间可通过网络直接连接并互相传送信号而无涉于区块链bc。终端装置400例如是桌上型电脑、笔记型电脑或各种感测器,纪录数据rd例如是桌上型电脑或笔记型电脑产生的文件或交易信息或是感测器所感测的数值信息,但不限于此。

如图1所示,在本实施例中,验证系统10包括安全协定装置100、数据库装置200与区块链装置300。安全协定装置100是在链下oc通讯连接数据库装置200,且安全协定装置100通讯连接位于区块链bc上的区块链装置300。数据库装置200例如是独立于区块链bc之外的数据储存伺服器,区块链装置300例如是连接区块链bc的复数电脑的集合,但不限于此。在本实施例中,安全协定装置100是兼具区块链bc与链下oc的通讯能力的伺服器。举例来说,安全协定装置100是位于链下oc与区块链bc之间的中介者,其可作为终端装置400与数据库装置200以及区块链装置300之间的桥梁,容后详述。

请再参照图2,图2所示为本发明一实施例的二元树bt的示意图。如图1与图2所示,在本实施例中,各终端装置400产生纪录数据rd后,各终端装置400会在链下oc传送纪录数据rd至安全协定装置100。安全协定装置100在链下oc接收各终端装置400的该些纪录数据rd之后,安全协定装置100会根据杂凑函数整合该些纪录数据rd为至少一二元树bt。

如图2所示,在本实施例中,二元树bt包括树根r、多个中间节点mn与多个叶节点ln,以二元树bt的树状数据结构来看,树根r位于顶层、叶节点ln位于底层、而中间节点mn分布于顶层与底层之间的一或多层。每两个相邻的叶节点ln在往上一层会合而为一个中间节点mn,每一层中的每两个相邻的中间节点mn在更往上一层又会合而为一个中间节点mn,而位于最上层的两个中间节点mn会合而为树根r。每一叶节点ln分别储存各纪录数据rd的杂凑值rdh,而每一中间节点mn的杂凑值与树根r中的根杂凑值rh则关联于各纪录数据rd的杂凑值rdh。

举例来说,安全协定装置100可采用sha-256的杂凑函数将各笔纪录数据rd杂凑化而产生对应的杂凑值rdh,且安全协定装置100会将各纪录数据rd的杂凑值rdh分别储存于各叶节点ln。并且,每一组两个相邻的叶节点ln中所储存的两笔杂凑值会被连接后再被杂凑化而储存于上一层的中间节点mn,每一层中的每一组两个相邻的中间节点mn所储存的两笔杂凑值也会被连接后再被杂凑化而储存于更上一层的中间节点mn,以此类推。在本实施例中,所述两笔杂凑值被连接后再被杂凑化的实现方式,可以是将此两笔杂凑值先连接为一串编码后再对此串编码进行杂凑化,但不限于此。举例来说,第一笔杂凑值是「xxx」,第二笔杂凑值是「ooo」,此两笔杂凑值会先被连接为「xxxooo」的一串编码,而此串编码「xxxooo」会再被杂凑化而产生杂凑值。最后,位于最上层的两个中间节点mn所储存的两笔杂凑值会被连接后再被杂凑化而产生根杂凑值rh。换言之,二元树bt包括储存于各叶节点ln中的纪录数据rd的杂凑值rdh与储存于树根r的根杂凑值rh,并且,纪录数据rd是不可窜改的,这是因为只要二元树bt中任一笔纪录数据rd遭到窜改,此笔纪录数据rd的杂凑值rdh会产生变化,而只要任一叶节点ln的纪录数据rd的杂凑值rdh产生变化,则二元树bt的根杂凑值rh也会对应变化。藉由判断根杂凑值rh是否产生变化,即可验证此二元树bt对应的纪录数据rd的正确性。在不同的实施例中,单一个叶节点ln亦可储存两笔以上的纪录数据rd的杂凑值rdh,在此情况下,此叶节点ln中所储存的杂凑值rdh为两笔以上的纪录数据rd的杂凑值rdh被连接后再被杂凑化后之值。

如图1与图2所示,在本实施例中,安全协定装置100包括二元树处理单元110与验证单元120。二元树处理单元110与验证单元120例如但不限于是软件/硬件所构成的功能模块,以分别执行特定功能,且二元树处理单元110与验证单元120可以是各自独立的模块或整合为一体的模块。

在本实施例中,安全协定装置100的二元树处理单元110会自动将所接收的该些纪录数据rd进行杂凑化并整合产生二元树bt。安全协定装置100会传送二元树bt的根杂凑值rh至区块链装置300,亦即这些根杂凑值rh将会被储存到区块链bc上。此外,安全协定装置100会将二元树bt储存于数据库装置200中,亦即完整的二元树bt是储存在链下oc,而不会储存于区块链bc上。在其他实施例中,完整的二元树bt亦可同时储存于数据库装置200并传送至区块链装置300。

在本实施例中,安全协定装置100的验证单元120会验证数据库装置200所储存的二元树bt的正确性。当安全协定装置100接收一验证要求,且此验证要求是针对某一笔纪录数据rd的正确性进行验证,此时验证单元120会自动比对区块链装置300上的对应于此纪录数据rd的二元树bt的根杂凑值rh与数据库装置200储存的对应于此纪录数据rd的二元树bt的根杂凑值rh,以验证数据库装置200储存的二元树bt的正确性。若区块链装置300上的根杂凑值rh与数据库装置200储存的二元树bt的根杂凑值rh经比对是一致的,则基于区块链bc的特性,代表数据库装置200所储存的此笔纪录数据rd的二元树bt正确无误。

由于完整的二元树bt是位于链下oc的数据库装置200中,因此纪录数据rd的杂凑值rdh的存取与运算主要是在链下oc进行,可节省传统上在区块链bc进行此项操作的网络传输需求、运算量、运算时间与运算成本。并且,数据库装置200中的二元树bt的根杂凑值rh可经由与区块链装置300上的对应根杂凑值rh比对而得到验证,链下oc的数据库装置200的数据正确性也得以确保。

请参照图3,图3为本发明另一实施例的验证系统10a的方框示意图。图1与图3的验证系统10、10a相同或相似的元件、连接关系与功能不再赘述,以下主要针对图3的验证系统10a不同于图1的验证系统10之处加以说明。在本实施例中,验证系统10a包括安全协定装置100、数据库装置200、区块链装置300与多个终端装置400,安全协定装置100通讯连接位于区块链bc的区块链装置300并在链下oc通讯连接数据库装置200与各终端装置400,且各终端装置400还通讯连接区块链装置300。安全协定装置100包括二元树处理单元110、验证单元120、识别编号单元130、定位搜寻单元140与切片单元150,其中二元树处理单元110、验证单元120、识别编号单元130、定位搜寻单元140与切片单元150例如但不限于是软件/硬件所构成的功能模块,以分别执行特定功能,且二元树处理单元110、验证单元120、识别编号单元130、定位搜寻单元140与切片单元150可以是各自独立的模块或整合为一体的模块。

如图3所示,在本实施例中,区块链装置300包括至少一个智能合约(smartcontract)310,安全协定装置100传送至区块链装置300的根杂凑值rh会储存在对应的智能合约310中。在不同实施例中,区块链装置300亦可包括不同于智能合约的程序架构或介面,而根杂凑值rh可对应于不同的程序架构或介面而储存在区块链装置300中。

如图3所示,在本实施例中,各终端装置400包括纪录数据产生单元410、识别数据产生单元420与切片验证单元430。纪录数据产生单元410、识别数据产生单元420与切片验证单元430例如但不限于是软件/硬件所构成的功能模块,以分别执行特定功能,且纪录数据产生单元410、识别数据产生单元420与切片验证单元430可以是各自独立的模块或整合为一体的模块。纪录数据产生单元410用以产生前述的纪录数据rd,并且,当各终端装置400的纪录数据产生单元410产生纪录数据rd时,各终端装置400的识别数据产生单元420还会产生分别对应于各纪录数据rd的多个识别数据id,使得各纪录数据rd会具有对应的识别数据id。终端装置400会将纪录数据rd与对应的识别数据id同时传送给安全协定装置100。在一些实施例中,终端装置400可将纪录数据rd与对应的识别数据id整合为同一笔整合数据并传送此笔整合数据至安全协定装置100。在一些实施例中,识别数据id为明码。

如图3所示,在本实施例中,安全协定装置100会接收该些纪录数据rd与该些对应的识别数据id,且安全协定装置100根据各识别数据id储存各纪录数据rd的杂凑值rdh至对应的各叶节点ln。举例来说,当安全协定装置100接收该些识别数据id之后,安全协定装置100的识别编号单元130会根据各识别数据id产生分别对应于各叶节点ln的多个识别编号in,且安全协定装置100会根据各识别编号in储存各纪录数据rd的杂凑值rdh至对应的各叶节点ln。在此情况下,每个识别编号in在任一二元树bt中是唯一的,且各识别编号in会分别对应二元树bt中的各叶节点ln。因此,各纪录数据rd的杂凑值rdh可藉由对应的识别编号in而被定位于各叶节点ln,容后详述。

在本实施例中,安全协定装置100的识别编号单元130会自各识别数据id的杂凑值中取出多个预定位元以产生各识别编号in。并且,所述预定位元的数量可关联于对应的二元树bt的高度值h。在二元树bt具有高度值h的情况下,二元树bt会具有2(h-1)个叶节点ln。为使此二元树bt的各叶节点ln具有对应且专属唯一的识别编号in,则该些预定位元是自各识别数据id的杂凑值取出的至少h-1个位元,如此一来,这h-1个位元的排列组合将可满足叶节点ln的数量,使得对应于叶节点ln的识别编号in不会重复而具有唯一性。在本实施例中,这h-1个位元例如但不限于是识别数据id的杂凑值中的前h-1个位元。在其他实施例中,所述h-1个位元可以是取自识别数据id的杂凑值中的后h-1个位元或任意位置的h-1个位元。

举例来说,图2的二元树bt的高度值h为5,且此二元树bt具有2(5-1)个叶节点ln,亦即二元树bt具有16个叶节点ln。假设对应于某一纪录数据rd的识别数据id为「e1534391」,则识别编号单元130会将此识别数据id以sha-256的杂凑函数进行杂凑化,而产生杂凑值「dbb9ed8b677468b4834d2f634a77ea1e6663431bf1ee7523041467ff8023fa64」,接着识别编号单元130会取出此杂凑值转换为二进位后的位元数列的前4个位元「1101」,并转换1101为十进位值「13」,从而产生识别编号in为「13」。识别编号单元130可将此二元树bt的所有16个叶节点ln依序设定为编号1至16的叶节点ln,而识别编号in为13的纪录数据rd的杂凑值rdh则储存于编号13的叶节点ln中。在一些实施例中,不同的识别数据id可能产生相同的识别编号in,或者不同的纪录数据rd可能具有相同的识别数据id而产生相同的识别编号in,在此情况下,多笔纪录数据rd的杂凑值rdh可对应于相同的识别编号in而储存于相同的叶节点ln中。在一些实施例中,二元树bt的每一叶节点ln可储存两笔以上的纪录数据rd的杂凑值rdh,且对应于某一叶节点ln的两笔以上的纪录数据rd的杂凑值rdh会被连接后再被杂凑化而产生杂凑值,此对应于两笔以上的纪录数据rd的杂凑值会储存于此叶节点ln中。

如图3所示,在本实施例中,安全协定装置100的定位搜寻单元140可藉由识别编号in而能定位纪录数据rd的杂凑值rdh。当使用者需要寻找或验证数据库装置200中的对应于某一二元树bt中的某一笔纪录数据rd的杂凑值rdh时,使用者可通过安全协定装置100进行上述操作。此时,安全协定装置100的定位搜寻单元140会通过识别编号in以定位此笔纪录数据rd的杂凑值rdh的位置(即所储存的叶节点ln),并直接由对应于此识别编号in的二元树bt的叶节点ln中取出此笔纪录数据rd的杂凑值rdh,达到可快速定位与搜寻数据的目的。并且,若要验证某笔纪录数据rd不存在,亦可藉由识别编号in来完成,安全协定装置100无须取得完整的二元树bt中的所有杂凑值,安全协定装置100的定位搜寻单元140可通过对应于此笔纪录数据rd的识别编号in以定位此笔纪录数据rd的杂凑值rdh的位置,即对应的叶节点ln,并可直接确认此纪录数据rd的杂凑值rdh是否存在于此叶节点ln中。若此叶节点ln没有此笔纪录数据rd的杂凑值rdh,即可验证此笔纪录数据rd不存在。如此一来,整个验证操作所耗费的网络传输需求、运算量、运算时间与运算成本可大幅降低。

如前所述,在一些实施例中,不同的纪录数据rd的识别数据id可能产生相同的识别编号in,在此情况下,某一笔纪录数据rd的杂凑值rdh可能被定位至两个以上的叶节点ln,若需要验证此笔纪录数据rd,安全协定装置100可由数据库装置200取得此两个以上的叶节点ln中的杂凑值rdh并进行验证。在本实施例中,重复的识别编号in的机率相对低,即使某一笔纪录数据rd的杂凑值rdh被定位至两个以上的叶节点ln,这些被定位的叶节点ln的数量仍是小于或远小于所有叶节点ln的数量,整个验证操作所耗费的网络传输需求、运算量、运算时间与运算成本仍可大幅降低。

如图3所示,在本实施例中,终端装置400更包括识别编号单元440,终端装置400的识别编号单元440与安全协定装置100的识别编号单元130具有相同的功能,识别编号单元440亦可根据纪录数据rd的识别数据id而产生识别编号in,且终端装置400可通过识别编号单元440验证安全协定装置100是否从正确的叶节点ln取得数据。举例来说,若终端装置400需要验证某一纪录数据rd,且此纪录数据rd的识别数据id为「e1534391」(请参照前述例子),当终端装置400传送此验证要求至安全协定装置100,安全协定装置100的定位搜寻单元140可通过对应于此笔纪录数据rd的识别编号in以定位此笔纪录数据rd的杂凑值rdh的位置,并找出其是位于数据库装置200中的二元树bt的编号13的叶节点ln中,且回传编号13的叶节点ln中的杂凑值rdh至终端装置400,以让终端装置400进行验证。终端装置400的识别编号单元440同样可根据此纪录数据rd的识别数据id为「e1534391」而产生识别编号in,并根据识别编号in可推算此纪录数据rd的杂凑值rdh应是储存于编号13的叶节点ln中,藉此,终端装置400可确认安全协定装置100所回传的纪录数据rd的杂凑值rdh是否来自于正确的位置(即编号13的叶节点ln)。

请再参照图4,图4为本发明一实施例的二元树bt的切片bts的示意图。如图3与图4所示,在本实施例中,当安全协定装置100传送二元树bt的根杂凑值rh至区块链装置300时,安全协定装置100的切片单元150会自动切割二元树bt为多个切片(slice)bts且回传各切片bts至对应的各终端装置400,而各终端装置400的切片验证单元430会验证所接收的各切片bts的正确性。如图2与图4所示,在本实施例中,每一切片bts为二元树bt的树根r、对应的两个叶节点ln与必要的中间节点mn所组成的模克证明(merkleproof)。此组叶节点ln中储存的纪录数据rd的杂凑值rdh,可经由前述的运算过程,而得到位于树根r的根杂凑值rh,而切片bts的根杂凑值rh应与完整二元树bt的根杂凑值rh一致。举例来说,某一终端装置400将某一笔纪录数据rd与识别数据id传送至安全协定装置100后,安全协定装置100会将此纪录数据rd的杂凑值rdh储存至某一二元树bt的某一叶节点ln中且会回传此叶节点ln所对应的切片bts至此终端装置400,而此终端装置400会比对此切片bts的叶节点ln中的此笔纪录数据rd的杂凑值rdh与此终端装置400所产生的原始纪录数据rd的原始杂凑值rdh是否一致,若一致则表示验证正确,若不一致则表示验证不正确。若验证不正确,对应的终端装置400可传送一抗议信息至区块链装置300,以进行后续数据修正或无效等程序。

在本实施例中,各终端装置400包括区块链芯片,所述区块链芯片例如但不限于是可自动在区块链bc与验证系统10、10a之间互相传送信号的集成电路(ic)。藉由区块链芯片,终端装置400可设计得更加轻薄短小,且终端装置400可更容易设置于任何物件上或整合至任何电子装置中。举例来说,终端装置400可设置或整合至电池(如电动或油电混合的公车或汽车用的大电池组)、电表、汽车大灯、汽车本体(如通过5g联网的汽车的行车电脑)或画框,且终端装置400会自动且持续上传各物件的纪录数据rd,这些纪录数据rd例如但不限于是电池、电表或汽车大灯的每时或每日(依据上传预定间隔而定)历史使用状况,或汽车本体各感测器信息(如引擎、里程表、启动次数…等)的每时或每日的历史感测数据,或画框上的感测器所感测的每时或每日的湿湿度变化历史感测数据与画者原始数据等,而安全协定装置100可将这些纪录数据rd的杂凑值rdh储存至链下oc的数据库装置200,并将根杂凑值rh上传至区块链装置300。

基于验证系统10、10a,除了可藉由链下oc的数据库装置200来达到各种数据的快速定位与搜寻之外,也可藉由区块链bc的验证来达到数据的不可否认性。且基于终端装置400的搭配应用,物件的状况可获得保证,而物件的价值也得以提高。例如原本长程车用的中古大电池组在使用一定程度后可转给短程车用,而短程车用的中古大电池组在使用一定程度后又可转给诸如渔塭等场所作为备用发电电池。而这之间每一次转换都可经过诸如中古买卖平台进行交易,而每次交易都可藉由验证系统10、10a来验证物件的状况,从而提高物件品质的信赖度与物件价值。

请参照图5,图5为本发明一实施例的验证方法的流程图。在本实施例中,验证方法可通过图1所示的验证系统10实现,但不限于此。验证方法适用于与区块链bc协作。在步骤s101中,安全协定装置100会在链下oc自多个终端装置400接收多个纪录数据rd。在步骤s103中,安全协定装置100会根据杂凑函数整合该些纪录数据rd为至少一二元树bt,且各纪录数据rd的杂凑值rdh分别储存于二元树bt的各叶节点ln。在步骤s105中,安全协定装置100会传送二元树bt的根杂凑值rh至区块链bc,且区块链装置300会储存这些根杂凑值rh。在步骤s107中,安全协定装置100会在链下oc储存二元树bt,即安全协定装置100会将完整的二元树bt会储存于链下oc的数据库装置200。在步骤s109中,当安全协定装置100接收一验证要求,安全协定装置100会比对位于区块链bc上的区块链装置300中的根杂凑值rh与在链下oc的数据库装置200中储存的二元树bt的根杂凑值rh,以验证在链下oc储存的二元树bt的正确性。

请参照图6,图6为本发明另一实施例的验证方法的流程图。在本实施例中,验证方法可通过图3所示的验证系统10a实现,但不限于此。在步骤s201中,安全协定装置100会在链下oc自多个终端装置400接收多个纪录数据rd与多个识别数据id,各识别数据id是分别对应于各纪录数据rd。在步骤s203中,当安全协定装置100接收该些识别数据id之后,安全协定装置100会根据各识别数据id产生分别对应于各叶节点ln的多个识别编号in,二元树bt的每一叶节点ln会对应于专属的识别编号in。举例来说,安全协定是自各识别数据id的杂凑值中取出多个预定位元以产生各识别编号in,并且,若二元树bt具有一高度值h,该些预定位元为各识别数据id的杂凑值的前h-1个位元。在步骤s205中,安全协定装置100会根据杂凑函数整合该些纪录数据rd为至少一二元树bt。在步骤s207中,安全协定装置100会根据各识别编号in,储存各纪录数据rd的杂凑值rdh至对应的各叶节点ln。在步骤s209中,安全协定装置100会传送二元树bt的根杂凑值rh至区块链bc,且区块链装置300会储存这些根杂凑值rh。在步骤s211中,安全协定装置100会将二元树bt切割为多个切片bts。在步骤s213中,安全协定装置100会在链下oc回传各切片bts至对应的各终端装置400。

接着,各终端装置400会验证所接收的各切片bts的正确性。在步骤s215中,当切片bts验证为不正确,对应的终端装置400传送抗议信息至区块链bc。在步骤s217中,当切片bts验证为正确,终端装置400无需传送抗议信息至区块链bc。在步骤s219中,安全协定装置100会在链下oc储存二元树bt,即安全协定装置100会将完整的二元树bt会储存于数据库装置200。在步骤s221中,当安全协定装置100接收一验证要求,安全协定装置100会比对位于区块链bc上的区块链装置300中的根杂凑值rh与在链下oc的数据库装置200中储存的二元树bt的根杂凑值rh,以验证在链下oc储存的二元树bt的正确性。在步骤s223中,当安全协定装置100接收一搜寻要求,且此搜寻要求是针对某一纪录数据rd,安全协定装置100会根据对应此纪录数据rd的识别编号in而定位在链下oc储存的二元树bt的叶节点ln,以搜寻对应于此识别编号in的叶节点ln并由此叶节点ln取得此纪录数据rd的杂凑值rdh,或验证此纪录数据rd的杂凑值rdh不存在此叶节点ln中。

综上所述,现有的区块链架构是将数据全部传送到区块链上,再通过区块链矿工对数据进行验证,如此将耗费大量的区块链运算资源。根据本发明实施例的验证系统与方法,在维持数据的可信任度(不可否认性)的前提下,可将大部分数据设置于链下数据库装置中,并通过安全协定装置比对链下数据库的二元树的根杂凑值与区块链的对应根杂凑值,来验证二元树的正确性,藉此将主要运算转为在链下执行,大幅减少区块链的负荷。此外,安全协定装置可根据识别编号定位纪录数据,藉此可快速搜寻数据库装置中的纪录数据的杂凑值所储存的叶节点,并可快速验证纪录数据是否不存在。藉由本发明实施例的验证系统与方法,可降低系统整体的网络传输需求、运算量、运算时间与运算成本。并且,具有区块链芯片的终端装置可设置或整合至各种物件中,在实际应用上更加简单方便,且可提高物件品质的信赖度与物件价值。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1