TWI614713B - Smart contract version control system and method thereof based on blockchain - Google Patents

Smart contract version control system and method thereof based on blockchain Download PDF

Info

Publication number
TWI614713B
TWI614713B TW106102323A TW106102323A TWI614713B TW I614713 B TWI614713 B TW I614713B TW 106102323 A TW106102323 A TW 106102323A TW 106102323 A TW106102323 A TW 106102323A TW I614713 B TWI614713 B TW I614713B
Authority
TW
Taiwan
Prior art keywords
version
contract
smart contract
control
entity
Prior art date
Application number
TW106102323A
Other languages
Chinese (zh)
Other versions
TW201828215A (en
Inventor
林祐德
林子圻
陳政浩
謝宏濤
陳岱鈴
Original Assignee
現代財富控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 現代財富控股有限公司 filed Critical 現代財富控股有限公司
Priority to TW106102323A priority Critical patent/TWI614713B/en
Application granted granted Critical
Publication of TWI614713B publication Critical patent/TWI614713B/en
Publication of TW201828215A publication Critical patent/TW201828215A/en

Links

Abstract

一種基於區塊鏈的智能合約版本控管系統,藉由版本控管節點的控管模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,使用節點的應用程式透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,讓應用程式依據取得的最新註冊的版本號與合約地址取得最新版本的該智能合約之實體,以達成應用程式欲取得最新版本的智能合約之實體時,不需因智能合約的版本更新而被強迫更新之技術功效。A blockchain-based smart contract version control system that uses a control module of a version control node to register different versions of smart contracts through a control contract to register the corresponding contract address and version number, and use the node application to control The entity that obtains the control contract and obtains the latest registered version number and contract address from the entity that controls the contract, so that the application can obtain the latest version of the smart contract entity based on the latest registered version number and contract address obtained. In order to achieve an application to obtain the latest version of the smart contract entity, there is no need to be forced to update the technical effect due to the update of the smart contract version.

Description

基於區塊鏈的智能合約版本控管系統及其方法Blockchain-based intelligent contract version control system and method thereof

本發明涉及一種版本控管系統及其方法,特別是基於區塊鏈的智能合約版本控管系統及其方法。The invention relates to a version control system and a method thereof, in particular to a blockchain based intelligent contract version control system and a method thereof.

近年來,由於區塊鏈具有難以竄改、交易透明等特性,各種基於區塊鏈的應用便如雨後春筍般出現。其中,區塊鏈應用於智能合約的相關技術成為備受關注的議題之一。In recent years, due to the difficult to tamper with the blockchain and the transparency of transactions, various blockchain-based applications have sprung up. Among them, the related technology of blockchain applied to smart contracts has become one of the topics of great concern.

當區塊鏈應用於智能合約時,實際上就是將智能合約的程式碼包含在交易的資料欄位中並發送到區塊鏈網路,透過區塊鏈網路中的節點將包含智能合約的程式碼製作成區塊並廣播該區塊,以供其他節點進行驗證,通過驗證的區塊即可發布於區塊鏈網路。When the blockchain is applied to a smart contract, the code of the smart contract is actually included in the data field of the transaction and sent to the blockchain network. The nodes in the blockchain network will contain the smart contract. The code is made into a block and broadcasts the block for verification by other nodes, and the verified block can be published on the blockchain network.

舉例而言,在Ethereum所發布的協定版本中,只要該交易沒有設定收方地址(recipient),區塊鏈網路即視此交易為發布智能合約交易,經過驗證後產生對應的合約地址(contract address),該合約地址即智能合約的參照地址,使用節點的應用程式即可透過該合約地址取得該智能合約實體,並執行該智能合約。For example, in the version of the agreement issued by Ethereum, as long as the transaction does not set a recipient address, the blockchain network will treat the transaction as a smart contract transaction, and after verification, the corresponding contract address will be generated (contract) Address), the contract address is the reference address of the smart contract, and the application of the node can obtain the smart contract entity through the contract address and execute the smart contract.

然而,區塊鏈應用於智能合約時,因為區塊鏈具有難以竄改的特性,使得已發布的智能合約沒有機會進行更改。因此,當智能合約可能存在錯誤需進行修復或智能合約需要新增功能,需重新發布修復或新增功能的智能合約。但是,一旦重新發布修復或新增功能的智能合約後,使用節點的應用程式也需相應進行更新,以取得最新的智能合約之合約地址。However, when a blockchain is applied to a smart contract, the blockchain has a hard-to-tamper feature that makes the published smart contract have no chance to change. Therefore, when a smart contract may have an error that needs to be fixed or a smart contract requires new features, a smart contract with a fix or new feature needs to be re-released. However, once the smart contract with fixes or new features is re-released, the application using the node will also need to be updated accordingly to obtain the latest smart contract contract address.

綜上所述,可知先前技術中長期以來一直存在當使用節點的應用程式欲取得更新版本的智能合約時,應用程式因智能合約的版本更新而被強迫更新之問題,因此實有必要提出改進的技術手段,來解決此一問題。In summary, it has been known in the prior art that for a long time, when an application that uses a node wants to obtain an updated version of a smart contract, the application is forced to update due to the update of the smart contract version, so it is necessary to propose an improvement. Technical means to solve this problem.

本發明揭露一種基於區塊鏈的智能合約版本控管系統及其方法。The invention discloses a blockchain-based intelligent contract version control system and a method thereof.

首先,本發明揭露一種基於區塊鏈的智能合約版本控管系統,此系統包含:版本控管節點、多個驗證節點及使用節點。其中,版本控管節點包含控管模組,用以發布不同版本的智能合約,並依據不同版本的智能合約分別產生區塊鏈交易,其中,控管模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,每一版本的智能合約係參照先前版本的智能合約。多個驗證節點用以接收該些區塊鏈交易,該些驗證節點其中之一驗證節點將該些區塊鏈交易依序寫入區塊後提供其他驗證節點進行驗證,驗證區塊的驗證節點將通過驗證的區塊發布於區塊鏈網路中。使用節點包含應用程式,用以透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,再透過取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體。First, the present invention discloses a blockchain-based smart contract version control system, which includes: a version control node, a plurality of verification nodes, and a use node. The version control node includes a control module for issuing different versions of the smart contract, and respectively generating blockchain transactions according to different versions of the smart contract, wherein the control module passes different versions of the smart contract through the control The contract address and version number corresponding to the contract registration. Each version of the smart contract refers to the previous version of the smart contract. The plurality of verification nodes are configured to receive the blockchain transactions, and one of the verification nodes sends the blockchain transactions to the block in sequence to provide other verification nodes for verification, and verify the verification nodes of the blocks. The verified block is published in the blockchain network. Use the node to include the application to obtain the entity of the control contract through the control address, and obtain the latest registered version number and contract address through the entity that controls the contract, and obtain the latest version through the latest registered version number and contract address. The entity of the version of the smart contract.

