TWI629884B - 基於區塊鏈的節點推舉系統及其方法 - Google Patents
基於區塊鏈的節點推舉系統及其方法 Download PDFInfo
- Publication number
- TWI629884B TWI629884B TW106102072A TW106102072A TWI629884B TW I629884 B TWI629884 B TW I629884B TW 106102072 A TW106102072 A TW 106102072A TW 106102072 A TW106102072 A TW 106102072A TW I629884 B TWI629884 B TW I629884B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- voting
- node
- account
- block
- Prior art date
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一種基於區塊鏈的節點推舉系統及其方法,透過在創世區塊中產生存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址,以便在節點的帳號地址為管理者帳號地址時,允許發布投票智能合約至區塊鏈網路,以及在節點的帳號地址為驗證者帳號地址時,允許根據投票智能合約進行投票以選出候選地址,接著根據投票結果,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一進行新增或刪除,用以在認許制(Permissioned)的區塊鏈環境中,提高節點的維護便利性之技術功效。
Description
本發明涉及一種推舉系統及其方法,特別是在認許制的區塊鏈環境中,以投票方式選出節點,用以進行新增或刪除之基於區塊鏈的節點推舉系統及其方法。
近年來,隨著區塊鏈技術的普及與蓬勃發展,各種基於區塊鏈的應用便如雨後春筍般出現,其中,又以認許制的區塊鏈最受金融業矚目。
一般而言,認許制的區塊鏈和非認許制的區塊鏈,其差異在於前者並非所有人都可以成為區塊鏈網路中的節點,其作法通常是將某個公開網路網段,或是私有網路網段,設定為可運行區塊鏈的範圍,接著再預先設定那些節點可以成為合法的節點。有別於公有鏈允許任何節點加入成為合法節點,以及私有鏈允許讓某個網路網段中的所有節點皆成為區塊鏈網路中的合法節點,認許制的區塊鏈可以僅允許指定的節點成為區塊鏈網路中的合法節點(即:認證節點,或稱為驗證者節點),以避免來路不明或未授權的節點成為區塊鏈網路中的合法節點,進而提高區塊鏈網路的安全性及可用性。然而,此一方式由於是透過預先設定的方式實現,對於後續的維護,如:新增及刪除節點,都必須逐一更改設定,導致非常不便於維護,故在認許制的區塊鏈環境中,具有節點的維護便利性不佳的問題。
綜上所述,可知先前技術中長期以來一直存在認許制的區塊鏈環境中,節點的維護便利性不佳之問題,因此實有必要提出改進的技術手段,來解決此一問題。
本發明揭露一種基於區塊鏈的節點推舉系統及其方法。
首先,本發明揭露一種基於區塊鏈的節點推舉系統,應用在組成認許制的區塊鏈網路的多個節點中,每一節點具有相同內容的區塊鏈及具唯一性的帳號地址,此系統包含:初始模組、讀取模組、投票模組、驗證模組及推舉模組。其中,初始模組用以於初始時,根據預設的創世區塊定義檔產生創世區塊以作為區塊鏈的頭端,並且同時在創世區塊中產生具有存取清單合約地址的存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址;讀取模組用以根據存取清單合約地址讀取區塊鏈中的存取清單智能合約,並且分別將管理者帳號地址及驗證者帳號地址儲存至管理者陣列及驗證者陣列;投票模組用以在帳號地址為管理者陣列內的所述管理者帳號地址其中之一時,允許發布投票智能合約至區塊鏈網路,並且將投票智能合約的投票合約地址記錄在存取清單智能合約中作為所述管理者帳號地址,以及在帳號地址為驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據投票智能合約進行投票以選出候選地址;驗證模組用以持續讀取每一節點產生的區塊的區塊標頭以進行驗證,當區塊標頭中的區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據區塊鏈網路的共識演算法決定是否連結至區塊鏈的尾端;推舉模組用以在投票結束後,由所述節點其中之一驅動投票智能合約執行投票結果,以根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址。
另外,本發明揭露一種基於區塊鏈的節點推舉方法,應用在組成認許制的區塊鏈網路的多個節點中,每一節點具有相同內容的區塊鏈及具唯一性的帳號地址,其步驟包括:於初始時,所述節點根據預設的創世區塊定義檔產生創世區塊以作為區塊鏈的頭端,並且同時在創世區塊中產生具有存取清單合約地址的存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址;所述節點根據存取清單合約地址讀取區塊鏈中的存取清單智能合約,並且分別將管理者帳號地址及驗證者帳號地址儲存至管理者陣列及驗證者陣列;當節點的帳號地址為管理者陣列內的所述管理者帳號地址其中之一時,允許發布投票智能合約至區塊鏈網路,並且將投票智能合約的投票合約地址記錄在存取清單智能合約中作為管理者帳號地址,以及當帳號地址為驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據投票智能合約進行投票以選出候選地址;所述節點持續讀取每一節點產生的區塊的區塊標頭以進行驗證,當區塊標頭中的區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據區塊鏈網路的共識演算法決定是否連結至區塊鏈的尾端;在投票結束後,由所述節點其中之一驅動投票智能合約執行投票結果,以根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址。
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過在創世區塊中產生存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址,以便在節點的帳號地址為管理者帳號地址時,允許發布投票智能合約至區塊鏈網路,以及在節點的帳號地址為驗證者帳號地址時,允許根據投票智能合約進行投票以選出候選地址,接著根據投票結果,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一進行新增或刪除。
透過上述的技術手段,本發明可以在認許制的區塊鏈環境中,達成提高節點的維護便利性不佳之技術功效。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
在說明本發明所揭露之基於區塊鏈的節點推舉系統及其方法之前,先對本發明所應用的環境作說明,本發明係應用在組成認許制的區塊鏈網路的多個節點中,每一個節點具有相同內容的區塊鏈及具唯一性的帳號地址,不同節點會根據其帳號地址存在於存取清單智能合約中記錄的管理者帳號地址或驗證者帳號地址而有不同身分,舉例來說,假設節點的帳號地址在管理者帳號地址中,則此節點可視為具有管理者(Administrator)權限的管理者節點,用以新增或刪除所述存取清單智能合約中記錄的管理者帳號地址及驗證者帳號地址至少其中之一;假設節點的帳號地址在驗證者帳號地址中,則此節點可視為具有驗證者(Validator)權限的驗證者節點,用以投票和產生及驗證區塊鏈網路的區塊供區塊鏈網路中的其他所有節點驗證,其驗證方式是透過各種共識演算法,如:工作量證明(Proof of Work, PoW)、權益證明(Proof of Stake, PoS)、拜占庭容錯(Practical Byzantine Fault Tolerance, PBFT)等等,用以決定是否將產生的區塊加入區塊鏈的尾端,其中還包含檢查此區塊是否為驗證者節點所產生,倘若非驗證者節點所產生,則不允許加入區塊鏈的尾端且丟棄此區塊。
以下配合圖式對本發明基於區塊鏈的節點推舉系統及其方法做進一步說明,請先參閱「第1圖」,「第1圖」為本發明基於區塊鏈的節點推舉系統之系統方塊圖,應用在組成認許制的區塊鏈網路100的多個節點110中,每一節點110具有相同內容的區塊鏈及具唯一性的帳號地址,此系統包含:初始模組111、讀取模組112、投票模組113、驗證模組114及推舉模組115。其中,初始模組111用以於初始時,節點110根據預設的創世區塊定義檔(例如:「genesis.json」)產生創世區塊(Genesis Block)以作為區塊鏈的頭端,並且同時在創世區塊中產生具有存取清單合約地址的存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址。在實際實施上,存取清單智能合約可由管理者節點透過交易方式更新其記錄的管理者帳號地址及驗證者帳號地址,例如:管理者帳號地址為:「0x26b3792fd2b4cfc255d780bef419d56299df6a36」;驗證者帳號地址為:「0x5529ceacd642054dec7a7b9b1111c7be950865e2」。特別要說明的是,至少需要預先設定一個管理者帳號地址在「genesis.json」中,以避免之後無法變更存取清單智能合約的內容。除此之外,所述節點110皆為具有網路連線能力且透過點對點(Peer to Peer)方式連接的計算機裝置,例如:伺服器、電腦主機、筆記型電腦、平板電腦等等,用以執行電腦程式指令,如:區塊鏈程式「Ethereum」。
讀取模組112用以根據存取清單合約地址讀取區塊鏈中的存取清單智能合約,並且分別將管理者帳號地址及驗證者帳號地址儲存至管理者陣列及驗證者陣列。在實際實施上,所述管理者陣列及驗證者陣列皆是指用以儲存從區塊鏈中讀取到的管理者帳號地址及驗證者帳號地址的記憶體空間,換句話說,管理者陣列及驗證者陣列的內容是可以變化的,可視為一個變數。
投票模組113用以在帳號地址為管理者陣列內的其中一個管理者帳號地址時,允許發布投票智能合約至區塊鏈網路100,並且將投票智能合約的投票合約地址記錄在存取清單智能合約中作為管理者帳號地址,以及在帳號地址為驗證者陣列內的其中一個驗證者帳號地址時,允許根據投票智能合約進行投票以選出候選地址。在實際實施上,投票模組113發布投票智能合約可透過交易方式發布至區塊鏈網路100,至於將投票智能合約的投票合約地址記錄在存取清單智能合約中作為管理者帳號地址的理由,是為了在驅動投票智能合約執行投票結果時,能夠擁有管理者權限以在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址,使帳號地址為候選地址的節點成為管理者節點或驗證者節點,或是從管理者節點或驗證者節點中刪除,稍後將配合圖式對新增或刪除選出的候選地址作詳細說明。另外,所述投票智能合約可包含:新增或刪除的常數、目的地、候選地址、投票成員、截止區塊編號及投票門檻等等,例如當區塊鏈的尾端區塊編號小於截止區塊編號時,允許所述投票成員投票,當區塊鏈的尾端區塊編號大於或等於截止區塊編號時,結束投票並允許執行投票結果,其中,當投票數量小於預設的投票門檻時,禁止在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址,也就是說未達投票門檻的投票智能合約即使執行了也不會對存取清單智能合約造成任何改變;當投票數量等於或大於投票門檻時,倘若常數為新增(例如:以數值1代表新增;數值0代表刪除)、目的地為驗證者帳號清單(例如:以字串「Administrator」代表管理者帳號清單;以字串「Validator」代表驗證者帳號清單),那麼,投票模組113會透過交易方式,將候選地址新增至存取清單智能合約中的記錄驗證者帳號地址的位置(或稱為驗證者帳號清單),反之,倘若常數為刪除、目的地為驗證者帳號清單,那麼,投票模組113會透過交易方式,從存取清單智能合約中記錄驗證者帳號地址的位置,刪除與候選地址相同的驗證者帳號地址,並以此類推,在目的地為管理者帳號清單時,以同樣的方式進行新增或刪除。
驗證模組114用以持續讀取每一節點110產生的區塊(Block)的區塊標頭(Block Header)以進行驗證,當區塊標頭中的區塊生成地址為所述驗證者帳號地址其中之一時,代表所述區塊是由合法的驗證者節點產生,所以可以通過驗證,接著,根據區塊鏈網路100的共識演算法來決定是否將合法的驗證者節點所產生的區塊連結至區塊鏈的尾端,假設產生的區塊通過區塊鏈網路100的共識演算法達成共識(Consensus),則加入區塊鏈的尾端;反之,假設產生的區塊未達成共識,則不加入區塊鏈的尾端。在實際實施上,驗證模組114驗證所述區塊時,當區塊標頭中的區塊生成地址並非驗證者帳號地址其中之一時,則丟棄所述區塊。如此一來,可以避免非法的節點成為區塊鏈網路100中的一員。
推舉模組115用以在投票結束後,由所述節點110其中之一驅動投票智能合約執行投票結果,以根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址。在實際實施上,執行投票結果僅能在投票結束區塊之後,並且此投票智能合約不曾被執行過的情況下才能被執行。其判斷是否在投票結束區塊之後的方式,是當區塊鏈的尾端區塊編號大於或等於預設的截止區塊編號時,即判斷為在投票結束區塊之後;反之則是判斷為在投票結束區塊之前。另外,驅動投票智能合約執行投票結果的節點110可以是管理者節點或驗證者節點。
接著,請參閱「第2圖」,「第2圖」為本發明基於區塊鏈的節點推舉方法之方法流程圖,應用在組成認許制的區塊鏈網路100的多個節點110中,每一節點110具有相同內容的區塊鏈及具唯一性的帳號地址,其步驟包括:於初始時,所述節點110根據預設的創世區塊定義檔產生創世區塊以作為區塊鏈的頭端,並且同時在創世區塊中產生具有存取清單合約地址的存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址(步驟210);所述節點110根據存取清單合約地址讀取區塊鏈中的存取清單智能合約,並且分別將管理者帳號地址及驗證者帳號地址儲存至管理者陣列及驗證者陣列(步驟220);當節點110的帳號地址為管理者陣列內的所述管理者帳號地址其中之一時,允許發布投票智能合約至區塊鏈網路100,並且將投票智能合約的投票合約地址記錄在存取清單智能合約中作為管理者帳號地址,以及當帳號地址為驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據投票智能合約進行投票以選出候選地址(步驟230);所述節點110持續讀取每一節點110產生的區塊的區塊標頭以進行驗證,當區塊標頭中的區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據區塊鏈網路100的共識演算法決定是否連結至區塊鏈的尾端(步驟240);在投票結束後,由所述節點110其中之一驅動投票智能合約執行投票結果,以根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址(步驟250)。透過上述步驟,即可透過在創世區塊中產生存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址,以便在節點110的帳號地址為管理者帳號地址時,允許發布投票智能合約至區塊鏈網路100,以及在節點110的帳號地址為驗證者帳號地址時,允許根據投票智能合約進行投票以選出候選地址,接著根據投票結果,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一進行新增或刪除。
以下配合「第3圖」及「第4圖」以實施例的方式進行如下說明,請先參閱「第3圖」,「第3圖」為應用本發明以投票選出候選地址之示意圖。當節點110的帳號地址為驗證者陣列內的驗證者帳號地址其中之一時,代表此節點110為驗證者節點,允許根據投票智能合約進行投票以選出候選地址。在實際實施上,可在節點110顯示投票視窗300,此投票視窗300可顯示投票主題、候選地址311(例如:「0xe00b2aef041d33fac8cb74c9d32159422950a35」)、投票門檻(例如:數值50)、同意按鍵321及反對按鍵322。使用者可點選同意按鍵321選擇同意此候選地址加入驗證者節點,或是點選反對按鍵322不同意此候選地址加入驗證者節點。假設投票數量大於或等於投票門檻,並且同意數量大於反對數量,即代表選出此候選地址;假設投票數量小於投票門檻,或同意數量小於反對數量,即代表未選出此候選地址。在另一實施例中,亦可同時顯示多個候選地址,提供使用者批量選擇同意或反對,甚至還可預先設定投票成員,限定只有投票成員才能進行投票,其設定投票成員的方式同樣是以記錄帳號地址來實現。特別要說明的是,無論使用者點選同意按鍵321或反對按鍵322,皆僅能在投票結束區塊產生之前,並且從未在此投票智能合約投過票的情況下才會生效。
如「第4圖」所示意,「第4圖」為應用本發明在存取清單智能合約中新增或刪除選出的候選地址之示意圖。假設存取清單智能合約中記錄的管理者帳號地址及驗證者帳號地址如「第4圖」所示意的存取清單智能合約411,以上述實施例而言,推舉模組115在投票結束後,假設選出的候選地址為:「0xe00b2aef041d33fac8cb74c9d32159422950a35」,可根據投票主題,如:「新增驗證者節點」,以交易方式根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的驗證者帳號地址中,新增選出的候選地址,也就是說,在新增後的存取清單智能合約412中,其儲存驗證者帳號地址的位置會增加一筆帳號地址(即:選出的候選地址)。相對地,假設投票主題為「刪除驗證者節點」,那麼,將以交易方式根據已經作為管理者帳號地址的投票合約地址,在存取清單智能合約中的驗證者帳號地址中,刪除與選出的候選地址相同的驗證者帳號地址。同樣地,新增或刪除管理者帳號地址也是使用相同方式,差別僅在於其在管理者帳號地址中進行新增或刪除,故在此不再多作贅述。如此一來,即可藉由修改存取清單智能合約中所記錄的管理者帳號地址及驗證者帳號地址,方便地維護區塊鏈網路100中的所有節點110。要補充說明的是,在實際實施上,除了上述以投票方式選出候選地址之外,亦可透過智能合約交易,使用管理者帳號地址直接新增或刪除存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一。
綜上所述,可知本發明與先前技術之間的差異在於透過在創世區塊中產生存取清單智能合約以記錄管理者帳號地址及驗證者帳號地址,以便在節點110的帳號地址為管理者帳號地址時,允許發布投票智能合約至區塊鏈網路100,以及在節點110的帳號地址為驗證者帳號地址時,允許根據投票智能合約進行投票以選出候選地址,接著根據投票結果,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一進行新增或刪除,藉由此一技術手段可以解決先前技術所存在的問題,進而在認許制的區塊鏈環境中,達成提高節點110的維護便利性之技術功效。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
100‧‧‧區塊鏈網路
110‧‧‧節點
111‧‧‧初始模組
112‧‧‧讀取模組
113‧‧‧投票模組
114‧‧‧驗證模組
115‧‧‧推舉模組
300‧‧‧投票視窗
311‧‧‧候選地址
321‧‧‧同意按鍵
322‧‧‧反對按鍵
411、412‧‧‧存取清單智能合約
步驟210‧‧‧於初始時,節點根據預設的一創世區塊定義檔產生一創世區塊以作為區塊鏈的頭端,並且同時在該創世區塊中產生具有一存取清單合約地址的一存取清單智能合約以記錄至少一管理者帳號地址及至少一驗證者帳號地址
步驟220‧‧‧所述節點根據該存取清單合約地址讀取該區塊鏈中的該存取清單智能合約,並且分別將所述管理者帳號地址及所述驗證者帳號地址儲存至一管理者陣列及一驗證者陣列
步驟230‧‧‧當所述節點的帳號地址為該管理者陣列內的所述管理者帳號地址其中之一時,允許發布一投票智能合約至區塊鏈網路,並且將該投票智能合約的一投票合約地址記錄在該存取清單智能合約作為所述管理者帳號地址,以及當該帳號地址為該驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據該投票智能合約進行投票以選出至少一候選地址
步驟240‧‧‧所述節點持續讀取每一節點產生的多個區塊的一區塊標頭以進行驗證,當該區塊標頭中的一區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據該區塊鏈網路的共識演算法決定是否連結至該區塊鏈的尾端
步驟250‧‧‧在投票結束後,由所述節點其中之一驅動該投票智能合約執行投票結果,以根據已作為所述管理者帳號地址的該投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址
110‧‧‧節點
111‧‧‧初始模組
112‧‧‧讀取模組
113‧‧‧投票模組
114‧‧‧驗證模組
115‧‧‧推舉模組
300‧‧‧投票視窗
311‧‧‧候選地址
321‧‧‧同意按鍵
322‧‧‧反對按鍵
411、412‧‧‧存取清單智能合約
步驟210‧‧‧於初始時,節點根據預設的一創世區塊定義檔產生一創世區塊以作為區塊鏈的頭端,並且同時在該創世區塊中產生具有一存取清單合約地址的一存取清單智能合約以記錄至少一管理者帳號地址及至少一驗證者帳號地址
步驟220‧‧‧所述節點根據該存取清單合約地址讀取該區塊鏈中的該存取清單智能合約,並且分別將所述管理者帳號地址及所述驗證者帳號地址儲存至一管理者陣列及一驗證者陣列
步驟230‧‧‧當所述節點的帳號地址為該管理者陣列內的所述管理者帳號地址其中之一時,允許發布一投票智能合約至區塊鏈網路,並且將該投票智能合約的一投票合約地址記錄在該存取清單智能合約作為所述管理者帳號地址,以及當該帳號地址為該驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據該投票智能合約進行投票以選出至少一候選地址
步驟240‧‧‧所述節點持續讀取每一節點產生的多個區塊的一區塊標頭以進行驗證,當該區塊標頭中的一區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據該區塊鏈網路的共識演算法決定是否連結至該區塊鏈的尾端
步驟250‧‧‧在投票結束後,由所述節點其中之一驅動該投票智能合約執行投票結果,以根據已作為所述管理者帳號地址的該投票合約地址,在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址
第1圖為本發明基於區塊鏈的節點推舉系統之系統方塊圖。 第2圖為本發明基於區塊鏈的節點推舉方法之方法流程圖。 第3圖為應用本發明以投票選出候選地址之示意圖。 第4圖為應用本發明在存取清單智能合約中新增或刪除選出的候選地址之示意圖。
Claims (10)
- 一種基於區塊鏈的節點推舉系統,應用在組成認許制的一區塊鏈網路的多個節點中,每一節點具有相同內容的一區塊鏈及具唯一性的一帳號地址,該系統包含: 一初始模組,用以於初始時,根據預設的一創世區塊定義檔產生一創世區塊以作為該區塊鏈的頭端,並且同時在該創世區塊中產生具有一存取清單合約地址的一存取清單智能合約以記錄至少一管理者帳號地址及至少一驗證者帳號地址; 一讀取模組,用以根據該存取清單合約地址讀取該區塊鏈中的該存取清單智能合約,並且分別將所述管理者帳號地址及所述驗證者帳號地址儲存至一管理者陣列及一驗證者陣列; 一投票模組,用以在該帳號地址為該管理者陣列內的所述管理者帳號地址其中之一時,允許發布一投票智能合約至該區塊鏈網路,並且將該投票智能合約的一投票合約地址記錄在該存取清單智能合約作為所述管理者帳號地址,以及在該帳號地址為該驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據該投票智能合約進行投票以選出至少一候選地址; 一驗證模組,用以持續讀取每一節點產生的多個區塊的一區塊標頭以進行驗證,當該區塊標頭中的一區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據該區塊鏈網路的共識演算法決定是否連結至該區塊鏈的尾端;以及 一推舉模組,用以在投票結束後,由所述節點其中之一驅動該投票智能合約執行投票結果,以根據已作為所述管理者帳號地址的該投票合約地址,在該存取清單智能合約中的所述管理者帳號地址及所述驗證者帳號地址至少其中之一,新增或刪除選出的所述候選地址。
- 根據申請專利範圍第1項之基於區塊鏈的節點推舉系統,其中該驗證模組驗證所述區塊時,當該區塊標頭中的該區塊生成地址並非所述驗證者帳號地址其中之一時,丟棄所述區塊。
- 根據申請專利範圍第1項之基於區塊鏈的節點推舉系統,其中所述節點的該帳號地址為所述管理者帳號地址其中之一時,作為一管理者節點,所述節點的該帳號地址為所述驗證者帳號地址其中之一時,作為一驗證者節點,該管理者節點用以新增或刪除所述管理者帳號地址及所述驗證者帳號地址至少其中之一,該驗證者節點用以產生及驗證該區塊鏈網路的所述區塊。
- 根據申請專利範圍第1項之基於區塊鏈的節點推舉系統,其中該投票智能合約包含所述候選地址、至少一投票成員、一截止區塊編號及一投票門檻,當該區塊鏈的一尾端區塊編號小於該截止區塊編號時,允許所述投票成員投票,當該區塊鏈的該尾端區塊編號大於等於該截止區塊編號時,結束投票並允許執行投票結果。
- 根據申請專利範圍第4項之基於區塊鏈的節點推舉系統,其中當投票數量小於該投票門檻時,禁止在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址。
- 一種基於區塊鏈的節點推舉方法,應用在組成認許制的一區塊鏈網路的多個節點中,每一節點具有相同內容的一區塊鏈及具唯一性的一帳號地址,其步驟包括: 於初始時,所述節點根據預設的一創世區塊定義檔產生一創世區塊以作為該區塊鏈的頭端,並且同時在該創世區塊中產生具有一存取清單合約地址的一存取清單智能合約以記錄至少一管理者帳號地址及至少一驗證者帳號地址; 所述節點根據該存取清單合約地址讀取該區塊鏈中的該存取清單智能合約,並且分別將所述管理者帳號地址及所述驗證者帳號地址儲存至一管理者陣列及一驗證者陣列; 當所述節點的該帳號地址為該管理者陣列內的所述管理者帳號地址其中之一時,允許發布一投票智能合約至該區塊鏈網路,並且將該投票智能合約的一投票合約地址記錄在該存取清單智能合約作為所述管理者帳號地址,以及當該帳號地址為該驗證者陣列內的所述驗證者帳號地址其中之一時,允許根據該投票智能合約進行投票以選出至少一候選地址; 所述節點持續讀取每一節點產生的多個區塊的一區塊標頭以進行驗證,當該區塊標頭中的一區塊生成地址為所述驗證者帳號地址其中之一時,所述區塊通過驗證,並且根據該區塊鏈網路的共識演算法決定是否連結至該區塊鏈的尾端;以及 在投票結束後,由所述節點其中之一驅動該投票智能合約執行投票結果,以根據已作為所述管理者帳號地址的該投票合約地址,在該存取清單智能合約中的所述管理者帳號地址及所述驗證者帳號地址至少其中之一,新增或刪除選出的所述候選地址。
- 根據申請專利範圍第6項之基於區塊鏈的節點推舉方法,其中所述區塊的驗證步驟中,當該區塊標頭中的該區塊生成地址並非所述驗證者帳號地址其中之一時,丟棄所述區塊。
- 根據申請專利範圍第6項之基於區塊鏈的節點推舉方法,其中所述節點的該帳號地址為所述管理者帳號地址其中之一時,作為一管理者節點,所述節點的該帳號地址為所述驗證者帳號地址其中之一時,作為一驗證者節點,該管理者節點用以新增或刪除所述管理者帳號地址及所述驗證者帳號地址至少其中之一,該驗證者節點用以產生及驗證該區塊鏈網路的所述區塊。
- 根據申請專利範圍第6項之基於區塊鏈的節點推舉方法,其中該投票智能合約包含所述候選地址、至少一投票成員、一截止區塊編號及一投票門檻,當該區塊鏈的一尾端區塊編號小於該截止區塊編號時,允許所述投票成員投票,當該區塊鏈的該尾端區塊編號大於等於該截止區塊編號時,結束投票並允許執行投票結果。
- 根據申請專利範圍第9項之基於區塊鏈的節點推舉方法,其中當投票數量小於該投票門檻時,禁止在存取清單智能合約中的管理者帳號地址及驗證者帳號地址至少其中之一,新增或刪除選出的候選地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106102072A TWI629884B (zh) | 2017-01-20 | 2017-01-20 | 基於區塊鏈的節點推舉系統及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106102072A TWI629884B (zh) | 2017-01-20 | 2017-01-20 | 基於區塊鏈的節點推舉系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI629884B true TWI629884B (zh) | 2018-07-11 |
TW201828648A TW201828648A (zh) | 2018-08-01 |
Family
ID=63640673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106102072A TWI629884B (zh) | 2017-01-20 | 2017-01-20 | 基於區塊鏈的節點推舉系統及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI629884B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639416A (zh) * | 2018-12-21 | 2019-04-16 | 深圳市网心科技有限公司 | 一种验证人节点确定方法、系统、装置及计算机存储介质 |
CN110168582A (zh) * | 2018-11-30 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 使用去中心化决策更新区块链智能合约 |
CN110493187A (zh) * | 2019-07-10 | 2019-11-22 | 布比(北京)网络技术有限公司 | 一种区块链的验证节点选举方法及系统 |
TWI743719B (zh) * | 2019-08-30 | 2021-10-21 | 開曼群島商創新先進技術有限公司 | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359973A (zh) * | 2018-08-24 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 基于区块链的数据存证方法和装置 |
TWI682346B (zh) * | 2018-11-12 | 2020-01-11 | 柯賓漢數位金融科技有限公司 | 區塊鏈的產生方法及系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201602933A (zh) * | 2014-04-14 | 2016-01-16 | 21公司 | 數位貨幣探勘電路 |
TW201627889A (zh) * | 2014-10-31 | 2016-08-01 | 21公司 | 具有共用處理邏輯之數位貨幣採礦電路 |
US20160300222A1 (en) * | 2015-04-07 | 2016-10-13 | Modernity Financial Holdings, Ltd. | Off network identity tracking in anonymous cryptocurrency exchange networks |
TW201643783A (zh) * | 2015-05-06 | 2016-12-16 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
-
2017
- 2017-01-20 TW TW106102072A patent/TWI629884B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201602933A (zh) * | 2014-04-14 | 2016-01-16 | 21公司 | 數位貨幣探勘電路 |
TW201627889A (zh) * | 2014-10-31 | 2016-08-01 | 21公司 | 具有共用處理邏輯之數位貨幣採礦電路 |
US20160300222A1 (en) * | 2015-04-07 | 2016-10-13 | Modernity Financial Holdings, Ltd. | Off network identity tracking in anonymous cryptocurrency exchange networks |
TW201643783A (zh) * | 2015-05-06 | 2016-12-16 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
Non-Patent Citations (3)
Title |
---|
https://www.ithome.com.tw/news/105374 * |
iTHome,"區塊鏈運作原理大剖析:5大關鍵技術",20160423 * |
iTHome,"區塊鏈運作原理大剖析:5大關鍵技術",20160423。 https://www.ithome.com.tw/news/105374 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168582A (zh) * | 2018-11-30 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 使用去中心化决策更新区块链智能合约 |
CN109639416A (zh) * | 2018-12-21 | 2019-04-16 | 深圳市网心科技有限公司 | 一种验证人节点确定方法、系统、装置及计算机存储介质 |
CN109639416B (zh) * | 2018-12-21 | 2022-09-02 | 深圳市迅雷网络技术有限公司 | 一种验证人节点确定方法、系统、装置及计算机存储介质 |
CN110493187A (zh) * | 2019-07-10 | 2019-11-22 | 布比(北京)网络技术有限公司 | 一种区块链的验证节点选举方法及系统 |
TWI743719B (zh) * | 2019-08-30 | 2021-10-21 | 開曼群島商創新先進技術有限公司 | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 |
Also Published As
Publication number | Publication date |
---|---|
TW201828648A (zh) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI629884B (zh) | 基於區塊鏈的節點推舉系統及其方法 | |
JP7177576B2 (ja) | ブロックチェーン台帳のためのランタイム自己修正 | |
US11171782B2 (en) | Identity and electronic signature verification in blockchain | |
JP7426475B2 (ja) | 分散化されたデータ認証 | |
US11157833B2 (en) | Learning service blockchain | |
US20210328814A1 (en) | Blockchain integrated stations and automatic blockchain construction methods and apparatuses | |
CN115210741B (zh) | 部分有序的区块链 | |
US11296863B2 (en) | Blockchain enterprise data management | |
US20190207751A1 (en) | Blockchain enterprise data management | |
CN110275891B (zh) | 人工智能软件市场 | |
JP2021525931A (ja) | ブロックチェーンのための効率的な検証 | |
US20210328813A1 (en) | Blockchain integrated stations and automatic node adding methods and apparatuses | |
JP6571609B2 (ja) | ブロックチェーンを作成するシステム及びプログラム | |
US11082409B2 (en) | Verifying message authenticity with decentralized tamper-evident logs | |
WO2020037927A1 (zh) | 可协商的区块链交易方法、装置、设备及存储介质 | |
WO2021169767A1 (zh) | 一种数据处理方法、装置、设备及介质 | |
US20230042916A1 (en) | System and method for secure peer-to-peer transmission of content in distributed ledger neworks | |
WO2021114796A1 (zh) | 用于更新多层块链式结构中的信任点的方法及装置 | |
US20210067739A1 (en) | Systems and methods of using a blockchain to secure a building management system | |
WO2023185862A1 (zh) | 基于区块链系统的多方计算方法和系统 | |
CN112948847B (zh) | 基于区块链的数据共享系统及数据正确性验证方法 | |
US20240205291A1 (en) | New data content packet, system and method for secure updating in distributed ledger networks | |
CN111159286B (zh) | 用于生成多层块链式结构的方法及装置 | |
US20240314131A1 (en) | Access gateway system for accessing a resource | |
US20240223388A1 (en) | Method and system for atomic, consistent and accountable cross-chain rewriting |