TWM586416U - 基於區塊鏈技術實現交易的多中心分散驗證系統 - Google Patents
基於區塊鏈技術實現交易的多中心分散驗證系統 Download PDFInfo
- Publication number
- TWM586416U TWM586416U TW108207181U TW108207181U TWM586416U TW M586416 U TWM586416 U TW M586416U TW 108207181 U TW108207181 U TW 108207181U TW 108207181 U TW108207181 U TW 108207181U TW M586416 U TWM586416 U TW M586416U
- Authority
- TW
- Taiwan
- Prior art keywords
- verification
- block
- data
- information
- transaction
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本創作涉及一種基於區塊鏈技術實現交易的多中心分散式驗證系統。整個網絡是由所有節點組成。任何一個節點發生交易事件時,將以隨機的方式選擇N個節點作為其交易資料的驗證中心,並將驗證資料交給驗證中心。此N個節點必須是連網的、且處於工作狀態的。每個驗證中心主要包括一個交易事件驗證資訊模組、一個區塊驗證紀錄模組以及一個基礎資料庫。基礎資料庫儲存一組基礎驗證資料與一組交易事件驗證資訊,其中基礎驗證資料是基礎交易驗證需求;交易事件驗證資訊是交易事件驗證資訊模組根據驗證需求對基礎資料庫的操作記錄的資訊。交易事件驗證資訊模組根據驗證需求對基礎資料庫進行操作,按照區塊驗證記錄模組的格式之要求以生成交易資訊。交易事件驗證資訊模組在一個資料區塊驗證週期內對外廣播交易資訊;區塊驗證記錄模組用以記錄被廣播的交易資訊,並以接收到的交易資訊為基礎,按照規則生成並保存該區塊資料。藉此,避免單一中心失能而造成整個區塊鏈系統癱瘓。所有的中心都有義務參與驗證,並將互相交換驗證之結果,若有不一致情形發生,則驗證結果將取決於多數。如此,本系統將由各中心以分散式驗證方式建立起受信賴的點對點通訊。
Description
本創作整體涉及一種區塊鏈交易技術領域,尤指一種避免單一中心失能而造成整個區塊鏈系統癱瘓,並且由各中心以分散式驗證(Distributed Proof)方式用於節點間建立受信賴點對點通訊,用來實現網路交易的多中心可分散式驗證的區塊鏈系統。
區塊鏈(block chain)是由節點參與的分散式資料庫系統,它的特點是不可更改,不可偽造,也可以將其理解為帳簿系統。它是數位加密貨幣的一個重要概念,數字加密貨幣,例如比特幣區塊鏈的副本,記錄了其代幣(token)的每一筆交易。通過這些資訊,我們可以找到每一個位址,在歷史上任何一點所擁有的價值。區塊鏈係基於共識之電子貨幣交易實施為由區塊組成的基於電腦的去中心化分散式系統,區塊又由交易及其它資訊組成。在比特幣交易狀況下,每一交易係編碼區塊鏈系統中之參與者之間的符記之控制之傳送的資料結構,且包括至少一個輸入及至少一個輸出,每一區塊含有先前區塊之散列,使得區塊變得鏈接在一起以創建自一開始就已寫入至區塊鏈之所有交易的
永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被稱為指令碼的小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平臺上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
為了使交易被寫入至區塊鏈,交易必須經「驗證」,一些網路節點充當挖掘者(miner)且執行工作以確保每一交易有效,其中無效交易被網路拒絕。舉例而言,安裝於節點上之軟體用戶端對參考及未用交易輸出(UTXO)之交易執行此驗證工作,驗證可藉由執行其鎖定及解除鎖定指令碼來執行。若鎖定及解除鎖定指令碼之執行評估為真且若滿足某些其它條件(諸如,包括足夠挖掘費用),則交易有效且可將交易寫入至區塊鏈。因此,為了使交易寫入至區塊鏈,其一:必須藉由在交易經驗證之情況下接收該交易的第一節點驗證,該節點將該交易中繼傳輸至網路中之其它節點;其二:新增至藉由挖掘者建置之新區塊;其三:經挖掘,亦即,新增至過去交易之公用總帳。當足夠數目個區塊經新增至區塊鏈以使交易實際上不可反轉時,該交易被視為經確認。
區塊鏈的防偽機制,來自於每一筆交易都向全網路全體廣播,讓全體網民來監督,且新一筆與前一筆有關。於是,因此人們就可以去檢查新的一筆資料是否正確;如果大多數人都認為新一筆資料正確無誤,就寫入紀錄。久而久之,就會形成一條「資料區塊鏈」。
然而,國內央行總裁楊金龍點出虛擬通貨七大問題,重申虛擬貨幣是網路商品或加密資產,而非貨幣,更無取代法定貨幣。首先是供應量無法調節,楊金龍說明,虛擬通貨供給量依事先的協定(protocol)而來,無法依市場需求有彈性地調整。其次價格波動大,無法作為廣被接受的支付工具,反而易成為投機炒作標的。其三是效率低,系統每秒能處理交易筆數非常有限,當交易量大容易造成壅塞,交易費用就暴增,且新增區塊還可能被否認,形成所謂軟分叉(soft fork),無異是耗時且不具清算最終性,沒有效率可言。其四是挖礦過程耗電過大,楊金龍指出,目前挖礦的耗電已相當於瑞士全國用電量,這與貨幣演進的節省資源、降低成本背道而馳。其五是硬分叉(hard fork)導致貶值,開發者可複製軟體,加
入新特性或調整演算參數,再以新名稱及新形式釋出而獲益。每次分叉時,舊持有者可額外取得新的虛擬通貨,光去年(2018)就有10幾次,出現比特幣黃金、比特幣鑽石等,最後必將導致貨幣信心全失而大幅貶值。其六是無求償管道,因為沒有發行人或機構負債,也沒有任何主管單位支持,一旦網路受攻擊或惡意礦工癱瘓系統,持有人損失將求償無門。第七是易被不法人士利用,過去交易平台被駭及虛擬通貨的相關詐騙案層出不窮,還被用於洗錢、資恐、逃稅、規避管制等用途。
是以,如何改善上述的問題,申請人有鑑於習知技術中所產生之缺失,經過悉心試驗與研究,並一本鍥而不捨之精神,終構思出本創作以解決習知技藝的缺點。
有鑑於習知技藝之問題,本創作提供一種基於區塊鏈技術實現交易的多中心分散驗證系統,避免單一中心失能而造成整個區塊鏈系統癱瘓,並且由各中心以分散式驗證(Distributed Proof)方式用於節點間建立受信賴點對點通訊,相較於比特幣的區塊鏈交易以及匿名擁有,可實現以區塊鏈對貨幣與交易紀錄防偽、實名擁有的網路交易的多中心可分散式驗證的區塊鏈系統。
為達成本創作的目的,提出一種基於區塊鏈技術實現交易的多中心分散驗證系統,包括N個驗證中心;每個驗證中心主要包括一組交易事件驗證資訊模組、一個與該交易事件驗證資訊模組連接的區塊驗證紀錄模組以及一個與該區塊驗證紀錄模組連接的基礎資料庫,該基礎資料庫主要儲存一組基礎驗證資料與一組交易事件驗證資訊;其中該基礎驗證資料是系統中一個交易的驗證需求;交易事件驗證資訊是該交易事件驗證資訊模組根據該驗證需求對該基礎資料庫的操作記錄資訊。交易事件驗證資訊
模組根據該驗證需求對該基礎資料庫進行操作,按照區塊驗證紀錄模組的格式要求以生成交易資訊;該交易事件驗證資訊模組在一個區塊驗證週期內以廣播該交易資訊;該區塊驗證紀錄模組用來記錄被廣播的該交易資訊,並以接收到的該交易資訊為基礎,按照規則生成並保存區塊資料。
根據本創作一實施例,其中該交易事件驗證資訊並生成區塊資料的執行步驟包含:設定多區塊驗證機制的區塊驗證發布週期;在區塊驗證發布週期內,該交易事件驗證資訊模組根據外部需求以該基礎驗證資料為基礎,按照驗證規則對驗證請求進行驗證運算操作;將相應產生的該交易事件驗證資訊保存在該基礎資料庫;生成該交易資訊並將該交易資訊廣播上傳至各該驗證中心的該區塊驗證記錄模組;其中在該區塊驗證週期內以特定方式選擇區塊驗證發布節點。
根據本創作一實施例,其中該特定選擇區塊驗證發布節點的執行步驟包含:以隨機的方式選擇驗證中心作為區塊驗證發布節點;記錄在週期內每一個驗證中心被選為區塊驗證發布節點的次數;設定次數以及閾值並且判斷次數k與閾值的大小關係,當k>ε,則在下個週期內將對應的驗證中心移出隨機列表,並重置次數k,若kε,則直接重置次數;區塊驗證發布節點根據一定時間內驗證接收到的該交易資訊,以生成含時間戳的一區塊資料向整個驗證系統廣播發布;區塊驗證發布節點的該交易事件驗證資訊模組將該區塊資料進行廣播;該區塊驗證記錄模組接收被廣播的該區塊資料;各該驗證中心根據設定的校驗規則確定最終被認定的新的區塊資料;完成一個區塊資料驗證確認後,將生成最新一個區塊接到前一個區塊的後面,並執行下一個該區塊驗證週期。
根據本創作一實施例,其中該區塊資料包括區塊頭和區塊主體,該區塊主體用以收集一定時間內被廣播的該交易資訊,在時間內被廣
播的該交易資訊被運算處理為根數據,而根數據作為計算參數被處理為驗證資料,驗證資料被記錄在區塊頭。
根據本創作一實施例,其中該區塊頭包含區塊的標題、先前區塊的雜湊值、該區塊主體的雜湊值、時間戳記、難度索引及隨機數;區塊的標題可根據與其它區塊的連接關係而定義;先前區塊的雜湊值為在分支中在相應區塊之前生成來與相應區塊相連接的區塊的雜湊值;時間戳記為與相應區塊的生成時間有關的資訊;難度索引為與相應區塊的驗證演算法有關的難度索引,以決定查找相應區塊的隨機數所需要的散列動力有關的資訊;隨機數為用於相應區塊的作業驗證演算法的計算資訊。
根據本創作一實施例,其中區塊主體包含數據且數據可區分為第一類數據及第二類數據,該第一類數據為與生成新資料有關的數據,該第二類數據可為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的數據。
根據本創作一實施例,其中該數據為與數位內容有關的資訊,數位內容為圖像、影像、聲音、文本、編程代碼、電子表格之前述任一者或二者以上,該第一類數據為與新數位內容有關的資訊,該第二類數據為基於已生成的數位內容的資訊。
根據本創作一實施例,其中該數據為與帳戶有關的資訊,第一類數據為與生成新帳戶有關的資訊,第二類數據可為與已生成的帳戶的交易有關的資訊。
根據本創作一實施例,其中該基礎資料庫的該操作記錄資訊包含有讀取記錄、寫入記錄、更新記錄、修改記錄和/或刪除記錄。
根據本創作一實施例,其中每一該驗證中心的權限相同,該多中心分散驗證系統由一個集合的節點和一個集合的路徑所構成,其網路拓樸為星狀、環狀、樹狀、不規則圖以及全連結點的前述任一者。
10‧‧‧區塊
11‧‧‧區塊頭
12‧‧‧區塊主體
100‧‧‧驗證中心
110‧‧‧交易事件驗證資訊模組
120‧‧‧區塊驗證記錄模組
130‧‧‧基礎資料庫
131‧‧‧基礎驗證資料
132‧‧‧交易事件驗證資訊
圖1係繪製本創作之多中心分散驗證系統的網路架構示意圖。
圖2係繪製本創作之多中心分散驗證系統的驗證中心組成示意圖。
圖3係繪製本創作之個別區塊結構的方塊圖。
以下配合圖式及本創作之較佳實施例,進一步闡述本創作為達成預定創作目的所採取得技術手段,有關本創作之詳細說明及技術內容,所附圖式僅提供參考與說明用,並非用來對本創作加以限制者。參照附圖對本創作的實施例進行詳細說明。在對本創作進行說明的過程中,當判斷為附加與在相應領域已公知的技術或構成有關的具體說明不必要地混淆本創作的要旨時,在詳細說明中省略其的一部分。並且,在本說明書中所使用的術語用於適當地表達本創作的實施例,這可根據相應領域的相關人或慣例等不同。因此,本創作中的術語應該根據說明書全文內容來定義。
在此先行說明,區塊鏈是由一串使用密碼學方法產生的資料塊組成,每一個區塊都包含了上一個區塊的雜湊值,從創始區塊開始連接到當前區塊,形成區塊鏈。區塊鏈是一串使用密碼學方法相關聯產生的資料塊,每一個資料塊中包含了一次比特幣網路交易的資訊,用於驗證其資訊的有效性(防偽)和生成下一個區塊。狹義來講,區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的一種鏈式資料結構,並以密碼學方式保證的不可篡改和不可偽造的分散式帳本。廣義來講,區塊鏈技術是利用塊鏈式資料結構來驗證與儲存資料、利用分散式節點共識演算法來生成和更新資料、利用密碼學的方式保證資料傳輸和訪問的安全、利用
由自動化腳本代碼組成的智慧合約來程式設計和運算元據的一種全新的分散式基礎架構與計算範式。區塊鏈技術本質是去中心化且寓於分散式結構的資料儲存、傳輸和證明的方法,用資料區塊(block)取代了目前互聯網對中心伺服器的依賴,使得所有資料變更或者交易專案都記錄在一個雲端系統之上。所謂分散化是指,由於使用分散式核算和儲存,不存在唯一中心化的硬體或管理機構,各中心節點的權利和義務都是均等的,系統中的資料塊由整個系統中具有維護功能的中心節點來共同維護。
如圖1所示,其繪製根據本創作之多中心分散驗證系統的架構圖。多中心分散驗證系統為連結區塊鏈的外部網路,外部網路可以為電腦或行動通訊終端。區塊鏈中具有N個驗證中心100,每個驗證中心100都可以作為區塊驗證發布節點d,向整個多中心驗證系統發布資訊。驗證中心100為主要伺服器且每個驗證中心100的權限相同,N為有限正整數。進一步說明,多中心分散驗證系統主要由一個集合的節點和一個集合的路徑所構成。其中網路拓樸為星狀(Star)、環狀(Ring)、樹狀(Tree)、不規則圖(Graph)以及全連結點(Mesh)的前述任一者。
舉例說明,凡參與網絡內活動的參與者,都是區塊驗證發布節點d。區塊驗證發布節點d可以是自然人、電腦程式中的物件(Object),或是物聯網中的感應器(Sensor)。驗證中心100也是一種節點,但被賦予對資料驗證的權利與義務。
每個驗證中心100主要包括一交易事件驗證資訊模組110、一區塊驗證記錄模組120以及一基礎資料庫130,任意的驗證中心從基礎資料庫130中讀取資料,而基礎資料庫130為與多中心驗證系統進行資料交互並具有資料儲存功能的伺服器;其中基礎資料庫130主要儲存一基礎驗證資料131以及一交易事件驗證資訊132,而基礎驗證資料131由驗證中心節點的驗證需求提供;交易事件驗證資訊為交易事件驗證資訊模組110根據驗證需
求對基礎資料庫的操作記錄資訊。交易事件驗證資訊模組110根據驗證需求對基礎資料庫的操作,按照區塊驗證記錄模組120的格式要求,生成交易資訊。
根據本創作一實施例,交易事件驗證資訊模組110在一區塊驗證發布週期T內廣播交易資訊;交易事件驗證資訊則作為基礎資料庫的操作資訊紀錄。對基礎資料庫的操作紀錄主要包括讀取、寫入、更新、修改和/或刪除資料。交易資訊帶有時間戳記,時間戳記為交易發起時的臺北時間,包括年、月、日、時、分、秒和毫秒。更進一步的,時間戳記還可以選擇其它時區的時間,可以選擇更精確的時間單位,如納秒,皮秒等。
根據本創作一實施例,區塊驗證記錄模組120以接收到的交易資訊為基礎,按照規則生成並保存區塊資料,並且記錄被廣播的交易資訊。
驗證交易事件驗證資訊並生成區塊鏈的執行步驟如下:
S1.設定多區塊驗證發布機制的的區塊驗證週期T。
S2.在區塊驗證週期T內,交易事件驗證資訊模組110根據外部需求以基礎驗證資料為基礎,按照驗證規則對驗證請求進行驗證運算操作,
S3.將相應產生的交易事件驗證資訊保存在基礎資料庫,同時生成交易資訊並將交易資訊廣播上傳至各驗證中心節點的區塊驗證記錄模組120。補充說明,在一個區塊驗證週期T內,多中心驗證系統以隨機的方式選擇任意一個驗證中心為區塊驗證發布節點,而其它驗證中心為非區塊驗證發布節點。
承上所述,本創作之多中心分散驗證系統如果存在n個節點,通過隨機選取m個驗證中心作為區塊驗證發布節點,其中n≧m。經隨機選取的m個區塊驗證發布節點構成一個子網路(Sub-Net)且形成一個鏈
(Chain);根據區塊鏈的共識機制(Proof-of-work),在子網路中的所有參與者過半數決定,「大多數人」的決定就可以表達為最長鏈,每一個區塊都必須引用其上一個區塊,因此最長的鏈也是最難以推翻和篡改的,所以節點永遠認為最長鏈才是有效的區塊鏈。區塊鏈系統的一致性(Consistency)主要是分布式系統中多個副本對外呈現的數據的狀態,例如順序一致性、線性一致性,描述的是多個節點對數據狀態的維護能力;具體而言,一致性是指針對分布式系統中不同節點給予一定操作,在約定協議的保障下,試圖使得它們對處理結果達成「某種程度」的認同,而共識機制則描述的是分布式系統中多個節點之間,彼此對某個目標所達成的一致結果。
由於本創作之多中心分散驗證系統的子網路的構成是由全體參與者中隨機選取,所有參與者只要接受最長鏈而拋棄其它短鏈,即可在整個網路中維護一條受信賴的區塊鏈(最長鏈原則),而根據統計學的中央極限定理(Central Limit Theorem),若多中心分散驗證系統中的節點數很多(n值很大),則m個驗證中心的分配將趨近常態分配,意即各個子網路的性質總和則為整個主鏈的性質。因此,即使系統中的各子網路中包含有惡意節點在內,通過上述最長鏈原則,本創作之多中心分散驗證系統也就可以維持區塊鏈的一致性。
在具體實施例中,選擇區塊驗證發布節點的執行步驟主要如下:
S10.以隨機的方式選擇驗證中心作為區塊驗證發布節點。
S20.記錄在週期內每一個驗證中心被選為區塊驗證發布節點的次數k。
S40.區塊驗證發布節點根據t時間內驗證系統中接收到的交易資訊,生成含時間戳的區塊資料向整個驗證系統廣播發布。區塊資料包括區塊頭(Block Header)和區塊主體(Block Body)。區塊主體收集t時間內被廣播的交易資訊。t時間內被廣播的交易資訊作為計算參數,被運算處理為根數據。其中根數據作為計算參數被處理為驗證資料。其中驗證資料被記錄在區塊頭,t時間為設定時間。
S50.區塊驗證發布節點的區塊驗證記錄模組120將區塊資料進行廣播。
S60.中心驗證系統的各中心節點的區塊驗證記錄模組120接收被廣播的區塊資料。
S70.N個驗證中心根據設定的校驗規則確定最終被認定的新的區塊資料。
S80.當一個區塊資料被系統驗證確認後,作為最新一個區塊接到前一個區塊的後面,並且儲存在區塊鏈中,系統則進人下一個區塊驗證週期T。
請參閱圖2所示,其繪製本創作基於區塊鏈技術實現交易的多中心分散驗證系統的個別區塊結構的方塊圖。一個區塊資料10包括區塊頭11及區塊主體12;區塊頭11可包括區塊的標題、先前區塊的雜湊值、區塊主體12的雜湊值、時間戳記、難度索引及隨機數等。區塊頭11所包含的資訊能夠以多種方式變更來構成。區塊的標題意味著可將區塊10與其它區塊區分的識別資訊。區塊的標題可根據與其它區塊的連接關係而定義。先前區塊的雜湊值為在分支中在相應區塊之前生成來與相應區塊相連接的區塊的雜湊值。先前區塊的雜湊值可為先前區塊的整體或所選擇的一部分的資訊的雜湊值。例如,先前區塊的雜湊值可定義為先前區塊的區塊頭的資
訊的雜湊值,區塊頭11包含先前區塊的雜湊值,從而強化區塊之間的連接性;區塊之間的連接性被強化則意味著區塊鏈系統整體的安全性得到提高。
區塊主體12的雜湊值為相應區塊的區塊主體12所包含的資料的雜湊值,區塊主體12的雜湊值可為區塊主體所包含的資料的整體或所選擇的一部分的雜湊值。區塊主體的雜湊值可通過多種方式決定。例如,區塊主體12的雜湊值可為與從區塊主體12的資料生成的默克爾樹根(Merkle root)有關的雜湊值。雜湊值之作用在於確認區塊資料的一致性(integrity),區塊資料之原文必須保存。區塊主體12的雜湊值相當於區塊主體12的資料的摘要,可有效管理並驗證尺寸相對大的區塊主體12的資料。其中時間戳記(time stamp)為與相應區塊的生成時間有關的資訊;難度索引為與相應區塊的作業驗證演算法有關的難度索引,這是與決定查找相應區塊的隨機數所需要的散列動力有關的資訊,隨機數(nonee)為用於相應區塊的作業驗證演算法的計算資訊。
根據本創作一實施例,區塊主體12包含區塊10所儲存並管理的資料;資料相當於數位資料且可為多種形態的資料。例如,資料可為數位內容、檔案資訊、帳戶資訊、交易資訊、人事資訊、生產履歷資訊、產品或建築物的設計及附圖、聲音資訊等,並不限定於特定形態。再者,區塊主體12所包含的資料的種類或尺寸等可根據區塊受限。這種資料的限制可共同適用於所有區塊,還可選擇性地僅適用於特定幾個區塊,資料的限制可根據需求變更。
根據本創作一實施例,一個區塊包含一個數據,數據意味著一個區塊所包含的資訊的單元集合。具體地,區塊主體12可包含數據,數據可區分為第一類數據及第二類數據。其中第一類數據可為與生成新資料有關的數據,第二類數據可為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的數據。
根據本創作一實施例,數據可為與數位內容有關的資訊。數位內容意味著由數位資訊構成的所有形態的內容;例如,數位內容可為圖像、影像、聲音、文本、編程代碼、電子表格等,並不限定於所羅列的上述內容。在此情況下,第一類數據可為與新數位內容有關的資訊,第二類數據可為基於已生成的數位內容的資訊。例如,第二類數據可為與已生成的數位內容的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊,已生成的數位內容意味著第一類數據所生成的數位內容。
根據本創作一實施例,數據可為與檔案有關的資訊。檔案意味著由數位資訊構成的所有形態的檔案;例如,檔案可包括文本、圖像及表等。並且,檔案可包括與相關人員的審批及協議等有關的資訊。在此情況下,第一類數據可為與生成新檔案有關的資訊,第二類數據可為基於已生成的檔案的資訊。其例如,第二類數據可為與已生成的檔案的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊。同時,第二類數據20可為與對已生成的檔案進行審批、協議、退回等有關的資訊,已生成的檔案意味著第一類數據所生成的檔案。
根據本創作一實施例,數據可為與帳戶有關的資訊。在此情況下,第一類數據可為與生成新帳戶有關的資訊,第二類數據可為與已生成的帳戶的交易有關的資訊。其中,已生成的帳戶意味著第一類數據所生成的帳戶。除上述內容之外,數據可為交易、人事、生產履歷、設計、附圖、聲音、編程代碼等。而且,第一類數據及第二類數據也可根據這種多種多樣的種類來區分。第一類數據及第二類數據並不限定於上述內容。
本創作所述之多中心分散驗證系統是基於區塊鏈以及時間戳記實現的,區塊鏈中儲存的每個區塊的內容中,除了包括多個區塊構成的默克爾雜湊樹(Merkle Hash Tree)外,還包含了前一個區塊內容的雜湊值(Pre-H),相當於是指向前一個邏輯塊的邏輯指標,最後附加上了對內容的
雜湊值H(即區塊本體的雜湊值H)。區塊10的雜湊值H也會像前一個區塊內容的雜湊值Pre-H被保存在區塊內容中一樣,區塊10的雜湊值H也會被保存在下一個新區塊內容中。這是一種前向背書的過程,即新區塊的產生進一步強化鎖定了所有舊區塊的內容。這樣通過密碼學驗證的方式構建了保證時序的、不可偽造、不可篡改、不可撤銷的鏈(Chain)。
綜上所述,本創作之系統的結構是一個網絡(Network)。網絡內的角色為區塊驗證發布節點和驗證中心;每個節點都是一個帳戶,使用者可以利用帳號和密碼登入;帳戶內有其公鑰,可以計算出他的私鑰,用來對交易內容進行加解密。另外,每個帳戶都連結著一個電子錢包,錢包內可以存放電子現金。
每一個帳戶都是本系統中的一個區塊驗證發布節點d,可以用來和其它節點做資訊交換;每次資訊交換稱之為交易(Transaction)。交易之內容及其相關資料(尤其是含時間戳記Timestamp)整合在一起,成為一個資料區塊(Data Block)。
網絡內流通的資料,是資料區塊的主要組成部分。一個區塊的內容通常由行為入(Actor)從事交易時所產生。行為人可視為交易的付款人(Payer)和受款人(Payee);但是交易不一定要有金錢的往來。當前區塊的付款人Payer(j)就是上一區塊的受款人Payee(j-1);兩者都是行為人。資料區塊因此具有下列性質:
1.與前一區塊產生連結:區塊Block(j)會和前一區塊Block(j-1)產生連結,因為包含前一區塊的雜湊值Hash(j-1)。
2.指出下一區塊的行為人:區塊Block j包含下一區塊付款人Payer(j+1)的公鑰;因此,區塊之傳遞不會有錯誤,行為人Payer(j+1)可以確認這個區塊是傳給他的。
3.資訊透明:Block j的行為人j將用他的私鑰Private_Key(j)對Block(j)簽章,下一區塊的接收者可以用他的公鑰解密,得知區塊的內容,資訊透明;亦即,下一區塊的行為人Actor(j+1)可以用行為人j的公鑰Public_Key(j)來驗證。
4.第一個區塊是為創世區塊(Genesis Block),因為後來的區塊將接在此區塊的後面,形成一條鏈,稱之為區塊鏈(Block Chain)。這個區塊鏈的有不可竄改的特質,由於每個區塊10都包含前一區塊的雜湊值(Hash),以至於每個區塊都不能被竄改,因為如果被竄改之後,其後的區塊資料都會出錯。這就是區塊鏈內容的不可竄改性。
本創作所述之系統中的區塊資料的廣播方式將以虛擬貨幣交易舉例說明如下:當行為人j完成Transaction(j)之後,應向所有成員廣播交易資訊,包括下一個交易者的公鑰Public_Key(j+1)(也就是本次交易的受款人Payee(j))的公鑰、本次交易內容的雜湊值Content(j)、作為交易媒介的虛擬貨幣、上一個交易區塊的雜湊值Hash(j-1)。在廣播之前,行為人Actor(j)應先為此區塊計算雜湊值Hash(j),並加以保存;然後將區塊的內容廣播出去。
理論上,任何節點都可以驗證資料的內容,但這非所有節點的責任。原則上,驗證是中心的責任;定點廣播之方式不拘,例如可以將區塊之內容,傳送網絡中的所有成員,包括各驗證中心。(在此,各驗證中心就是支持與建構系統的成員,保有大量儲存能力以及巨大計算能力)。所有成員都可以儲存完整的區塊鏈,但也可以不儲存;但各中心則有義務儲存完整的區塊鏈。此外,傳送到各成員的資料區塊是最近的、最新的,其個數大於1/2區塊鏈長度。
驗證中心根據設定的校驗規則進行驗證確認方式舉例說明如下:(所有的成員都有權利驗證區塊內容的合法性,但是也可以不作證明;而各驗證中心則有驗證之義務)。其步驟如下:
A.檢查上一區塊的雜湊值Hash(j-1);
B.檢查虛擬貨幣是否此一行為人Actor(j)擁有?
C.檢查下一行為人的公鑰Public_Key(j+1)是否存在?
D.以上檢查若無錯誤,則將此一區塊內容做成雜湊值,回傳發送者。
E.發送者在收到半數以上中心傳回的雜湊值,與自己的雜湊值核對無誤之後,確認此一資料區塊正確,加上時間戳記;做成新的雜湊值Hash(j),r加在自己的區塊鏈上,並將Hash(j)廣播全體成員(包括所有驗證中心)。
各驗證中心於收到Hash(j)之後,將其附加在區塊鏈尾端,形成新的區塊鏈。
通過上述實施例可以看出,本創作的技術方案以區塊鏈和時間戳記技術手段為基礎,構建多方參與的“多中心系統架構”,本創作的多中心分散驗證系統的區塊鏈具有多中心、協同、透明的應用特點,以及時序保證、不可偽造、不可篡改、不可刪除(或者代價極其昂貴)的技術特徵,而且多中心分散驗證系統的子網路的構成根據最長鏈原則以維持區塊鏈的一致性。再者,本創作在驗證過程中,使用區塊鏈結合時間戳記技術,時間戳記可以確定區塊之先後順序,可以在電子證據領域使參與的多方發揮共同建造、共同維護、共同監督的作用,降低電子證據的鑒定成本、提高鑒定效率,更好的發揮電子證據應有的作用。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本創作可借助軟體加必需的通用硬體平臺的方式來實現。基於
這樣的理解,本創作的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本創作各個實施例或者實施例的某些部分的方法。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可;每個實施例重點說明的都是與其它實施例的不同之處。尤其,對於裝置或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
惟以上所記載之具體實施例,僅係用於例釋本創作之特點及功效,而非用於限定本創作之可實施範疇,於未脫離本創作上揭之精神與技術範疇下,任何運用本創作所揭示內容而完成之等效改變及修飾,均仍應為下記載之申請專利範圍所涵蓋。
Claims (10)
- 一種基於區塊鏈技術實現交易的多中心分散驗證系統,其包括由N個驗證中心通訊連接所構成的區塊鏈網路、及可與該區塊鏈網路通訊連接的電腦或行動終端;其中該N個驗證中心為N個伺服器,且各該伺服器包括一組交易事件驗證資訊模組、一組與該交易事件驗證資訊模組連接的區塊驗證紀錄模組以及一個與該區塊驗證紀錄模組連接的基礎資料庫,該基礎資料庫主要儲存一組基礎驗證資料與一組交易事件驗證資訊;其中該基礎驗證資料由各該驗證中心的驗證需求提供;該交易事件驗證資訊為該交易事件驗證資訊模組根據該驗證需求對該基礎資料庫的操作記錄資訊;該交易事件驗證資訊模組根據該驗證需求對該基礎資料庫的操作,按照區塊驗證紀錄模組的格式要求以生成交易資訊;該交易事件驗證資訊模組在一區塊驗證週期內以廣播該交易資訊;該區塊驗證紀錄模組用以記錄被廣播的該交易資訊,並以接收到的該交易資訊為基礎,按照規則生成並保存區塊資料。
- 如請求項1所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該交易事件驗證資訊並生成區塊資料的執行步驟包含:設定多區塊驗證機制的區塊驗證發布週期;在區塊驗證週期內,該交易事件驗證資訊模組根據外部需求以該基礎驗證資料為基礎,按照驗證規則對驗證請求進行一驗證運算操作;將相應產生的該交易事件驗證資訊保存在該基礎資料庫;生成該交易資訊並將該交易資訊廣播上傳至各該驗證中心的該區塊驗證記錄模組;其中在該區塊驗證週期內以特定方式選擇任意一個驗證中心為區塊驗證發布節點。
- 如請求項2所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該特定選擇區塊驗證發布節點的執行步驟包含:以隨機的方式選擇一驗證中心作為區塊驗證發布節點;記錄在週期內每一個驗證中心被選為區塊驗證發布節點的次數;設定次數以及閾值並且判斷次數與閾值的大小關係,當k>ε,則在下一週期內將對應的驗證中心移出隨機列表,並重置次數k,若kε,則直接重置次數;區塊驗證發布節點根據一定時間內驗證接收到的該交易資訊,以生成含時間戳的一區塊資料向整個驗證系統廣播發布;區塊驗證發布節點的該交易事件驗證資訊模組將該區塊資料進行廣播;該區塊驗證記錄模組接收被廣播的該區塊資料;各該驗證中心根據設定的校驗規則確定最終被認定的新的區塊資料;完成一個區塊資料驗證確認後,將生成最新一個區塊接到前一個區塊的後面,並執行下一個該區塊驗證週期。
- 如請求項3所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該區塊資料包括區塊頭和區塊主體,該區塊主體用以收集一定時間內被廣播的該交易資訊,在時間內被廣播的該交易資訊被運算處理為根數據,而根數據作為計算參數被處理為驗證資料,驗證資料被記錄在區塊頭。
- 如請求項4所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該區塊頭包含區塊的標題、先前區塊的雜湊值、該區塊主體的雜湊值、時間戳記、難度索引及隨機數;區塊的標題可根據與其它區塊的連接關係而定義;先前區塊的雜湊值為在分支中在相應區塊之前生成來與相應區塊相連接的區塊的雜湊值;時間戳記為與相應區塊的生成時間有關的資訊;難度索引為與相應區塊的驗證演算法有關的難度索引,以決定查找相應區塊的隨機數所需要的散列動力有關的資訊;隨機數為用於相應區塊的作業驗證演算法的計算資訊。
- 如請求項4所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中區塊主體包含數據且數據可區分為第一類數據及第二類數據,該第一類數據為與生成新資料有關的數據,該第二類數據可為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的數據。
- 如請求項6所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該數據為與數位內容有關的資訊,數位內容為圖像、影像、聲音、文本、編程代碼、電子表格之前述任一者或二者以上,該第一類數據為與新數位內容有關的資訊,該第二類數據為基於已生成的數位內容的資訊。
- 如請求項6所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該數據為與帳戶有關的資訊,該第一類數據為與生成新帳戶有關的資訊,該第二類數據可為與已生成的帳戶的交易有關的資訊。
- 如請求項1所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中該基礎資料庫的該操作記錄資訊包含有讀取記錄、寫入記錄、更新記錄、修改記錄及/或刪除記錄。
- 如請求項1所記載之基於區塊鏈技術實現交易的多中心分散驗證系統,其中每一該驗證中心的權限相同,該多中心分散驗證系統由一個集合的節點和一個集合的路徑所構成,其網路拓樸為星狀、環狀、樹狀、不規則圖以及全連結點的前述任一者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108207181U TWM586416U (zh) | 2019-06-05 | 2019-06-05 | 基於區塊鏈技術實現交易的多中心分散驗證系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108207181U TWM586416U (zh) | 2019-06-05 | 2019-06-05 | 基於區塊鏈技術實現交易的多中心分散驗證系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWM586416U true TWM586416U (zh) | 2019-11-11 |
Family
ID=69189773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108207181U TWM586416U (zh) | 2019-06-05 | 2019-06-05 | 基於區塊鏈技術實現交易的多中心分散驗證系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWM586416U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539693A (zh) * | 2020-04-29 | 2020-08-14 | 重庆忽米网络科技有限公司 | 一种基于区块链的数据防篡改考核方法 |
CN112804284A (zh) * | 2019-11-14 | 2021-05-14 | 财团法人资讯工业策进会 | 数据上链装置、数据验证装置及数据验证方法 |
TWI824173B (zh) * | 2020-08-26 | 2023-12-01 | 中華電信股份有限公司 | 一種公有區塊鏈混合私有區塊鏈的方法及電腦可讀媒介 |
-
2019
- 2019-06-05 TW TW108207181U patent/TWM586416U/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804284A (zh) * | 2019-11-14 | 2021-05-14 | 财团法人资讯工业策进会 | 数据上链装置、数据验证装置及数据验证方法 |
CN111539693A (zh) * | 2020-04-29 | 2020-08-14 | 重庆忽米网络科技有限公司 | 一种基于区块链的数据防篡改考核方法 |
CN111539693B (zh) * | 2020-04-29 | 2023-10-13 | 重庆忽米网络科技有限公司 | 一种基于区块链的数据防篡改考核方法 |
TWI824173B (zh) * | 2020-08-26 | 2023-12-01 | 中華電信股份有限公司 | 一種公有區塊鏈混合私有區塊鏈的方法及電腦可讀媒介 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833081B (zh) | 一种基于区块链的设备组网认证方法 | |
Zaghloul et al. | Bitcoin and blockchain: Security and privacy | |
Lepore et al. | A survey on blockchain consensus with a performance comparison of PoW, PoS and pure PoS | |
RU2746446C2 (ru) | Способы и устройство для распределенной базы данных, содержащей анонимные входные данные | |
Lai et al. | Blockchain–from public to private | |
Baird et al. | Hedera: A public hashgraph network & governing council | |
WO2019232789A1 (zh) | 一种基于投票的共识方法 | |
Baird et al. | Hedera: A governing council & public hashgraph network | |
US20200067697A1 (en) | Method for operating a blockchain | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN111133463A (zh) | 使用分布式协调的智能合约执行 | |
Komalavalli et al. | Overview of blockchain technology concepts | |
Vaigandla et al. | Review on blockchain technology: architecture, characteristics, benefits, algorithms, challenges and applications | |
Al-Maaitah et al. | E-voting system based on blockchain technology: A survey | |
Yadav et al. | A comparative study on consensus mechanism with security threats and future scopes: Blockchain | |
Ali et al. | Blockchain and the future of the internet: A comprehensive review | |
Gayvoronskaya et al. | Blockchain | |
TWM586416U (zh) | 基於區塊鏈技術實現交易的多中心分散驗證系統 | |
Severeijns | What is blockchain? How is it going to affect Business? | |
Bilal et al. | Blockchain technology: Opportunities & challenges | |
Flood et al. | Blockchain’s future: can the decentralized blockchain community succeed in creating standards? | |
Cai et al. | Introduction to blockchain basics | |
Sawal et al. | Necessity of blockchain for building trust in today’s applications: An useful explanation from user’s perspective | |
Haffke | Technical analysis of established blockchain systems | |
Kondru et al. | Directed acyclic graph-based distributed ledgers—an evolutionary perspective |