另外,本發明揭露一種基於區塊鏈的智能合約版本控管方法,其步驟包括:版本控管節點發布不同版本的智能合約,並依據不同版本的智能合約分別產生區塊鏈交易;版本控管節點將區塊鏈交易提供區塊鏈網路上的多個驗證節點,該些驗證節點其中之一驗證節點將區塊鏈交易依序寫入區塊,並將區塊提供其他驗證節點進行驗證;驗證區塊的驗證節點將通過驗證的區塊發布於區塊鏈網路中;版本控管節點的控制模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,其中,每一版本的智能合約係參照先前版本的智能合約;使用節點的應用程式透過控管地址取得控管合約之實體;應用程式透過控管合約之實體取得最新註冊的版本號與合約地址;以及應用程式透過取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體。In addition, the present invention discloses a blockchain-based smart contract version control method, the steps of which include: a version control node issues different versions of smart contracts, and generates blockchain transactions according to different versions of smart contracts; version control The node provides the blockchain transaction to a plurality of verification nodes on the blockchain network, and one of the verification nodes verifies that the blockchain transaction is sequentially written into the block, and the block provides other verification nodes for verification; The verification node of the verification block is posted in the blockchain network through the verified block; the control module of the version control node registers the corresponding contract address and version number of the different versions of the smart contract through the control contract, wherein Each version of the smart contract refers to the previous version of the smart contract; the application that uses the node obtains the entity that controls the contract through the control address; the application obtains the latest registered version number and contract address through the entity that controls the contract; The program obtains the latest version of the smart contract entity by obtaining the latest registered version number and contract address.

本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是藉由版本控管節點的控管模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,使用節點的應用程式透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,讓應用程式依據取得的最新註冊的版本號與合約地址取得最新版本的該智能合約之實體。The system and method disclosed in the present invention are different from the prior art in that the present invention uses the control module of the version control node to register different versions of the smart contract through the control contract to register the corresponding contract address and version number. The application of the node obtains the entity of the control contract through the control address and obtains the latest registered version number and contract address through the entity that controls the contract, so that the application obtains the latest version based on the latest registered version number and contract address obtained. The entity of the smart contract.

透過上述的技術手段,本發明可以達成應用程式欲取得最新版本的智能合約之實體時,不需因智能合約的版本更新而被強迫更新之技術功效。Through the above technical means, the present invention can achieve the technical effect of being forced to update due to the update of the version of the smart contract when the application wants to obtain the latest version of the smart contract entity.

以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。The embodiments of the present invention will be described in detail below with reference to the drawings and embodiments, so that the application of the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented.

在說明本發明所揭露之基於區塊鏈的智能合約版本控管系統及其方法之前,先對本發明所自行定義的名詞作說明,本發明所述的版本控管節點、驗證節點及使用節點係透過區塊鏈網路相互連結,版本控管節點、驗證節點及使用節點具有相同的元件與結構(即版本控管節點、驗證節點及使用節點皆可包含控管模組與應用程式),在一實施例中,不同節點的差異在於版本控管節點擁有一組金鑰對,版本控管節點藉由該組金鑰對針對新版本的智能合約進行簽章,而後發布已簽章的新版本的智能合約﹔驗證節點用以驗證區塊鏈網路中其他節點所廣播的區塊內容﹔使用節點即為透過控管合約取得版本控管節點所發布的新版本智能合約之實體的節點,當使用節點的應用程式透過控管合約之實體取得已簽章的新版本的智能合約時,會先透過該組金鑰對之公鑰驗證已簽章的新版本智能合約,若使用節點的應用程式判斷已簽章的新版本智能合約係利用該組金鑰對進行簽章時,則代表已簽章的新版本智能合約由版本控管節點所發布,可執行該已簽章的新版本智能合約﹔若使用節點的應用程式判斷已簽章的新版本智能合約不是利用該組金鑰對進行簽證時,則代表已簽章的新版本智能合約不是由版本控管節點所發布,不可執行該已簽章的新版本智能合約。在另一實施例中,不同節點的差異在於版本控管節點發布新版本的智能合約﹔驗證節點用以驗證區塊鏈網路中其他節點所廣播的區塊內容﹔使用節點即為透過控管合約取得版本控管節點所發布的新版本智能合約之實體的節點,在本實施例中使用節點的應用程式信任控管合約之實體所找到的新版本智能合約的實體,所以控管合約之實體所傳回來的各種內容皆為可信內容,不需進行驗證即可執行新版本智能合約。因此,本發明所述的版本控管節點、驗證節點及使用節點因其執行不同的程序以及是否擁有所述金鑰對而扮演不同的角色。Before describing the blockchain-based smart contract version control system and method thereof disclosed in the present invention, the nouns defined by the present invention are first described, and the version control node, the verification node, and the used node system according to the present invention are described. Through the blockchain network, the version control node, the verification node, and the use node have the same components and structures (that is, the version control node, the verification node, and the use node can include the control module and the application). In one embodiment, the difference between the different nodes is that the version control node has a set of key pairs, and the version control node signs the new version of the smart contract by the set of key pairs, and then issues the signed new version. Smart contract; the verification node is used to verify the block content broadcast by other nodes in the blockchain network; the node is the node of the entity that obtains the new version of the smart contract issued by the version control node through the control contract. When a node-based application obtains a signed new version of a smart contract through an entity that controls the contract, it first authenticates with the public key of the group key pair. The new version of the signature smart contract, if the application of the node is used to judge that the new version of the smart contract signed by the signature is signed with the key pair, it represents the new version of the smart contract signed by the version control node Released, the new version of the smart contract can be executed; if the application using the node determines that the new version of the smart contract that has been signed does not use the key pair to apply for a visa, it represents the new version of the signed smart The contract is not issued by the version control node, and the new version of the smart contract that is signed may not be executed. In another embodiment, the difference between the different nodes is that the version control node issues a new version of the smart contract; the verification node is used to verify the block content broadcast by other nodes in the blockchain network; the use of the node is through the control The contract acquires the entity of the entity of the new version of the smart contract issued by the version control node. In this embodiment, the application of the node trusts the entity of the new version of the smart contract found by the entity of the control contract, so the entity that controls the contract The various content that is sent back is trusted content, and the new version of the smart contract can be executed without verification. Therefore, the version control node, the verification node, and the use node of the present invention play different roles because they execute different programs and whether or not they have the key pair.

