TW201901481A - 區塊鏈系統及利用區塊鏈的數據管理方法 - Google Patents
區塊鏈系統及利用區塊鏈的數據管理方法 Download PDFInfo
- Publication number
- TW201901481A TW201901481A TW107113746A TW107113746A TW201901481A TW 201901481 A TW201901481 A TW 201901481A TW 107113746 A TW107113746 A TW 107113746A TW 107113746 A TW107113746 A TW 107113746A TW 201901481 A TW201901481 A TW 201901481A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- type
- data
- branch
- event
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明公開區塊鏈系統及利用區塊鏈的數據管理方法。更詳細地,涉及包括多個分支的區塊鏈系統及利用上述區塊鏈的數據管理方法。
Description
本發明涉及區塊鏈系統及利用區塊鏈的數據管理方法,更詳細地,涉及包括多個分支的區塊鏈系統及利用這種區塊鏈的數據管理方法。
區塊鏈為分散資料庫的一種,以從作為加密的虛擬貨幣的比特幣導入的概念來為人所知。與以往將交易賬簿、檔案等的數位內容保存在中央集中型伺服器並進行管理不同,在區塊鏈系統中,將所累積的數位內容儲存於通過網路相連接的多個參與者的裝置(節點)來進行管理。在這種區塊鏈系統中,數位內容本身通過網路被公開,通過多名參與者隨時進行驗證,因此,具有非常難以偽造或篡改的優點。
這種區塊鏈系統用於比特幣等的虛擬貨幣系統或金融機構的交易記錄保存等。並且,最近,這種區塊鏈系統還用於實現電子化的檔案管理及原件確認等。
參與區塊鏈的多個節點需將所有區塊鏈的數據儲存於裝置並進行維護管理。在因所累積的交易等較少而使得整個區塊鏈的尺寸並不大的情況下,不會成為問題,但是,隨著區塊的數量通過交易等新事件的產生被累積而增加,整個區塊鏈的尺寸逐漸增加。最具代表性的區塊鏈系統為比特幣的整個區塊鏈,其尺寸目前達到數十千兆位元組(Gbyte)。
因此,參與區塊鏈的多個節點需要可儲存並維護管理這種大容量數據的高水準的儲存裝置及計算裝置。但是,普通的個人電腦的性能無法達到這種水準。尤其,智能手機、平板電腦等個人便攜裝置的性能更無法達到這種水準。
本發明所要實現的目的在於,提供能夠以多次元連接多個區塊來有效且系統地構成區塊鏈的區塊鏈系統。
本發明所要實現的再一目的在於,提供可將區塊所包含的數據區分為兩種來以多次元構成區塊鏈的區塊鏈系統。
本發明所要實現的另一目的在於,提供利用多次元連接的區塊鏈來有效且系統地管理數據的方法。
用於解決上述問題的本發明提供一種區塊鏈系統,一個區塊包含一個數據,管理兩個以上的數據,上述數據區分為不基於其他數據的第一型數據及基於上述第一型數據的第二型數據,上述區塊鏈系統包括:主分支,包括多個第一型區塊,多個上述第一型區塊包含多個上述第一型數據,多個上述第一型區塊根據每個區塊的生成順序相連接;以及至少一個子分支,包括多個第二型區塊,多個上述第二型區塊包含多個上述第二型數據,多個上述第二型區塊將一個第一型區塊作為根塊來連接,一個子分支包括作為第一型區塊的根塊及至少一個第二型區塊,上述至少一個第二型區塊包含第二型數據,上述第二型數據以上述根塊所包含的第一型數據作為基礎,上述一個子分支的至少一個第二型區塊根據每個區塊的生成順序相連接,在上述一個子分支最初生成的第二型區塊與根塊相連接。
並且,用於解決上述問題的本發明提供一種利用區塊鏈的數據管理方法,一個區塊包含一個數據,利用區塊鏈來管理與兩個以上的數據有關的事件,上述事件區分為不基於現有數據的的第一型事件及基於現有數據的第二型事件,上述利用區塊鏈的數據管理方法包括:準備至少一個區塊根據每個區塊的生成順序相連接的主分支的步驟;在產生第二型事件的情況下在上述主分支搜索包含被上述第二型事件作為基礎的數據的根塊的步驟;以及在不存在始於上述根塊並與上述主分支區分的子分支的情況下以與上述根塊相連接的方式生成包含基於上述第二型事件的數據的區塊來生成子分支的步驟。
本發明一實施例的區塊鏈系統具有能夠以多次元連接多個區塊來有效且系統地構成區塊鏈的優點。
並且,本發明一實施例的區塊鏈系統具有可將區塊所包含的數據區分為兩種來以多次元構成區塊鏈的優點。
並且,本發明一實施例的利用區塊鏈的數據管理方法具有可利用以多次元連接的區塊鏈來有效且系統地管理數據的優點。
10‧‧‧第一型數據
20‧‧‧第二型數據
100、200‧‧‧區塊
100-1‧‧‧第一型區塊
100-2‧‧‧第二型區塊
110、210‧‧‧區塊頭
120、220‧‧‧區塊本體
1000‧‧‧主分支
2000‧‧‧子分支
2300‧‧‧3號子分支
B‧‧‧區塊
H‧‧‧散列值
S100、S200、S300、S400、S510、S520、S530‧‧‧步驟
圖1為示出本發明一實施例的區塊鏈系統的個別區塊的結構的圖。
圖2為示出本發明一實施例的區塊鏈系統的兩個區塊相連接的圖。
圖3至圖6為用於說明本發明一實施例的區塊鏈系統的數據的圖。
圖7為用於說明區塊鏈中的區塊的顯示方法的圖。
圖8為本發明一實施例的區塊鏈系統的例示圖。
圖9為與本發明一實施例的區塊鏈系統的使用例示有關的圖。
圖10為用於說明利用本發明一實施例的區塊鏈的數據管理方法的順序圖。
圖11至圖15為與用於對利用本發明一實施例的區塊鏈的數據管理方法進行說明的區塊鏈的例示有關的圖。
以下,參照附圖對本發明的實施例進行詳細說明。在對本發明進行說明的過程中,當判斷為附加與在相應領域已公知的技術或構成有關的具體說明不必要地混淆本發明的要旨時,在詳細說明中省略其的一部分。並且,在本說明書中所使用的術語用於適當地表達本發明的實施例,這可根據相應領域的相關人或慣例等不同。因此,本發明中的術語應該根據說明書全文內容來定義。
以下,參照圖1至圖9對本發明一實施例的區塊鏈系統進行說明。
圖1為示出本發明一實施例的區塊鏈系統的個別區塊的結構的圖。圖2為示出本發明一實施例的區塊鏈系統的兩個區塊相連接的圖。
參照圖1,一個區塊100包括區塊頭110及區塊本體120。
區塊頭110可包括區塊的標題、之前區塊的散列值、區塊本體的散列值、時間戳、難度目標及隨機數等。區塊頭110所包含的資訊能夠以多種方式變更來構成。
區塊的標題意味著可將區塊100與其他區塊區分的識別資訊。區塊的標題可根據與其他區塊的連接關係而定義。
之前區塊的散列值為在分支中在相應區塊之前生成來與相應區塊相連接的區塊的散列值。之前區塊的散列值可為之前區塊的整體或所選擇的一部分的資訊的散列值。例如,之前區塊的散列值可定義為之前區塊的區塊頭的資訊的散列值。區塊頭包含之前區塊的散列值,從而強化區塊之間的連接性。區塊之間的連接性被強化則意味著區塊鏈系統整體的安全性得到提高。
區塊本體的散列值為相應區塊的區塊本體120所包含的數據的散列值。如後述內容,區塊本體120包含數據。區塊本體的散列值可為區塊本體所包含的數據的整體或所選擇的一部分的散列值。區塊本體的散列值可通過多種方式決定。例如,區塊本體的散列值可為與從區塊本體120的數據生成的默克爾樹的根有關的散列值。區塊本體的散列值相當於區塊本體120的數據的摘要,可有效管理並驗證尺寸相對大的區塊本體120的數據。
時間戳(time stamp)為與相應區塊的生成時間有關的資訊。
難度目標為與相應區塊的作業證明演算法有關的難度目標。這是與決定查找相應區塊的隨機數所需要的散列動力有關的資訊。
隨機數(nonce)為用於相應區塊的作業證明演算法的計算資訊。
在區塊頭110中,可排除上述資訊中的一部分,可追加包括其他資訊。
區塊本體120包含區塊100所儲存並管理的數據。數據相當於數位數據。數據可為多種形態的資料。例如,數據可為數位內容、檔案資訊、帳戶資訊、交易資訊、人事資訊、生產履歷資訊、產品或建築物的設計及附圖、聲音資訊等,並不限定於特定形態。
區塊本體120所包含的數據的種類或尺寸等可根據區塊受限。這種數據的限制可共同適用於所有區塊,還可選擇性地僅適用於特定幾個區塊。並且,這種數據的限制可根據需求變更。
參照圖2,兩個區塊可相連接。具體地,多個區塊可依次相連接來形成分支。其中,分支意味著多個區塊線性相連接的多個區塊的集合。圖2中示出了在這種分支中兩個區塊相連接的狀態。
參照圖2,在分支中,任意的一個區塊200在分支內與之前生成的區塊100相連接。區塊200通過包含之前生成的區塊100的散列值來相連接。具體地,區塊200可通過在區塊頭210中包含之前生成的區塊100的散列值來相連接。
如上所述,之前生成的區塊100的散列值可為之前區塊100的整體或所選擇的一部分的資訊的散列值。例如,如圖2所示,之前區塊100的散列值可定義為之前區塊的區塊頭110的資訊的散列值。之前區塊的散列值可根據設計區塊的人的喜好及判斷以多種方式變更。
參照圖3至圖6來對本發明一實施例的區塊鏈系統的數據進行說明。
本發明的區塊鏈系統包括多個區塊。一個區塊包含一個數據。其中,數據意味著一個區塊所包含的資訊的單位集合。具體地,區塊的區塊本體可包含數據。
區塊鏈系統的區塊所包含的數據可區分為第一型數據及第二型數據。第一型數據相當於不基於其他數據的數據。第二型數據相當於基於第一型數據的數據。
參照圖3,第一型數據10可為與生成新資料有關的數據。而且,第二型數據20可為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的數據。其中,現有資料意味著第一型數據10所生成的資料。
以下,舉例說明第一型數據和第二型數據的不同之處。
首先,參照圖4,數據可為與數位內容有關的資訊。數位內容意味著由數位資訊構成的所有形態的內容。例如,數位內容可為圖像、影像、聲音、文本、編程代碼、電子表格等,並不限定於所羅列的上述內容。在此情況下,第一型數據10可為與新數位內容有關的資訊,第二型數據20可為基於已生成的數位內容的資訊。其中,例如,第二型數據20可為與已生成的數位內容的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊。其中,已生成的數位內容意味著第一型數據10所生成的數位內容。
並且,參照圖5,數據可為與檔案有關的資訊。檔案意味著由數位資訊構成的所有形態的檔案。例如,檔案可包括文本、圖像及表等。並且,檔案可包括與相關人員的審批及協議等有關的資訊。在此情況下,第一型數據10可為與生成新檔案有關的資訊,第二型數據20可為基於已生成的檔案的資訊。其中,例如,第二型數據20可為與已生成的檔案的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊。同時,第二型數據20可為與對已生成的檔案進行審批、協議、退回等有關的資訊。其中,已生成的檔案意味著第一型數據10所生成的檔案。
並且,參照圖6,數據可為與帳戶有關的資訊。在此情況下,第一型數據10可為與生成新帳戶有關的資訊,第二型數據20可為與已生成的帳戶的交易有關的資訊。其中,已生成的帳戶意味著第一型數據10所生成的帳戶。
並且,除上述內容之外,數據可為交易、人事、生產履歷、設計、附圖、聲音、編程代碼等。而且,第一型數據及第二型數據也可根據這種多種多樣的種類來區分。第一型數據及第二型數據並不限定於上述內容。
參照圖7,對構成圖8至圖9及圖11至圖15所示的區塊鏈的區塊進行簡要說明。
如參照圖1及圖2進行的說明,區塊包括區塊頭和區塊本體。但是,為了說明的便利性,圖8至圖9及圖11至圖15中以圖7所示的方式顯示個別區塊。
參照圖7,在對一個區塊進行說明的過程中,顯示區塊的標題、之前區塊的散列值、相應區塊的散列值及區塊所包括的數據。在沿著上下方向排列的4格表中,在第一格顯示區塊的標題,在第二格顯示之前區塊的散列值,在第三格顯示相應區塊的散列值,在最後一格顯示數據。
區塊的標題以如Bn或Bnm的形態顯示。區塊的標題為Bn意味著上述區塊為主分支的第n個區塊。而且,區塊的標題為Bnm意味著上述區塊為從主分支的第n個區塊分支的子分支的第m個第二型區塊。一種子分支的第m個第二型區塊相當於上述子分支的第m+1個區塊。
一種區塊的散列值利用稱為H的記號顯示。例如,區塊的標題為Bnm的區塊的散列值以Hnm顯示。參照圖7,區塊的標題為Bnm的區塊的之前區塊為區塊的標題為Bn(m-1)的區塊,之前區塊的散列值為Hn(m-1)。
以下,參照圖8對說明上述區塊的標題、散列值的記號等的同時提出的主分支、子分支、第二型區塊等進行詳細說明。
參照圖8,對本發明一實施例的區塊鏈系統進行說明。圖8為本發明一實施例的區塊鏈系統的例示圖。
本發明的區塊鏈系統包括多個區塊。一個區塊包含一個數據。如上所述,數據可區分為第一型數據10及第二型數據20。區塊可根據所包含的數據的種類區分為第一型區塊100-1及第二型區塊100-2。第一型區塊100-1相當於包含第一型數據10的區塊。並且,第二型區塊100-2相當於包含第二型數據20的區塊。
本發明的區塊鏈系統包括主分支1000及至少一個子分支2000。其中,分支意味著多個區塊以線性相連接的多個區塊的集合。
主分支1000包括最初生成的區塊(genesis block)及與其相連接的至少一個連接區塊。在主分支1000中,在最初生成的區塊中連接區塊並不沿著一方向分支而是相連接。可以從主分支1000分支來形成其他分支,但是,所分支的多個區塊並不包括於主分支1000。所分支的多個區塊可包括於後述的子分支2000,以下,對此進行說明。
主分支1000由多個第一型區塊100-1構成。即,主分支1000所包括的最初生成的區塊及連接區塊均相當於第一型區塊100-1。主分支1000所包括的多個區塊根據所生成的順序依次相連接。區塊的連接通過相應區塊包含之前生成的區塊的至少一部分的散列值來實現。在圖8中通過區塊之間的箭頭來顯示上述連接形態。因此,除最初生成的區塊之外,一個第一型區塊包含之前生成的第一型區塊的至少一部分的散列值。
子分支2000為從主分支1000分支而形成的分支。子分支2000包括根塊(root block)及與其相連接的至少一個連接區塊。根塊為還包括於主分支1000的區塊,為子分支2000的分支開始的區塊。根塊相當於在相應子分支2000最初生成的區塊(genesis block)。
其中,根塊相當於第一型區塊100-1。而且,子分支2000所包括的連接區塊相當於第二型區塊100-2。一個子分支2000所包括的多個區塊根據所生成的順序依次相連接。區塊的連接通過相應區塊包含之前生成的區塊的至少一部分的散列值來實現。因此,在一個子分支2000最初生成的連接區塊(第 二型區塊)包含相應子分支2000的所連接的根塊的至少一部分的散列值。並且,在一個子分支2000中未最初生成的連接區塊(第二型區塊)包括於相應子分支2000,並包括之前生成的第二型區塊的至少一部分的散列值。在圖8通過區塊之間的箭頭顯示上述連接形態。
子分支2000將包括至少一個連接區塊作為條件。根據情況,可考慮沒有連接區塊並僅存在根塊的高度(長度)為一個區塊的子分支,但是,在本說明書中,在此情況下,定義為不存在上述子分支。即,為了說明的便利性,子分支2000以包括一個根塊及與其相連接的至少一個連接區塊為條件定義。
子分支2000可形成一個或兩個以上。子分支2000能夠以在一個根塊中延伸一個或兩個以上的形態形成。但是,為了說明的便利性,在附圖及以下內容中以在一個根塊中僅形成一個子分支2000為例來進行說明。但是,在本發明中,這種說明並不排除從一個根塊延伸兩個以上的子分支2000。
若一個子分支2000從一個根塊延伸而形成,則子分支2000最多可達到與主分支1000的區塊的數量相同。
在圖8中示出了區塊鏈系統由主分支和子分支構成且多個區塊由第一型區塊和第二型區塊構成的情況,根據情況,由主分支、子分支及子-子分支構成,多個區塊也可由第一型區塊、第二型區塊及第三型區塊構成。其中,子-子分支將子分支作為主分支,意味著從子分支再次分支的分支。子-子分支的根塊可為包括於子分支的第二型區塊。而且,子-子分支的連接區塊可為第三型區塊。如上所述,在本發明的區塊鏈系統中,主分支和子分支為相對的,可連環生成子分支。
根據這種區塊鏈系統,為了驗證特徵區塊,可儲存而不利用整體區塊鏈數據。具體地,當特徵區塊為第一型區塊時,節點可僅利用主分支的區塊鏈數據驗證上述特徵區塊。並且,當特徵區塊為第二型區塊時,節點可僅利用包括上述特徵區塊的子分支和主分支的區塊鏈數據來驗證上述特徵區塊。由此,可減少節點需儲存並驗證的區塊的尺寸。
以下,參照圖9來對本發明一實施例的區塊鏈系統的使用例示進行說明。
圖9為以下情況的例示,即,區塊鏈的區塊所包含的數據為與檔案有關的資訊,第一型數據為與生成新檔案有關的資訊,第二型數據為基於已 生成的檔案的資訊。其中,例如,第二型數據可為與已生成的檔案的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊。
圖9示出的區塊鏈系統儲存與7個互不相同的檔案有關的數據。在新生成上述7個(1號-7號)檔案的同時生成7個第一型區塊B1~B7,7個第一型區塊B1~B7分別儲存與生成新檔案有關的數據。7個第一型區塊B1~B7以生成的順序相連接來形成主分支1000。並且,圖9所示的區塊鏈系統包括在7個第一型區塊中從5個區塊B1、B2、B3、B4、B6延伸的5個子分支。
參與這種區塊鏈系統的A節點假設為僅與3號檔案相關的節點。A節點可要求驗證與3號檔案的最終變更有關的數據。在此情況下,A節點僅儲存3號子分支2300所包括的區塊和主分支1000所包括的區塊,可利用其來驗證與3號檔案的最終變更有關的數據。
這具有降低A節點需要驗證並儲存的區塊鏈的尺寸的優點。具體地,在上述例示中,A節點僅儲存12個區塊(主分支1000的7個第一型區塊及3號子分支2300的5個第二型區塊)儲存並驗證其。但是,在以往的區塊鏈系統中需儲存並驗證整體區塊鏈。在此情況下,在上述例示中,A節點需儲存最多26個區塊並驗證其。因此,借助本發明的區塊鏈系統具有減少參與區塊鏈的節點的儲存空間負擔和計算負擔的效果。
以下,參照圖10至圖15對本發明一實施例的利用區塊鏈的數據管理方法進行說明。
以下所說明的利用區塊鏈的數據管理方法涉及參照圖1至圖9利用上述區塊鏈系統管理數據的方法。因此,為了說明的便利,將省略與區塊鏈系統有關的說明和所重複的內容中的一部分。
本發明的利用區塊鏈的數據管理方法為利用區塊鏈管理與數據有關的事件的方法。其中,事件意味著節點對數據進行一種作業。本發明的利用區塊鏈的數據管理方法為通過區塊鏈儲存並管理根據上述事件生成的數據的方法。
區塊鏈所管理的事件可區分為第一型事件及第二型事件。第一型事件相當於不基於現有數據的事件。第二型事件相當於基於現有數據的事件。
具體地,第一型事件可為與生成新資料有關的事件,第二型事件可為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的事件。
以下,舉例說明第一型事件和第二型事件的不同之處。
首先,數據可為與數位內容有關的資訊。在此情況下,第一型事件可為與生成新數位內容有關的事件,第二型事件可為基於已生成的數位內容的事件。其中,例如,第二型事件可為與對已生成的數位內容進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的事件。
並且,數據可為與檔案有關的資訊。在此情況下,第一型事件可為與生成新檔案有關的事件,第二型事件可為基於已生成的檔案的事件。其中,第二型事件可為與對已生成的檔案進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的事件。
並且,數據可為與帳戶有關的資訊。在此情況下,第一型事件可為與生成新帳戶有關的事件,第二型事件可為與已生成的帳戶的交易有關的事件。
並且,除上述內容以外,數據可為交易、人事、生產履歷、設計、附圖、聲音、編程代碼等。而且,第一型事件及第二型事件也可根據這種多種多樣的種類來區分。第一型事件及第二型事件並不限定於上述內容。
圖10為用於說明本發明一實施例的利用區塊鏈的數據管理方法的順序圖。
參照圖10,利用區塊鏈的數據管理方法包括準備主分支的步驟S100、判斷事件的種類的步驟S200、使主分支延伸的步驟S510、搜索根塊的步驟S300、判斷子分支是否存在的步驟S400、生成子分支的步驟S520及使子分支延伸的步驟S530。
以下,參照圖11至圖15對利用區塊鏈的數據管理方法所包括的各步驟進行詳細說明。圖11至圖15以數據為與檔案有關的資訊為例示出。
首先,對準備主分支的步驟S100進行說明。準備主分支的步驟S100為準備至少一個區塊根據每個區塊的生成順序相連接的主分支的步驟。在對區塊鏈系統進行說明的過程中,如上所述,主分支由包含第一型數據的第一型區塊構成。
參照圖11,區塊鏈包括主分支。具體地,區塊鏈為準備有由6個第一型區塊B1~B6構成的主分支的狀態。在圖11的區塊鏈中,6個(1號-6號)檔案的根據所生成的事件的數據包含在每個區塊並被管理。
本發明的利用區塊鏈的數據管理方法涉及在準備有主分支的狀態下產生新事件的情況下利用區塊鏈管理基於所產生的事件的數據的方法。
若產生事件,則進行判斷事件的種類的步驟S200。事件可為第一型事件或第二型事件。
若產生上述第一型事件,則進行使主分支延伸的步驟S510。使主分支延伸的步驟S510為以與主分支的最後區塊相連接的方式生成包含基於所產生的第一型事件的數據的區塊的步驟。新生成的區塊與現有主分支相連接來使主分支延伸。
所要生成區塊的節點生成包含基於所產生的第一型事件的數據的區塊本體。而且,將區塊本體的散列值向區塊頭插入。並且,可向所要新生成的區塊的區塊頭插入現有主分支的最後區塊的至少一部分的散列值。
區塊頭包含區塊本體的散列值及現有主分支的最後區塊的至少一部分的散列值等。而且,所要生成區塊的節點搜索滿足區塊生成條件的隨機數,將所搜索的隨機數向區塊頭插入來生成區塊。
參照圖12對所產生的事件為第一型事件的情況進行說明。圖12為用於說明在圖11的區塊鏈狀態下產生生成7號新檔案的第一型事件的情況下管理基於其的數據的方法的圖。
參照圖12,新生成包含基於生成7號檔案的第一型事件的數據的區塊B7。所生成的區塊B7與現有主分支的最後區塊B6相連接來使主分支延伸。新生成的區塊B7包含現有主分支的最後區塊的至少一部分的散列值H6。
以下,對產生的事件為第二型事件的情況進行說明。若產生第二型事件,則進行搜索根塊的步驟S300。搜索根塊的步驟S300為搜索包含基於所產生的第二型事件所作為基礎的數據的區塊的步驟。根塊可為主分支所包括的區塊中的一種。
若搜索根塊,則進行判斷是否存在始於所搜索的根塊並與主分支區分的子分支的步驟S400。若不存在子分支,則進行生成子分支的步驟S520。若存在子分支,則進行使上述子分支延伸的步驟S530。
以下,對生成子分支的步驟S520進行說明。若不存在始於根塊並與主分支區分的子分支,則進行生成子分支的步驟S520。生成子分支的步驟S520為以與根塊相連接的方式生成包含基於所產生的第二型事件的數據的區塊的步驟。新生成的區塊與根塊相連接來生成子分支。
所要生成區塊的節點生成包含基於所產生的第二型事件的數據的區塊本體。而且,將區塊本體的散列值向區塊頭插入。並且,可向所要新生成的區塊的區塊頭插入根塊的至少一部分的散列值。
區塊頭包含區塊本體的散列值及根塊的至少一部分的散列值等。而且,所要生成區塊的節點搜索滿足區塊生成條件的隨機數,並將所搜索的隨機數向區塊頭插入來生成區塊。
參照圖13,對所產生的事件為第二型事件並不存在子分支的情況進行說明。圖13為用於說明在圖12的區塊鏈狀態下產生5號檔案被修改的第二型事件的情況下管理根據其的數據的方法的圖。
若產生5號檔案被修改的第二型事件,則進行搜索包括基於所產生的第二型事件的數據的根塊的步驟S300。參照圖13,在上述步驟S300中利用根塊搜索包含基於生成5號檔案的事件的數據的區塊B5。
若搜索根塊,則進行判斷是否存在始於所搜索的根塊B5並與主分支區分的子分支的步驟S400。參照圖13,在上述步驟S400中判斷為不存在始於根塊B5的子分支。
若不存在子分支,則進行生成子分支的步驟S510。參照圖13,新生成包含基於5號檔案被修改的第二型事件的數據的區塊B51。所生成的區塊B51與所搜索的根塊B5相連接來生成子分支。新生成的區塊B51包含根塊的至少一部分的散列值H5。
以下,對使子分支延伸的步驟S520進行說明。若存在始於根塊並與主分支區分的子分支,則進行使子分支延伸的步驟S520。使子分支延伸的步驟S520為以與上述子分支的最後相連接的方式生成包含基於所產生的第二型事件的數據的區塊的步驟。新生成的區塊與子分支相連接來使子分支延伸。
所要生成區塊的節點生成包含基於所產生的第二型事件的數據的區塊本體。而且,將區塊本體的散列值向區塊頭插入。並且,可向所要新生成的區塊的區塊頭插入子分支的最後區塊的至少一部分的散列值。
區塊頭包含區塊本體的散列值及子分支的最後區塊的至少一部分的散列值等。而且,所要生成區塊的節點搜索滿足區塊生成條件的隨機數,將所搜索的隨機數向區塊頭插入來生成區塊。
參照圖14及圖15,對所產生的事件為第二型事件並存在子分支的情況進行說明。一方面,圖14為示出在圖13的區塊鏈狀態下產生多個第二型事件來生成並延伸多個子分支的狀態的圖。在這種圖14的區塊鏈狀態下,假設產生新第二型事件進行說明。
圖15為用於說明在圖14的區塊鏈狀態下產生查詢3號檔案的第二型事件的情況下管理根據其的數據的方法的圖。
若產生查詢3號檔案的第二型事件,則進行搜索包括基於所產生的第二型事件的數據的根塊的步驟S300。參照圖15,在上述步驟S300中利用根塊搜索包含根據生成3號檔案的事件的數據的區塊B3。
若搜索根塊,則進行判斷是否存在始於根塊B3並與主分支區分的子分支的步驟S400。參照圖15,在上述步驟S400中判斷為存在始於根塊B3的子分支。
若存在子分支,則進行使子分支延伸的步驟S530。參照圖15,新生成包含根據查詢3號檔案的第二型事件的數據的區塊B35。所生成的區塊B35以與始於所搜索的根塊B3的子分支的最後區塊B34相連接的方式生成。在新生成的區塊B35包含子分支的最後區塊的至少一部分的散列值H34。
根據上述利用區塊鏈的數據管理方法,可形成包括一個主分支和至少一個子分支的區塊鏈並利用其來管理數據。若利用上述區塊鏈,則在驗證一個區塊的數據的過程中僅需要包括上述區塊的子分支及主分支的區塊。因此,可減少參與區塊鏈的多個節點需儲存並驗證的區塊的尺寸。
以上,對本發明的區塊鏈系統及利用區塊鏈的數據管理方法的多個實施例進行了說明。本發明並不限定於上述實施例及附圖,可在本發明所屬技術領域的普通技術人員的觀點上進行多種修改及變形。因此,本發明的範圍需根據包括本說明書的發明要求保護範圍在內的與發明要求保護範圍等同的內容來定義。
Claims (24)
- 一種區塊鏈系統,一個區塊包含一個數據,管理兩個以上的數據,其中,上述數據區分為不基於其他數據的第一型數據及基於上述第一型數據的第二型數據,上述區塊鏈系統包括:一主分支,包括多個第一型區塊,多個上述第一型區塊包含多個上述第一型數據,多個上述第一型區塊根據每個區塊的生成順序相連接;以及至少一個子分支,包括多個第二型區塊,多個上述第二型區塊包含多個上述第二型數據,多個上述第二型區塊將一個第一型區塊作為根塊來連接,其中,一個子分支包括作為第一型區塊的根塊及至少一個第二型區塊,上述至少一個第二型區塊包含第二型數據,上述第二型數據以上述根塊所包含的第一型數據作為基礎,以及其中,上述一個子分支的至少一個第二型區塊根據每個區塊的生成順序相連接,在上述一個子分支中最初生成的第二型區塊與根塊相連接。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,在上述主分支中,一個第一型區塊包含之前生成的第一型區塊的至少一部分的散列值。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,在上述一個子分支中最初生成的第二型區塊包含與之相連接的根塊的至少一部分的散列值。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,上述子分支包括在上述一個子分支中未最初生成的第二型區塊,並包含之前生成的第二型區塊的至少一部分的散列值。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,上述第一型數據為與生成新資料有關的數據,以及其中,上述第二型數據為與對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的數據。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,上述數據為與數位內容有關的資訊, 其中,上述第一型數據為與新數位內容有關的資訊,以及其中,上述第二型數據為基於已生成的數位內容的資訊。
- 如申請專利範圍第6項所述之區塊鏈系統,其中,上述第二型數據為與對已生成的數位內容的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊
- 如申請專利範圍第1項所述之區塊鏈系統,其中,上述數據為與檔案有關的資訊,其中,上述第一型數據為與生成新檔案有關的資訊,以及其中,上述第二型數據為基於已生成的檔案的資訊。
- 如申請專利範圍第8項所述之區塊鏈系統,其中,上述第二型數據為與對已生成的檔案的修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的資訊。
- 如申請專利範圍第1項所述之區塊鏈系統,其中,上述數據為與帳戶有關的資訊,其中,上述第一型數據為與生成新帳戶有關的資訊,以及其中,上述第二型數據為與已生成的帳戶的交易有關的資訊。
- 一種利用區塊鏈的數據管理方法,一個區塊包含一個數據,利用區塊鏈來管理與兩個以上的數據有關的事件,其中,上述事件區分為不基於現有數據的第一型事件及基於現有數據的第二型事件,上述利用區塊鏈的數據管理方法包括:準備至少一個區塊根據每個區塊的生成順序相連接的主分支的步驟;在產生第二型事件的情況下在上述主分支搜索包含被上述第二型事件作為基礎的數據的根塊的步驟;以及在不存在始於上述根塊並與上述主分支區分的子分支的情況下以與上述根塊相連接的方式生成包含基於上述第二型事件的數據的區塊來生成子分支的步驟。
- 如申請專利範圍第11項所述之數據管理方法,其中,生成上述子分支的步驟包括使上述根塊的至少一部分的散列值向所要生成的區塊的區塊頭插入的步驟。
- 如申請專利範圍第11項所述之數據管理方法,其中,生成上述子分支的步驟包括判斷是否存在始於上述根塊並與上述主分支區分的子分支的步驟。
- 如申請專利範圍第11項所述之數據管理方法,其中,還包括在存在始於上述根塊並與上述主分支區分的子分支的情況下以與上述子分支的最後區塊相連接的方式生成包含基於上述第二型事件的數據的區塊來使上述子分支延伸的步驟。
- 如申請專利範圍第14項所述之數據管理方法,其中,使上述子分支延伸的步驟包括使上述子分支的最後區塊的至少一部分的散列值向所要生成的區塊的區塊頭插入的步驟。
- 如申請專利範圍第14項所述之數據管理方法,其中,使上述子分支延伸的步驟包括判斷是否存在始於上述根塊並與上述主分支區分的子分支的步驟。
- 如申請專利範圍第11項所述之數據管理方法,其中,還包括在產生第一型事件的情況下以與上述主分支的最後區塊相連接的方式生成包含基於上述第一型事件的數據的區塊來使上述主分支延伸的步驟。
- 如申請專利範圍第17項所述之數據管理方法,其中,使上述主分支延伸的步驟包括使上述主分支的最後區塊的至少一部分的散列值向所要生成的區塊的區塊頭插入的步驟。
- 如申請專利範圍第11項所述之數據管理方法,其中,上述第一型事件為與生成新資料有關的事件,以及其中,上述第二型事件為對現有資料進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的事件。
- 如申請專利範圍第11項所述之數據管理方法, 其中,上述數據為與數位內容有關的資訊,其中,上述第一型事件為與生成新數位內容有關的事件,以及其中,上述第二型事件為基於已生成的數位內容的事件。
- 如申請專利範圍第20項所述之數據管理方法,其中,上述第二型事件為與對已生成的數位內容進行修改、變更、刪除、丟棄、查詢及傳遞中的至少一種有關的事件。
- 如申請專利範圍第11項所述之數據管理方法,其中,上述數據為與檔案有關的資訊,其中,上述第一型事件為與生成新檔案有關的事件,以及其中,上述第二型事件為基於已生成的檔案的事件。
- 如申請專利範圍第22項所述之數據管理方法,其中,上述第二型事件為與對已生成的檔案進行修改、變更、刪除、查詢及傳遞中的至少一種有關的事件。
- 如申請專利範圍第11項所述之數據管理方法,其中,上述數據為與帳戶有關的資訊,其中,上述第一型事件為與生成新帳戶有關的事件,以及其中,上述第二型事件為與已生成的帳戶的交易有關的事件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170059270A KR101964692B1 (ko) | 2017-05-12 | 2017-05-12 | 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 |
??10-2017-0059270 | 2017-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201901481A true TW201901481A (zh) | 2019-01-01 |
Family
ID=64105265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107113746A TW201901481A (zh) | 2017-05-12 | 2018-04-23 | 區塊鏈系統及利用區塊鏈的數據管理方法 |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR101964692B1 (zh) |
SG (1) | SG10201803837VA (zh) |
TW (1) | TW201901481A (zh) |
WO (1) | WO2018207974A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102128661B1 (ko) * | 2018-11-22 | 2020-06-30 | 주식회사 포스코아이씨티 | 이중 레이어 블록체인 시스템 |
KR102188718B1 (ko) * | 2018-11-29 | 2020-12-08 | 롯데정보통신 주식회사 | 블록체인 기반 결제중개 시스템 및 방법 |
WO2020138532A1 (ko) * | 2018-12-27 | 2020-07-02 | 서강대학교 산학협력단 | 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법 |
KR102189667B1 (ko) * | 2019-04-24 | 2020-12-11 | 인제대학교 산학협력단 | 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 |
KR102189668B1 (ko) * | 2019-04-24 | 2020-12-11 | 인제대학교 산학협력단 | 탈중앙화된 계층적 다중 블록체인 방법 |
WO2020153552A1 (ko) * | 2019-01-22 | 2020-07-30 | 인제대학교 산학협력단 | 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치 |
CN109918402A (zh) * | 2019-01-31 | 2019-06-21 | 平安科技(深圳)有限公司 | 基于区块链的教育证明获取方法、装置、计算机设备 |
KR102330005B1 (ko) | 2019-03-11 | 2021-11-24 | 순천향대학교 산학협력단 | 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 xgs 주입 방법 |
KR20210005446A (ko) | 2019-07-05 | 2021-01-14 | 삼성디스플레이 주식회사 | 전자 장치 및 이의 제조 방법 |
KR102348741B1 (ko) * | 2019-09-16 | 2022-01-07 | 손종희 | 블록체인 기반의 전자영수증 관리 장치 및 방법 |
KR102332814B1 (ko) * | 2019-12-11 | 2021-11-29 | 지송학 | 데이터 자기주권화를 위한 블록체인 구조를 포함하는 블록체인 시스템 |
KR102267560B1 (ko) * | 2020-11-13 | 2021-06-21 | 주식회사 케이사인 | 블록 체인에 저장되는 데이터 크기를 축소할 수 있는 데이터의 변경 이력 관리 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9608829B2 (en) | 2014-07-25 | 2017-03-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
US20170300877A1 (en) * | 2014-09-23 | 2017-10-19 | Spondoolies Tech Ltd. | System and method for providing shared hash engines architecture for a bitcoin block chain |
KR101660627B1 (ko) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | 암호화 화폐의 거래를 보호하는 방법 및 장치 |
KR101701131B1 (ko) | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
KR101727525B1 (ko) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
-
2017
- 2017-05-12 KR KR1020170059270A patent/KR101964692B1/ko active IP Right Grant
- 2017-09-13 WO PCT/KR2017/010017 patent/WO2018207974A1/ko active Application Filing
-
2018
- 2018-04-23 TW TW107113746A patent/TW201901481A/zh unknown
- 2018-05-07 SG SG10201803837VA patent/SG10201803837VA/en unknown
Also Published As
Publication number | Publication date |
---|---|
KR20180124541A (ko) | 2018-11-21 |
WO2018207974A1 (ko) | 2018-11-15 |
SG10201803837VA (en) | 2018-12-28 |
KR101964692B1 (ko) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201901481A (zh) | 區塊鏈系統及利用區塊鏈的數據管理方法 | |
KR102017739B1 (ko) | 블록체인 시스템 및 블록체인 생성 방법 | |
US11604787B2 (en) | Method of generating globally verifiable unique identifiers using a scalable interlinked blockchain structure | |
JP6811350B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
US11973869B2 (en) | Maintaining blocks of a blockchain in a partitioned blockchain network | |
JP2022037089A (ja) | ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム | |
CN109165221A (zh) | 区块链的数据存储方法、装置、区块链节点及存储介质 | |
US20190318103A1 (en) | Secure initiation and transfer of a cryptographic database and/or a cryptographic unit | |
CN113435896B (zh) | 一种交易验证方法、装置、设备及存储介质 | |
CN111209591B (zh) | 一种按时间排序的存储结构与快速查询的方法 | |
CN106776904A (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
CN110263584A (zh) | 一种基于区块链的数据完整性审计方法和系统 | |
EP3769233B1 (en) | Performing map iterations in a blockchain-based system | |
US11232234B2 (en) | Method for sharing and verifying blocks and electronic documents between nodes in blockchain | |
CN115769206A (zh) | 密码化数据录入区块链数据结构 | |
CN109918375A (zh) | 一种基于区块链和分布式存储的大文本存储、索引及检索方法 | |
CN110493323A (zh) | 基于区块链的公平性文件分发方法、系统及存储介质 | |
CN114328518A (zh) | 基于utxo模型的低存储消耗的方法和系统 | |
KR102349014B1 (ko) | 고속 동기화 가능 탈중앙화 분산 데이터베이스 구성 방법 및 시스템 | |
KR20190020721A (ko) | 블록체인 시스템 및 블록체인 생성 방법 | |
CN113810185B (zh) | 一种抗陷门泄露的链上数据修复系统及方法 | |
US20230129227A1 (en) | System and method for generating a table-driven mutable blockchain | |
US20190305934A1 (en) | System and methods for recording codes in a distributed environment | |
JP7348878B2 (ja) | 分散台帳管理方法、分散台帳システム、およびノード | |
CN113468549A (zh) | 基于区块链的加密信息存证的检索方法、系统及电子设备 |