此外,本發明所述基於區塊鏈的智能合約版本控管系統所包含的版本控管節點、驗證節點及使用節點可以利用各種方式來實現,包括軟體、硬體、韌體或其任意組合,本發明的範圍在此方面不受限制。在實施中提出的技術使用軟體或韌體可以被儲存在機器可讀儲存媒體上,例如:唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁盤儲存媒體、光儲存媒體、快閃記憶體裝置等等,並且可以由一個或多個通用或專用的可程式化微處理器執行。In addition, the version control node, the verification node, and the use node included in the blockchain-based smart contract version control system of the present invention can be implemented in various manners, including software, hardware, firmware, or any combination thereof. The scope of the invention is not limited in this respect. The techniques used in the implementation of the software or firmware can be stored on a machine readable storage medium, such as read only memory (ROM), random access memory (RAM), disk storage media, optical storage media, fast. A flash memory device or the like, and can be executed by one or more general purpose or special purpose programmable microprocessors.

以下配合圖式對本發明基於區塊鏈的智能合約版本控管系統及其方法做進一步說明。需注意的是,以下實施例的說明係以各節點所扮演的角色之間相互運行的描述,該些節點並非限縮僅能扮演驗證節點、版本控管節點或使用節點,可依據每次執行的程序或是否擁有所述金鑰對而為不同的節點。The blockchain-based intelligent contract version control system and method thereof are further described below with reference to the drawings. It should be noted that the description of the following embodiments is based on the description of the roles played by the roles of the nodes, and the nodes are not limited to only play the verification node, the version control node or the use node, and can be executed according to each execution. The program or the key pair is a different node.

請先參閱「第1圖」,「第1圖」為本發明基於區塊鏈的智能合約版本控管系統之系統方塊圖,基於區塊鏈的智能合約版本控管系統之系統100包含:多個驗證節點110、版本控管節點120及使用節點130。Please refer to "Figure 1" first. "Figure 1" is the system block diagram of the blockchain-based smart contract version control system. The system 100 based on the blockchain intelligent contract version control system includes: The verification node 110, the version control node 120, and the usage node 130.

所述節點110的數量為N,N為大於2的正整數,每一節點110透過區塊鏈網路10相互連線。所述區塊鏈網路10可為網際網路、私有網路、虛擬私有網路等等。The number of the nodes 110 is N, N is a positive integer greater than 2, and each node 110 is interconnected through the blockchain network 10. The blockchain network 10 can be an internet, a private network, a virtual private network, and the like.

版本控管節點120包含控管模組50,用以發布不同版本的智能合約,並依據不同版本的智能合約分別產生區塊鏈交易,而後將該些區塊鏈交易提供區塊鏈網路10上的多個驗證節點110。其中,版本控管節點120如何發布智能合約以及如何產生區塊鏈交易如上所述,於此不再多加贅述。The version control node 120 includes a control module 50 for issuing different versions of smart contracts, and respectively generating blockchain transactions according to different versions of smart contracts, and then providing the blockchain transactions to the blockchain network 10 Multiple verification nodes 110 on it. Among them, how the version control node 120 issues the smart contract and how to generate the blockchain transaction are as described above, and will not be further described herein.

該些驗證節點110用以接收該些區塊鏈交易,該些驗證節點110其中之一驗證節點110將該些區塊鏈交易依序寫入區塊後提供其他驗證節點110進行驗證,驗證區塊的驗證節點110將通過驗證的區塊發布於區塊鏈網路10中。更詳細地說,每一驗證節點110可將該些區塊鏈交易依序寫入區塊,再透過區塊鏈網路10廣播包含該些區塊鏈交易的區塊,以讓其他驗證節點110進行驗證。The verification nodes 110 are configured to receive the blockchain transactions, and one of the verification nodes 110 verifies that the blockchain transactions are sequentially written into the blocks, and then provides other verification nodes 110 for verification, and the verification area is verified. The verification node 110 of the block publishes the verified block in the blockchain network 10. In more detail, each verification node 110 can sequentially write the blockchain transactions into the blocks, and then broadcast the blocks including the blockchain transactions through the blockchain network 10 to allow other verification nodes. 110 for verification.

為了避免智能合約被竄改,進而提高整體可靠性,多個驗證節點110會持續收取區塊鏈網路10上的區塊鏈交易,並將該些區塊鏈交易依序寫入區塊,再透過區塊鏈網路10提供給非廣播所述區塊之其他驗證節點110進行驗證,當某一區塊之後的鏈結的越長時,該區塊則越難被竄改。在實際實施上,上述智能合約的發布技術可使用習知的技術來實現,例如:Ethereum所發布的協定版本。In order to prevent the smart contract from being tampered with, thereby improving the overall reliability, the plurality of verification nodes 110 continuously collect the blockchain transactions on the blockchain network 10, and sequentially write the blockchain transactions into the blocks, and then The verification is provided through the blockchain network 10 to other verification nodes 110 that are not broadcasting the block. The longer the link after a certain block, the more difficult it is to be tampered with. In actual implementation, the above-mentioned smart contract release technology can be implemented using conventional techniques, such as the version of the agreement issued by Ethereum.

控管模組50將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,每一版本的智能合約係參照先前版本的智能合約。更詳細地說,每當版本控管節點120發布新版本的智能合約,且依據新版本的智能合約所產生的區塊鏈交易通過驗證節點110的驗證後,控管模組50將新版本的智能合約透過控管合約註冊對應的合約地址與版本號,控管合約依據註冊的時間順序依序產生對應合約地址的版本號。其中,版本號係用以定義智能合約的版本,例如:第一個進行註冊的智能合約之版本為第1版,第二個進行註冊的智能合約之版本為第2版。其中,控管合約記錄不同版本智能合約的合約地址與版本號。The control module 50 registers different versions of the smart contract through the control contract with the corresponding contract address and version number. Each version of the smart contract refers to the previous version of the smart contract. In more detail, whenever the version control node 120 issues a new version of the smart contract, and the blockchain transaction generated according to the new version of the smart contract passes the verification of the verification node 110, the control module 50 will have a new version. The smart contract registers the corresponding contract address and version number through the control contract, and the control contract sequentially generates the version number of the corresponding contract address according to the registration time sequence. The version number is used to define the version of the smart contract. For example, the version of the first smart contract to be registered is the first version, and the version of the second smart contract to be registered is the second version. Among them, the control contract records the contract address and version number of different versions of the smart contract.

此外,每一版本的智能合約係參照先前版本的智能合約。更詳細地說,每一版本的智能合約皆包含控管地址,當每一版本的智能合約需參照先前版本的智能合約時,每一版本的智能合約會透過控管地址取得控管合約之實體,並透過控管合約之實體取得參照版本的智能合約之版本號與合約地址,使得每一版本的智能合約之實體透過取得的參照版本的智能合約之版本號與合約地址取得參照版本的智能合約之實體。其中,控管地址係為控管合約的參照地址。因此,不同於習知技術中新版本的智能合約需包含其所參照的先前版本的智能合約之合約地址,而造成當智能合約的版本數成長過大時,需要大量儲存空間以儲存更新的智能合約之問題,本發明之每一版本的智能合約可透過控管合約參照先前版本的智能合約,解決上述習知技術的問題,同時使得新版本的智能合約因去除過多的變數而增加可讀性。In addition, each version of the smart contract refers to the previous version of the smart contract. In more detail, each version of the smart contract contains a control address. When each version of the smart contract needs to refer to the previous version of the smart contract, each version of the smart contract will obtain the entity that controls the contract through the control address. And obtain the version number and contract address of the reference version of the smart contract through the entity of the control contract, so that each version of the smart contract entity obtains the reference version of the smart contract through the version number and contract address of the smart version of the reference version obtained. The entity. The control address is the reference address of the control contract. Therefore, unlike the new version of the smart contract in the prior art, the contract address of the previous version of the smart contract to which it refers is included, which results in a large amount of storage space to store the updated smart contract when the number of smart contract versions grows too large. The problem is that each version of the smart contract of the present invention can solve the above-mentioned problems of the prior art by referring to the previous version of the smart contract through the control contract, and at the same time, the new version of the smart contract increases the readability by removing too many variables.

使用節點130包含應用程式132,用以透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,再透過取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體。更詳細地說,具有應用程式132的使用節點130欲取得最新版本的智能合約之實體時,由於具有應用程式132的使用節點130沒有最新版本智能合約的合約地址,而無法取得最新版本的智能合約之實體,因此,具有應用程式132的使用節點130可透過區塊鏈網路10以控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,讓使用節點130的應用程式132依據取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體。由於控管地址固定不變,因此,當具有應用程式132的使用節點130欲取得最新版本的智能合約之實體時,可透過控管地址以及控管合約之實體取得最新版本的智能合約之實體,不需因智能合約的版本更新(即版本數持續往上累加)而被強迫更新。The use node 130 includes an application 132 for obtaining the entity of the control contract through the control address, and obtaining the latest registered version number and contract address through the entity of the control contract, and then obtaining the latest registered version number and contract address. Get the latest version of the smart contract entity. In more detail, when the user node 130 having the application 132 wants to obtain the latest version of the smart contract entity, since the use node 130 having the application 132 does not have the contract address of the latest version of the smart contract, the latest version of the smart contract cannot be obtained. The entity, therefore, the usage node 130 with the application 132 can obtain the entity of the control contract by controlling the address through the blockchain network 10, and obtain the latest registered version number and contract address through the entity that controls the contract, so that The application 132 using the node 130 obtains the entity of the latest version of the smart contract based on the latest registered version number and contract address obtained. Since the control address is fixed, when the user node 130 having the application 132 wants to obtain the latest version of the smart contract entity, the entity of the latest version of the smart contract can be obtained through the entity that controls the address and the control contract. It is not required to be updated due to the version update of the smart contract (ie, the number of versions continues to accumulate).

此外,在使用節點130的應用程式132取得最新版本的智能合約之實體之後,欲執行最新版本的智能合約之實體時,由於最新版本的智能合約係參照先前版本的智能合約,因此,最新版本的智能合約之實體透過控管地址取得控管合約之實體,並透過控管合約之實體取得指定版本的智能合約之合約地址與版本號,使得最新版本的智能合約之實體透過取得的指定版本的智能合約之版本號與合約地址取得指定版本的智能合約之實體,以執行最新版本的智能合約之實體。其中,指定版本的智能合約係為最新版本的智能合約所參照的智能合約。In addition, after the entity 132 of the node 130 is used to obtain the entity of the latest version of the smart contract, when the entity of the latest version of the smart contract is executed, since the latest version of the smart contract refers to the previous version of the smart contract, the latest version is The entity of the smart contract obtains the entity of the control contract through the control address and obtains the contract address and version number of the specified version of the smart contract through the entity that controls the contract, so that the entity of the latest version of the smart contract is obtained through the specified version of the smart The version number and contract address of the contract to obtain the entity of the specified version of the smart contract to execute the entity of the latest version of the smart contract. Among them, the designated version of the smart contract is the smart contract referenced by the latest version of the smart contract.

在一實施例中,版本控管節點120更可擁有一組金鑰對,版本控管節點120藉由該組金鑰對針對新版本的智能合約進行簽章,而後發布已簽章的新版本的智能合約﹔驗證節點110用以驗證區塊鏈網路10中其他節點所廣播的區塊內容﹔使用節點130即為透過控管合約取得版本控管節點120所發布的新版本智能合約之實體的節點,當使用節點130的應用程式132透過控管合約之實體取得已簽章的新版本的智能合約時,會先透過該組金鑰對之公鑰驗證已簽章的新版本智能合約,若使用節點130的應用程式132判斷已簽章的新版本智能合約係利用該組金鑰對進行簽章時,則代表已簽章的新版本智能合約由版本控管節點120所發布,可執行該已簽章的新版本智能合約﹔若使用節點130的應用程式132判斷已簽章的新版本智能合約不是利用該組金鑰對進行簽證時,則代表已簽章的新版本智能合約不是由版本控管節點120所發布,不可執行該已簽章的新版本智能合約。In an embodiment, the version control node 120 may further have a set of key pairs, and the version control node 120 signs the new version of the smart contract by the set of key pairs, and then issues the signed new version. The smart node; the verification node 110 is used to verify the block content broadcast by other nodes in the blockchain network 10; the use node 130 is the entity that obtains the new version of the smart contract issued by the version control node 120 through the control contract. The node, when the application 132 using the node 130 obtains the signed new version of the smart contract through the entity of the control contract, first verifies the signed new version of the smart contract through the public key of the set of key pairs. If the application 132 of the node 130 determines that the signed new version of the smart contract is signed with the set of key pairs, the new version of the smart contract representing the signed one is issued by the version control node 120, and can be executed. The signed new version of the smart contract; if the application 132 of the node 130 is used to determine that the signed new version of the smart contract is not using the set of key pairs for a visa, it represents a new version of the signature Energy contracts are not issued by the Control Manager node 120 version, the new version of the smart unenforceable contract that has signature.

接著,請參閱「第2圖」,「第2圖」為本發明基於區塊鏈的智能合約版本控管方法之方法流程圖,其步驟包括:版本控管節點發布不同版本的智能合約,並依據不同版本的智能合約分別產生區塊鏈交易,其中,每一版本的智能合約係參照先前版本的智能合約(步驟210);版本控管節點將區塊鏈交易提供區塊鏈網路上的多個驗證節點,該些驗證節點其中之一驗證節點將區塊鏈交易依序寫入區塊,並將區塊提供其他驗證節點進行驗證(步驟220);驗證區塊的驗證節點將通過驗證的區塊發布於區塊鏈網路中(步驟230);版本控管節點的控制模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號(步驟240);使用節點的應用程式透過控管地址取得控管合約之實體(步驟250);應用程式透過控管合約之實體取得最新註冊的版本號與合約地址(步驟260);以及應用程式透過取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體(步驟270)。透過上述步驟,即可透過版本控管節點的控管模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,使用節點的應用程式透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,讓應用程式依據取得的最新註冊的版本號與合約地址取得最新版本的該智能合約之實體。Next, please refer to "FIG. 2", and "FIG. 2" is a flowchart of a method for controlling a smart contract version based on a blockchain according to the present invention. The steps include: the version control node issues different versions of the smart contract, and Blockchain transactions are generated separately according to different versions of smart contracts, wherein each version of the smart contract refers to a previous version of the smart contract (step 210); the version control node provides blockchain transactions to provide more on the blockchain network Verifying nodes, one of the verification nodes verifying that the blockchain transaction is sequentially written into the block, and the block provides other verification nodes for verification (step 220); the verification node of the verification block will pass the verification. The block is published in the blockchain network (step 230); the control module of the version control node registers the corresponding contract address and version number of the different versions of the smart contract through the control contract (step 240); the application using the node The entity obtains the entity that controls the contract through the control address (step 250); the application obtains the latest registered version number and contract address through the entity that controls the contract ( Step 260); and an entity (step 270) the latest version of the app to get through to obtain the latest version of the registration number and the address of the smart contract Contract. Through the above steps, the control module of the version control node can register the corresponding contract address and version number of the smart contract through the control contract, and use the application of the node to obtain the entity of the control contract through the control address. And obtain the latest registered version number and contract address through the entity that controls the contract, so that the application can obtain the latest version of the smart contract entity based on the latest registered version number and contract address obtained.

此外,基於區塊鏈的智能合約版本控管方法之步驟也可包含:最新版本的智能合約之實體透過控管地址取得控管合約之實體﹔最新版本的智能合約之實體透過控管合約之實體取得指定版本的智能合約之版本號與合約地址﹔以及最新版本的智能合約之實體透過取得的指定版本的智能合約之版本號與合約地址取得指定版本的智能合約之實體,其中,最新版本的該智能合約係參照指定版本的智能合約。透過上述步驟,最新版本的智能合約之實體即可透過控管合約之實體取得最新版本的智能合約之實體所參照之指定版本的智能合約之實體,以供應用程式執行最新版本的智能合約之實體。In addition, the steps of the blockchain-based smart contract version control method may also include: the entity of the latest version of the smart contract entity obtains the control contract through the control address; the entity of the latest version of the smart contract entity through the control contract entity Obtaining the version number and contract address of the specified version of the smart contract; and the entity of the latest version of the smart contract obtains the specified version of the smart contract by obtaining the version number and contract address of the specified version of the smart contract, wherein the latest version of the Smart contracts refer to a specified version of a smart contract. Through the above steps, the entity of the latest version of the smart contract can obtain the entity of the smart card contract of the specified version referenced by the entity of the latest version of the smart contract through the entity of the control contract to supply the entity to execute the latest version of the smart contract. .

另外,基於區塊鏈的智能合約版本控管方法更可包含:控管合約記錄具有不同版本智能合約的該些合約地址與該些版本號。再者,基於區塊鏈的智能合約版本控管方法係可利用Ethereum所發布的協定版本進行實現。In addition, the blockchain-based smart contract version control method may further include: the control contract records the contract addresses having different versions of the smart contract and the version numbers. Furthermore, the blockchain-based smart contract version control method can be implemented using the version of the agreement issued by Ethereum.

在一實施例中,基於區塊鏈的智能合約版本控管方法之步驟210更包含:版本控管節點藉由其具有的一組金鑰對針對新版本的智能合約進行簽章,而後發布已簽章的新版本的智能合約。在本實施例中,基於區塊鏈的智能合約版本控管方法之步驟更可包含:應用程式透過控管合約之實體取得最新版本的智能合約之實體後,透過版本控管節點所具有的該組金鑰對之公鑰驗證已簽章的新版本的智能合約﹔若應用程式判斷最新版本的智能合約係利用該組金鑰對進行簽章時,可執行最新版本的智能合約之實體﹔若應用程式判斷已簽章的新版本的智能合約不是利用該組金鑰對進行簽章時,不可執行最新版本的智能合約之實體。In an embodiment, the step 210 of the blockchain-based smart contract version control method further comprises: the version control node signs the new version of the smart contract by a set of key pairs it has, and then publishes the A new version of the smart contract signed. In this embodiment, the step of the blockchain-based smart contract version control method may further include: after the application obtains the latest version of the smart contract entity through the entity of the control contract, the version control node has the The public key of the group key pair verifies the new version of the smart contract that has been signed; if the application determines that the latest version of the smart contract is signed with the set of key pairs, the entity that executes the latest version of the smart contract; The application determines that a new version of the smart contract that has been signed is not an entity that does not execute the latest version of the smart contract when signing with the set of key pairs.

以下配合「第3A圖」至「第3D圖」以Solidity 智能合約程式實施的方式進行如下說明,其中,「第3A圖」為本發明之第一版本智能合約的一實施例示意圖,「第3B圖」為本發明之第一版本智能合約所參照的儲存餘額指令的一實施例示意圖,「第3C圖」為本發明之第二版本智能合約的一實施例示意圖,「第3D圖」為本發明之控管合約的一實施例示意圖。The following is a description of the implementation of the Solid Smart Contract Program in conjunction with the "3A" to "3D". The "3A" is a schematic diagram of an embodiment of the first version of the smart contract of the present invention, "3B FIG. 3 is a schematic diagram of an embodiment of a storage balance instruction referred to in the first version of the smart contract of the present invention, and FIG. 3C is a schematic diagram of an embodiment of the second version of the smart contract of the present invention, and the “3D figure” is A schematic diagram of an embodiment of a control contract of the invention.

在本實施例中, SampleCoin為一假想的數位貨幣,並以Ethereum所發布的協定版本實現本實施例。In the present embodiment, the SampleCoin is an imaginary digital currency, and the embodiment is implemented in a protocol version issued by Ethereum.

從「第3A圖」與「第3B圖」可知,在第一版本智能合約中,合約的擁有者可以發行貨幣,而貨幣擁有者可以發送貨幣給任何人,其中,第一版本智能合約之實體所參照的儲存餘額指令係用以儲存SampleCoin的餘額資料。From "3A" and "3B", in the first version of the smart contract, the owner of the contract can issue currency, and the currency owner can send money to anyone, of which the entity of the first version of the smart contract The stored balance instruction referenced is used to store the balance data of SampleCoin.

從「第3C圖」可知,第二版本智能合約除了包含第一版本智能合約之實體之外,更增加了第一版本智能合約沒有的功能,可透過函式send ( )判斷當下區塊鏈的區塊數,在產生第一百萬個區塊以前,貨幣擁有者可以發送貨幣給任何人,不需收取手續費,但在產生第一百萬個區塊之後,每次發送貨幣必須收取10個SampleCoin當作手續費。From the "3C chart", the second version of the smart contract not only includes the entity of the first version of the smart contract, but also adds the functions that the first version of the smart contract does not have. The function of the current block chain can be judged by the function send ( ). The number of blocks, before generating the first million blocks, the currency owner can send money to anyone, no charge, but after generating the first million blocks, each time you send money, you must charge 10 SampleCoin is treated as a fee.

從「第3D圖」可知,每次發布新版本的智能合約,需向控管合約註冊最新版本智能合約的合約地址,並透過函式register ( ) 將最新版本的版本號儲存於latestVersion,因此,使用節點的應用程式可透過函式getLatestVersionAddress ( ) 即可找到最新版本的智能合約之合約地址。舉例而言,假設新版本的智能合約之版本號為“2”,合約地址為“0x002”,當使用節點的應用程式欲取得該新版本的智能合約之實體時,可透過呼叫控管程式的versionRegistrar.setAddress (“2”, 0x002) 取得該新版本的智能合約之實體。From the "3D map", each time a new version of the smart contract is released, the contract version of the latest version of the smart contract is registered with the control contract, and the latest version of the version number is stored in the latest version via the register ( ), so The application using the node can find the contract address of the latest version of the smart contract through the function getLatestVersionAddress ( ). For example, suppose the new version of the smart contract has a version number of "2" and the contract address is "0x002". When the application using the node wants to obtain the entity of the new version of the smart contract, the call control program can be used. versionRegistrar.setAddress ("2", 0x002) The entity that obtained the new version of the smart contract.

綜上所述,可知本發明與先前技術之間的差異在於透過版本控管節點的控管模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號,使用節點的應用程式透過控管地址取得控管合約之實體,並透過控管合約之實體取得最新註冊的版本號與合約地址,讓應用程式依據取得的最新註冊的版本號與合約地址取得最新版本的該智能合約之實體,藉由此一技術手段可以解決先前技術所存在的問題,進而達成使用節點的應用程式欲取得最新版本的智能合約之實體時,不需因智能合約的版本更新而被強迫更新之技術功效。In summary, it can be seen that the difference between the present invention and the prior art is that the control module of the version control node registers different versions of the smart contract through the control contract with the corresponding contract address and version number, and uses the node application. The entity that obtains the control contract through the control address and obtains the latest registered version number and contract address through the entity that controls the contract, so that the application can obtain the latest version of the smart contract based on the latest registered version number and contract address obtained. The entity can solve the problems of the prior art by using a technical means, and then realize the technical effect of being forced to update due to the update of the version of the smart contract when the application using the node wants to obtain the latest version of the smart contract entity. .

雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。While the present invention has been described above in the foregoing embodiments, it is not intended to limit the invention, and the invention may be modified and modified without departing from the spirit and scope of the invention. The scope of patent protection shall be subject to the definition of the scope of the patent application attached to this specification.

10‧‧‧區塊鏈網路
50‧‧‧控管模組
100‧‧‧基於區塊鏈的智能合約版本控管系統
110‧‧‧驗證節點
120‧‧‧版本控管節點
130‧‧‧使用節點
132‧‧‧應用程式
步驟210‧‧‧版本控管節點發布不同版本的智能合約,並依據不同版本的智能合約分別產生區塊鏈交易,其中,每一版本的智能合約係參照先前版本的智能合約
步驟220‧‧‧版本控管節點將區塊鏈交易提供區塊鏈網路上的多個驗證節點,該些驗證節點其中之一驗證節點將區塊鏈交易依序寫入區塊,並將區塊提供其他驗證節點進行驗證
步驟230‧‧‧驗證區塊的驗證節點將通過驗證的區塊發布於區塊鏈網路中
步驟240‧‧‧版本控管節點的控制模組將不同版本的智能合約透過控管合約註冊對應的合約地址與版本號
步驟250‧‧‧使用節點的應用程式透過控管地址取得控管合約之實體
步驟260‧‧‧應用程式透過控管合約之實體取得最新註冊的版本號與合約地址
步驟270‧‧‧應用程式透過取得的最新註冊的版本號與合約地址取得最新版本的智能合約之實體
10‧‧‧ Blockchain network
50‧‧‧Control module
100‧‧‧Blockchain-based smart contract version control system
110‧‧‧ verification node
120‧‧‧Version Control Node
130‧‧‧Use nodes
132‧‧‧Application Steps 210‧‧‧ version control nodes release different versions of smart contracts and generate blockchain transactions based on different versions of smart contracts. Each version of smart contracts refers to the previous version of smart contracts. The contract step 220‧‧‧ version control node provides the blockchain transaction to a plurality of verification nodes on the blockchain network, and one of the verification nodes verifies that the blockchain transaction is sequentially written into the block, and The block provides other verification nodes for verification. Steps ‧ ‧ The verification node of the verification block will be published in the blockchain network through the verified block. The control module of the version control node of the version 240‧‧‧ will be of different versions. The smart contract is registered with the corresponding contract address and version number through the control contract. Step 250 ‧ ‧ Use the application of the node to obtain the entity of the control contract through the control address. Step 260‧‧ The application obtains the latest registration through the entity that controls the contract Version number and contract address Step 270‧‧‧ The application obtains the latest version of the wisdom through the latest registered version number and contract address obtained Entity Contract

第1圖為本發明基於區塊鏈的智能合約版本控管系統之方塊圖。 第2圖為本發明基於區塊鏈的智能合約版本控管方法之方法流程圖。 第3A圖為本發明之第一版本智能合約的一實施例示意圖。 第3B圖為本發明之第一版智能合約所參照的儲存餘額指令的一實施例示意圖。 第3C圖為本發明之第二版本智能合約的一實施例示意圖。 第3D圖為本發明之控管合約的一實施例示意圖。FIG. 1 is a block diagram of a blockchain-based smart contract version control system according to the present invention. FIG. 2 is a flow chart of a method for controlling a smart contract version based on a blockchain according to the present invention. FIG. 3A is a schematic diagram of an embodiment of a first version of the smart contract of the present invention. FIG. 3B is a schematic diagram of an embodiment of a stored balance instruction referred to in the first version of the smart contract of the present invention. FIG. 3C is a schematic diagram of an embodiment of the second version of the smart contract of the present invention. Figure 3D is a schematic diagram of an embodiment of a control contract of the present invention.

10‧‧‧區塊鏈網路 10‧‧‧ Blockchain network

50‧‧‧控管模組 50‧‧‧Control module

100‧‧‧基於區塊鏈的智能合約版本控管系統 100‧‧‧Blockchain-based smart contract version control system

110‧‧‧驗證節點 110‧‧‧ verification node

120‧‧‧版本控管節點 120‧‧‧Version Control Node

130‧‧‧使用節點 130‧‧‧Use nodes

132‧‧‧應用程式 132‧‧‧Application

Claims (10)

一種基於區塊鏈的智能合約版本控管系統,其包含: 一版本控管節點,包含一控管模組,用以發布不同版本的智能合約,並依據不同版本的智能合約分別產生一區塊鏈交易,其中,該控管模組將不同版本的智能合約透過一控管合約註冊對應的一合約地址與一版本號,每一版本的智能合約係參照先前版本的智能合約; 多個驗證節點,用以接收該些區塊鏈交易,該些驗證節點其中之一驗證節點將該些區塊鏈交易依序寫入一區塊後提供其他驗證節點進行驗證,驗證該區塊的該驗證節點將通過驗證的該區塊發布於該區塊鏈網路中﹔以及 一使用節點,包含一應用程式,用以透過一控管地址取得該控管合約之實體,並透過該控管合約之實體取得最新註冊的該版本號與該合約地址,再透過取得的最新註冊的該版本號與該合約地址取得最新版本的該智能合約之實體。A blockchain-based smart contract version control system includes: a version control node, including a control module for issuing different versions of smart contracts, and generating a block according to different versions of smart contracts Chain trading, wherein the control module registers different versions of the smart contract through a control contract with a corresponding contract address and a version number, each version of the smart contract refers to the previous version of the smart contract; multiple verification nodes For receiving the blockchain transactions, one of the verification nodes, the verification node writes the blockchain transactions to a block in sequence, and provides other verification nodes for verification, and verifies the verification node of the block. The verified block is posted in the blockchain network; and a use node includes an application for obtaining the entity of the control contract through a control address and through the entity of the control contract Obtain the latest registered version number and the contract address, and obtain the latest version of the smart contract through the latest registered version number and the contract address obtained. . 根據申請專利範圍第1項之基於區塊鏈的智能合約版本控管系統,其中,最新版本的該智能合約之實體透過該控管地址取得該控管合約之實體,並透過該控管合約之實體取得指定版本的該智能合約之該版本號與該合約地址,使得最新版本的該智能合約之實體透過取得的指定版本的該智能合約之該版本號與該合約地址取得指定版本的該智能合約之實體,其中,最新版本的該智能合約係參照指定版本的該智能合約。The blockchain-based smart contract version control system according to the scope of the patent application, wherein the entity of the latest version of the smart contract obtains the entity of the control contract through the control address and through the control contract The entity obtains the version number of the smart contract of the specified version and the contract address, so that the latest version of the smart contract entity obtains the specified version of the smart contract through the obtained version of the smart version of the smart contract and the contract address The entity, wherein the latest version of the smart contract refers to the specified version of the smart contract. 根據申請專利範圍第1項之基於區塊鏈的智能合約版本控管系統,其中,該控管合約記錄不同版本智能合約的合約地址與該些版本號。The blockchain-based smart contract version control system according to claim 1 of the patent application scope, wherein the control contract records the contract addresses of the different versions of the smart contracts and the version numbers. 根據申請專利範圍第1項之基於區塊鏈的智能合約版本控管系統,其中,該基於區塊鏈的智能合約版本控管系統利用Ethereum所發布的協定版本進行實現。The blockchain-based smart contract version control system according to claim 1 of the patent application scope, wherein the blockchain-based smart contract version control system is implemented by using a protocol version issued by Ethereum. 根據申請專利範圍第1項之基於區塊鏈的智能合約版本控管系統,其中,該版本控管節點具有一組金鑰對。The blockchain-based smart contract version control system according to claim 1 of the patent application scope, wherein the version control node has a set of key pairs. 一種基於區塊鏈的智能合約版本控管方法,其步驟包括: 一版本控管節點發布不同版本的智能合約,並依據不同版本的智能合約分別產生一區塊鏈交易,其中,每一版本的智能合約係參照先前版本的智能合約; 該版本控管節點將該區塊鏈交易提供一區塊鏈網路上的多個驗證節點,該些驗證節點其中之一驗證節點將該些區塊鏈交易依序寫入一區塊,並將該區塊提供其他驗證節點進行驗證; 驗證該區塊的該驗證節點將通過驗證的該區塊發布於該區塊鏈網路中; 該版本控管節點的一控制模組將不同版本的智能合約透過一控管合約註冊對應的一合約地址與一版本號; 一使用節點的一應用程式透過一控管地址取得該控管合約之實體; 該應用程式透過該控管合約之實體取得最新註冊的該版本號與該合約地址;以及 該應用程式透過取得的最新註冊的該版本號與該合約地址取得最新版本的該智能合約之實體。A blockchain-based smart contract version control method includes the following steps: A version control node issues different versions of smart contracts, and generates a blockchain transaction according to different versions of smart contracts, wherein each version of the The smart contract refers to the previous version of the smart contract; the version control node provides the blockchain transaction to a plurality of verification nodes on a blockchain network, and one of the verification nodes verifies the blockchain transaction Write a block in sequence, and provide the other verification node for verification; verify that the verification node of the block will be published in the blockchain network through the verified block; the version control node a control module that registers a different version of the smart contract through a control contract with a corresponding contract address and a version number; an application that uses the node obtains the entity of the control contract through a control address; the application Obtaining the latest registered version number and the contract address by the entity of the control contract; and the latest registered version number obtained by the application Obtain the latest version of the entity of the smart contract with the contract address. 根據申請專利範圍第6項之基於區塊鏈的智能合約版本控管方法,更包含: 最新版本的該智能合約之實體透過該控管地址取得該控管合約之實體﹔ 最新版本的該智能合約之實體透過該控管合約之實體取得指定版本的該智能合約之該版本號與該合約地址﹔以及 最新版本的該智能合約之實體透過取得的指定版本的該智能合約之該版本號與該合約地址取得指定版本的該智能合約之實體,其中,最新版本的該智能合約係參照指定版本的該智能合約。The blockchain-based smart contract version control method according to claim 6 of the patent application scope includes: the latest version of the entity of the smart contract obtains the entity of the control contract through the control address; the latest version of the smart contract The entity obtains the version number of the smart contract and the contract address through the entity of the control contract; and the latest version of the smart contract entity obtains the version of the smart contract with the version number and the contract The address obtains the entity of the specified version of the smart contract, wherein the latest version of the smart contract refers to the specified version of the smart contract. 根據申請專利範圍第6項之基於區塊鏈的智能合約版本控管方法,更包含:該控管合約記錄不同版本智能合約的該些合約地址與該些版本號。The blockchain-based smart contract version control method according to claim 6 of the patent application scope further includes: the control contract records the contract addresses of the different versions of the smart contract and the version numbers. 根據申請專利範圍第6項之基於區塊鏈的智能合約版本控管方法,其中,該基於區塊鏈的智能合約版本控管方法透過Ethereum所發布的協定版本進行實現。The blockchain-based smart contract version control method according to claim 6 of the patent application scope, wherein the blockchain-based smart contract version control method is implemented by a protocol version issued by Ethereum. 根據申請專利範圍第6項之基於區塊鏈的智能合約版本控管方法,其中,該版本控管節點具有一組金鑰對。The blockchain-based smart contract version control method according to claim 6 of the patent application scope, wherein the version control node has a set of key pairs.
TW106102323A 2017-01-23 2017-01-23 Smart contract version control system and method thereof based on blockchain TWI614713B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106102323A TWI614713B (en) 2017-01-23 2017-01-23 Smart contract version control system and method thereof based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106102323A TWI614713B (en) 2017-01-23 2017-01-23 Smart contract version control system and method thereof based on blockchain

Publications (2)

Publication Number Publication Date
TWI614713B true TWI614713B (en) 2018-02-11
TW201828215A TW201828215A (en) 2018-08-01

Family

ID=62016189

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102323A TWI614713B (en) 2017-01-23 2017-01-23 Smart contract version control system and method thereof based on blockchain

Country Status (1)

Country Link
TW (1) TWI614713B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451061A (en) * 2018-12-20 2019-03-08 全链通有限公司 The contract of block chain adjusts processing method and system
CN109977638A (en) * 2019-02-22 2019-07-05 亦非云互联网技术(上海)有限公司 Intelligent contract update method and system, storage medium and terminal based on ether mill
TWI675336B (en) * 2018-04-30 2019-10-21 鯨鏈科技股份有限公司 System of smart ticket, method for issuing ticket and computer-readable storage device
CN110580624A (en) * 2018-06-07 2019-12-17 华为技术有限公司 Chain code upgrading method and device
WO2020030891A1 (en) * 2018-08-07 2020-02-13 Perpetual Altruism Limited Computer implemented method and system for updating a database system for a blockchain version control system; computer implemented methods of auctioning an item for a seller, and computer implemented method of updating a smart contract
US10615964B2 (en) 2018-04-03 2020-04-07 Alibaba Group Holding Limited Cross-blockchain interaction method, apparatus, system, and electronic device
CN111258599A (en) * 2018-12-03 2020-06-09 中国电信股份有限公司 Firmware upgrade method, system and computer readable storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210050526A (en) 2018-08-10 2021-05-07 티제로그룹, 인코포레이티드 Upgradable security token
CN108881312A (en) * 2018-08-24 2018-11-23 北京京东尚科信息技术有限公司 Intelligent contract upgrade method, system and relevant device and storage medium
CN109559229A (en) * 2018-11-30 2019-04-02 众安信息技术服务有限公司 The method of the intelligent contract group of update based on block chain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN106022917A (en) * 2016-05-08 2016-10-12 杭州复杂美科技有限公司 Block chain matching exchange scheme
US20160323109A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Rights transfers using block chain transactions
TW201643783A (en) * 2015-05-06 2016-12-16 現代財富控股有限公司 Electronic trading system for cryptocurrency and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20160323109A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Rights transfers using block chain transactions
TW201643783A (en) * 2015-05-06 2016-12-16 現代財富控股有限公司 Electronic trading system for cryptocurrency and method thereof
CN106022917A (en) * 2016-05-08 2016-10-12 杭州复杂美科技有限公司 Block chain matching exchange scheme

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10615964B2 (en) 2018-04-03 2020-04-07 Alibaba Group Holding Limited Cross-blockchain interaction method, apparatus, system, and electronic device
US10693630B1 (en) 2018-04-03 2020-06-23 Alibaba Group Holding Limited Cross-blockchain interaction method, apparatus, system, and electronic device
TWI710979B (en) * 2018-04-03 2020-11-21 開曼群島商創新先進技術有限公司 Cross-block chain interaction method, device, system, and electronic equipment
TWI675336B (en) * 2018-04-30 2019-10-21 鯨鏈科技股份有限公司 System of smart ticket, method for issuing ticket and computer-readable storage device
CN110414957A (en) * 2018-04-30 2019-11-05 鲸链科技股份有限公司 Intelligent bill system, intelligent ticket distributing method with computer-readable storage device
CN110580624A (en) * 2018-06-07 2019-12-17 华为技术有限公司 Chain code upgrading method and device
CN110580624B (en) * 2018-06-07 2022-02-18 华为技术有限公司 Chain code upgrading method and device
WO2020030891A1 (en) * 2018-08-07 2020-02-13 Perpetual Altruism Limited Computer implemented method and system for updating a database system for a blockchain version control system; computer implemented methods of auctioning an item for a seller, and computer implemented method of updating a smart contract
CN111258599A (en) * 2018-12-03 2020-06-09 中国电信股份有限公司 Firmware upgrade method, system and computer readable storage medium
CN109451061A (en) * 2018-12-20 2019-03-08 全链通有限公司 The contract of block chain adjusts processing method and system
CN109451061B (en) * 2018-12-20 2021-06-01 全链通有限公司 Contract adjustment processing method and system for block chain
CN109977638A (en) * 2019-02-22 2019-07-05 亦非云互联网技术(上海)有限公司 Intelligent contract update method and system, storage medium and terminal based on ether mill

Also Published As

Publication number Publication date
TW201828215A (en) 2018-08-01

Similar Documents

Publication Publication Date Title
TWI614713B (en) Smart contract version control system and method thereof based on blockchain
TWI713353B (en) Communication method between blockchain nodes, digital certificate management method, device and electronic equipment
JP7411011B2 (en) Blockchain-implemented counting system and method used for secure voting and distribution
JP7461417B2 (en) Secure off-chain blockchain transactions
US11329995B2 (en) Blockchain-based system, and electronic apparatus and method in the system
TWI713840B (en) Digital certificate management method, device and electronic equipment
TWI723658B (en) Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain
TWI694390B (en) Blockchain-based transaction processing method and device, and electronic equipment
JP6859506B2 (en) Digital certificate management methods, devices, and systems
CN111445334B (en) Aggregation signature method, device and storage medium of blockchain system
CN109978477B (en) Intelligent contract version control and management system and method based on block chain
US20190172026A1 (en) Cross blockchain secure transactions
ES2932500T3 (en) Select and secure test delegates for cryptographic functions
WO2018119892A1 (en) Method and device for publishing and validating software application program
WO2020082887A1 (en) Block chain transaction method and apparatus
JPWO2018158936A1 (en) Blockchain management device, blockchain management method and program
US20190294636A1 (en) Providing microservice information
US11495075B2 (en) Distributed voting system, method, apparatus, computer device and readable storage medium
TW202018570A (en) Blockchain-based node management method and device
CN109003185B (en) Intelligent contract establishing method and device, computing equipment and storage medium
CN111724150A (en) Service request processing method and device
US11171774B2 (en) System for synchronizing a cryptographic key state through a blockchain
US20200119929A1 (en) Securing firmware
CN111092724B (en) Block chain system digital certificate issuing method, equipment, system and medium
EP3971809A1 (en) Method and apparatus for starting smart contract, electronic device, and storage medium