TWM607453U - Guaranteeing server and system for transactions on blockchain - Google Patents
Guaranteeing server and system for transactions on blockchain Download PDFInfo
- Publication number
- TWM607453U TWM607453U TW109211705U TW109211705U TWM607453U TW M607453 U TWM607453 U TW M607453U TW 109211705 U TW109211705 U TW 109211705U TW 109211705 U TW109211705 U TW 109211705U TW M607453 U TWM607453 U TW M607453U
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction
- data
- user
- wallet
- guarantee
- Prior art date
Links
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本新型關於一種交易擔保伺服器,特別關於一種用於區塊鏈交易的擔保伺服器(guaranteeing server)及擔保系統。The present invention relates to a transaction guarantee server, in particular to a guarantee server (guaranteeing server) and a guarantee system for blockchain transactions.
區塊鏈是採取共識化演算法的分散式數位帳本,而目前應用區塊鏈技術中最廣泛為人所知的即是加密貨幣。基於區塊鏈技術的加密貨幣,其具有去中心化的特性,不受各國政府央行監管。同時,加密貨幣交易的紀錄原則上是永久存在且不可回溯修改,並且可被驗證和可被追溯。舉例來說,傳統的去中心化交易流程是交易的一方發起,以其用戶私鑰進行簽名,並將該交易內容及其數位簽名提交至區塊鏈上,由各節點進行驗證及記錄。為了確保安全性,交易的相對人通常不會只等待一次確認(confirmation)就認為該筆交易已完成。一般來說,交易的相對人會等待至少出現6次確認後才會認為該筆交易已完成。然而,這往往需要耗費十數分鐘至數小時的時間。但是,目前即便採用現金的交易也只需約3分鐘的時間即可完成,更不用說使用信用卡或其他非為去中心化的虛擬貨幣只需約0.5分鐘至1分鐘的時間就可完成。因此,傳統技術的區塊鏈加密貨幣交易的等待時間太長,有違一般人的交易習慣。Blockchain is a decentralized digital ledger that adopts a consensus algorithm, and the most widely known application of blockchain technology is cryptocurrency. Encrypted currency based on blockchain technology has the characteristics of decentralization and is not subject to the supervision of central banks of governments. At the same time, in principle, the record of cryptocurrency transactions is permanent and cannot be retrospectively modified, and can be verified and traceable. For example, a traditional decentralized transaction process is initiated by a party of the transaction, signed with its user's private key, and submitted the transaction content and its digital signature to the blockchain, which are verified and recorded by each node. In order to ensure security, the counterparty of the transaction usually does not wait for a confirmation (confirmation) to think that the transaction has been completed. Generally speaking, the counterparty of the transaction will wait for at least 6 confirmations before they believe that the transaction has been completed. However, this often takes ten minutes to several hours. However, at present, even cash transactions can be completed in about 3 minutes, not to mention the use of credit cards or other non-decentralized virtual currencies that can be completed in about 0.5 minutes to 1 minute. Therefore, the waiting time for traditional blockchain cryptocurrency transactions is too long, which violates the trading habits of ordinary people.
然而,基於區塊鏈技術的加密貨幣仍有其他的安全性缺陷。惡意使用者若具有較高的算力(hash rate,例如51%),則可以發動雙重支付攻擊(double spend attack),破壞原本交易紀錄的不可修改性,使得存在於不可刪除區塊中的交易紀錄被抹除,讓原本已經被「花費」掉的加密貨幣可再度被使用。即便例如是在採用圖靈完備語言Solidity的以太坊區塊鏈(Ethereum)平台,惡意使用者仍可以給付較高的「燃料/Gas」來進行雙重支付攻擊,使其較晚進行的交易先被記錄,而其時間較早的交易,反而會因節點於確認對應的錢包位址時發現已無足夠的加密貨幣餘額進行支付而導致認證失敗,使得該在先交易的相對人無法取得該筆交易的對價。However, cryptocurrencies based on blockchain technology still have other security flaws. If a malicious user has a higher hash rate (for example, 51%), he can launch a double spend attack, destroying the unmodifiable nature of the original transaction record, and making the transaction in the undeletable block The record is erased, allowing the cryptocurrency that has been "spent" to be used again. Even if, for example, the Ethereum blockchain (Ethereum) platform adopts the Turing complete language Solidity, malicious users can still pay a higher "fuel/gas" to carry out a double payment attack, so that the transactions that are made later will be destroyed first. Record, and its earlier transaction will fail because the node finds that there is not enough cryptocurrency balance to make the payment when confirming the corresponding wallet address, which will cause the authentication to fail, making the counterparty of the previous transaction unable to obtain the transaction The consideration.
因此,對於區塊鏈技術的加密貨幣交易來說,目前亟需一種可避免惡意使用者進行雙重支付攻擊,並同時讓交易相對人無須長時間地等待完成的交易方式。Therefore, for cryptocurrency transactions based on blockchain technology, there is an urgent need for a transaction method that can prevent malicious users from carrying out double payment attacks, and at the same time allow the counterparty of the transaction to not have to wait for a long time for completion.
本新型的目的為提供一種區塊鏈交易的擔保伺服器及擔保系統,其是使擔保伺服器確認使用者的加密貨幣餘額是否足以支應該次交易後,再將該筆交易提交至區塊鏈網路上進行運算,因此可避免惡意使用者進行雙重支付攻擊;同時,藉由擔保伺服器的認證與擔保,交易相對人(商家)也可在短時間內即可得知該筆交易是否被擔保而保證了交易的有效性,免去較長的等待時間。The purpose of this model is to provide a guarantee server and guarantee system for blockchain transactions, which enable the guarantee server to confirm whether the user’s cryptocurrency balance is sufficient to cover the transaction, and then submit the transaction to the blockchain Calculations are performed on the network, so malicious users can avoid double payment attacks; at the same time, through the authentication and guarantee of the guarantee server, the counterparty (merchant) of the transaction can also know whether the transaction is guaranteed or not in a short time And the validity of the transaction is guaranteed, and long waiting time is avoided.
本新型提出一種區塊鏈交易的擔保伺服器。擔保伺服器耦接於一區塊鏈網路,擔保伺服器包括有一記憶單元以及一或多數個處理單元,記憶單元儲存多數個指令,一或多數個處理單元耦接記憶單元,且一或多數個處理單元執行該些指令而進行以下步驟:接收一使用者所傳送的一交易資料,其中交易資料包括一錢包資料,錢包資料包括一錢包位址資料以及一使用者簽名資料;至區塊鏈網路上檢視錢包位址資料所對應的一加密貨幣的餘額是否足以進行交易;當加密貨幣的餘額足以進行交易時,發送交易資料至區塊鏈網路以進行區塊鏈運算;以及發送交易資料所對應之一交易擔保資訊至交易的相對人。This model proposes a guarantee server for blockchain transactions. The guarantee server is coupled to a blockchain network. The guarantee server includes a memory unit and one or more processing units. The memory unit stores a plurality of instructions, one or more processing units are coupled to the memory unit, and one or more A processing unit executes the commands to perform the following steps: receive a transaction data sent by a user, where the transaction data includes a wallet data, the wallet data includes a wallet address data and a user signature data; to the blockchain Check whether the balance of a cryptocurrency corresponding to the wallet address data is sufficient for the transaction on the Internet; when the balance of the cryptocurrency is sufficient for the transaction, send the transaction data to the blockchain network for blockchain calculation; and send the transaction data Corresponding one of the transaction guarantee information to the counterparty of the transaction.
另外,本新型還提出一種區塊鏈交易的擔保方法,該方法包括有下列步驟:由一擔保伺服器接收一使用者所傳送的一交易資料,其中交易資料包括一錢包資料,錢包資料包括一錢包位址資料以及一使用者簽名資料;由擔保伺服器至區塊鏈網路上檢視錢包位址資料所對應的一加密貨幣的餘額是否足以進行交易;當加密貨幣的餘額足以進行交易時,由擔保伺服器發送交易資料至區塊鏈網路以進行區塊鏈運算;以及由擔保伺服器發送交易資料所對應之一交易擔保資訊至交易的相對人。In addition, the present invention also proposes a block chain transaction guarantee method. The method includes the following steps: a guarantee server receives a transaction data transmitted by a user, wherein the transaction data includes a wallet data, and the wallet data includes a Wallet address data and a user’s signature data; from the guarantee server to the blockchain network to check whether the balance of a cryptocurrency corresponding to the wallet address data is sufficient for the transaction; when the balance of the cryptocurrency is sufficient for the transaction, The guarantee server sends transaction data to the blockchain network to perform blockchain operations; and the guarantee server sends transaction guarantee information corresponding to the transaction data to the counterparty of the transaction.
在一實施例中,使用者簽名資料是使用者對應於錢包位址資料的一數位簽名。In one embodiment, the user signature data is a digital signature of the user corresponding to the wallet address data.
在一實施例中,交易資料進一步包括一交易內容以及一交易相對人資料。In one embodiment, the transaction information further includes a transaction content and a transaction counterparty information.
在一實施例中,當加密貨幣的餘額不足以進行交易時,由擔保伺服器進一步發送一交易失敗資訊給使用者,且不將交易資料發送至區塊鏈網路。In one embodiment, when the balance of the encrypted currency is insufficient for the transaction, the guarantee server further sends a transaction failure message to the user, and the transaction data is not sent to the blockchain network.
在一實施例中,使用者將錢包資料及一儲值資料傳送至區塊鏈網路,以透過區塊鏈網路增加錢包位址資料所對應的加密貨幣的餘額。In one embodiment, the user sends the wallet data and a stored value data to the blockchain network to increase the balance of the encrypted currency corresponding to the wallet address data through the blockchain network.
在一實施例中,交易的相對人將錢包資料及一儲值資料傳送至區塊鏈網路,以透過區塊鏈網路增加錢包位址資料所對應的加密貨幣的餘額。In one embodiment, the counterparty of the transaction sends the wallet data and a stored value data to the blockchain network to increase the balance of the encrypted currency corresponding to the wallet address data through the blockchain network.
在一實施例中,使用者將另一錢包資料、一儲值資料及使用者的錢包資料傳送至擔保伺服器,以透過擔保伺服器增加使用者之錢包位址資料所對應的加密貨幣的餘額。In one embodiment, the user sends another wallet data, a stored value data, and the user's wallet data to the guarantee server to increase the balance of the encrypted currency corresponding to the user's wallet address data through the guarantee server .
在一實施例中,當區塊鏈運算完成後,擔保伺服器進一步將一交易成功確認資訊回傳給使用者及/或交易的相對人。In one embodiment, after the blockchain operation is completed, the guarantee server further sends back confirmation information of a successful transaction to the user and/or the counterparty of the transaction.
在一實施例中,當區塊鏈運算完成後,由擔保伺服器進一步清算錢包位址資料所對應的加密貨幣。In one embodiment, after the blockchain operation is completed, the guarantee server further clears the encrypted currency corresponding to the wallet address data.
在本新型之區塊鏈交易的擔保伺服器及擔保系統中,是由擔保伺服器確認使用者的加密貨幣餘額是否足以支付該次交易後,再將該筆交易提交至區塊鏈網路上進行運算,因此,可避免惡意使用者進行雙重支付攻擊;同時,擔保伺服器於確認使用者的加密貨幣餘額足以支應該次交易後,即會將交易擔保資訊發送給交易相對人,如此一來,藉由擔保伺服器的認證與擔保,交易相對人也能夠在短時間內得知該筆交易已被擔保伺服器擔保而保證了交易的有效性,因而免去較長的等待時間。In the new type of guarantee server and guarantee system for blockchain transactions, the guarantee server confirms whether the user's cryptocurrency balance is sufficient to pay for the transaction, and then submits the transaction to the blockchain network for processing Therefore, malicious users can avoid double payment attacks. At the same time, the guarantee server will send transaction guarantee information to the counterparty after confirming that the user’s cryptocurrency balance is sufficient to cover the transaction. In this way, Through the authentication and guarantee of the guarantee server, the counterparty of the transaction can also know in a short time that the transaction has been guaranteed by the guarantee server, thus ensuring the validity of the transaction, thus avoiding a long waiting time.
以下將參照相關圖式,說明依本新型所提供的各種實施例的區塊鏈交易的擔保伺服器及擔保系統。其中,相同的元件將以相同的參照符號加以說明。The following describes the guarantee server and guarantee system for blockchain transactions according to various embodiments of the present invention with reference to related drawings. Among them, the same elements will be described with the same reference signs.
除非另外定義,否則本文使用的中所有技術和科學術語的涵義,均等同於具有與本新型所屬技術領域的具有通常知識之人所理解的一般意義相同的含義。應該理解的是,本文所使用的術語僅是為了描述特定實施例,而非不是限制性的。Unless otherwise defined, the meanings of all technical and scientific terms used in this article are equivalent to having the same meaning as the general meaning understood by a person with ordinary knowledge in the technical field to which the present invention belongs. It should be understood that the terms used herein are only for describing specific embodiments and are not limiting.
需要說明的是,本新型各實施例中所有方向性指示(諸如上、下、左、右、前、後、…)僅用於解釋在某一特定姿態(如所附的各圖式所示)下各部件之間的相對位置關係、運動情況等,如果該特定姿態發生改變時,則該方向性指示也會相應的隨之改變。It should be noted that all the directional indicators (such as up, down, left, right, front, back,...) in the various embodiments of the present invention are only used to explain in a specific posture (as shown in the attached drawings ) The relative positional relationship, movement situation, etc. between the various components under the following, if the specific posture changes, the directional indication will also change accordingly.
術語「區塊鏈」在本文中是指架構於點對點(peer-to-peer,P2P)網路系統上,並利用密碼學所加密及串聯的交易記錄(各記錄又稱為「區塊(block)」)。各區塊包括了前一個區塊的加密雜湊字串、時間戳記以及交易資料。區塊鏈技術除了利用上述P2P網路架構之外,還利用了非對稱式加密技術(公鑰-私鑰對)、分散式帳本(distributed ledger)、基於共識化演算法的認證機制等,使得區塊內容很難被竄改,且具有可驗證性和可追溯性。因此要進行貨幣或貨品所有權移轉交易時,可由一方直接發起,中間不需要再通過任何金融機構或第三方機構即可完成,故其具有去中心化的特性。目前常見應用於數位貨幣或加密貨幣的交易。而在基於P2P網路架構的區塊鏈網路中,網路中的每台電腦(也稱為「節點」),具有同等的網路計算權利,而網路計算權利可能會因不同區塊鏈的共識演算法的不同而有差異。The term "blockchain" in this article refers to the transaction records that are built on a peer-to-peer (P2P) network system and are encrypted and connected in series by cryptography (each record is also called a "block (block) )”). Each block includes the encrypted hash string, time stamp and transaction data of the previous block. In addition to using the above-mentioned P2P network architecture, blockchain technology also uses asymmetric encryption technology (public key-private key pair), distributed ledger, and authentication mechanism based on consensus algorithms. It makes the block content difficult to be tampered with, and has verifiability and traceability. Therefore, when a currency or goods ownership transfer transaction is to be carried out, it can be initiated directly by one party, and it can be completed without any financial institution or third-party institution in the middle, so it has the characteristics of decentralization. Currently commonly used in digital currency or cryptocurrency transactions. In a blockchain network based on the P2P network architecture, each computer (also called a "node") in the network has the same network computing rights, and the network computing rights may vary by different blocks. The consensus algorithm of the chain is different.
術語「加密貨幣」,於本文中是代表利用區塊鏈技術之非對稱加密、分散式帳本、共識化演算認證機制等技術來確保交易安全及控制交易單位的一種交易媒介。本文中的加密貨幣是一種數位貨幣,其可以是比特幣(Bitcoin、BTC)、比特幣現金(Bitcoin cash、BCC)、乙太幣(Ethereum、ETH)、萊特幣(Litecoin、LTC)、或門羅幣(Monero、XMR),或其他的數位貨幣(或虛擬貨幣)等。The term "cryptocurrency" in this article refers to a transaction medium that uses blockchain technology's asymmetric encryption, decentralized ledger, consensus calculation and authentication mechanism and other technologies to ensure transaction security and control transaction units. The cryptocurrency in this article is a digital currency, which can be Bitcoin (Bitcoin, BTC), Bitcoin cash (Bitcoin cash, BCC), Ethereum (Ethereum, ETH), Litecoin (Litecoin, LTC), or gate Monero (Monero, XMR), or other digital currencies (or virtual currencies), etc.
術語「錢包」及「錢包地址」,於本文中是代表在區塊鏈上交易所使用的加密貨幣所對應的地址,其中記載有對應該地址的貨幣的結算(及貨幣餘額)。其是利用使用者或擁有者的私鑰進行橢圓曲線演算(例如secp256k1)、雜湊函數運算(例如是SHA-256)與編碼(例如是BASE58)所得出的包括英文字母與數字的字串序列(例如0x80a956Ab640Ee8A6E336C9a954bB55f422e3Ac6e)。區塊鏈上交易所使用的錢包可使用諸如非對稱式加密法來形成,其中每一個錢包都有自己獨特的一組成對的公鑰及私鑰。各錢包的公鑰可公開地讓各節點對該錢包進行識別(例如,將加密貨幣轉入該錢包地址),但是私鑰是由該錢包的擁有者所獨有,並用來對該交易進行簽章(例如,藉此用來讓各節點驗證該筆交易是否為真)。The terms "wallet" and "wallet address" in this article refer to the address corresponding to the cryptocurrency used for exchange on the blockchain, and the currency settlement (and currency balance) corresponding to the address is recorded. It uses the user's or owner's private key to perform elliptic curve calculations (such as secp256k1), hash function calculations (such as SHA-256), and encoding (such as BASE58) to obtain a string sequence of English letters and numbers ( For example, 0x80a956Ab640Ee8A6E336C9a954bB55f422e3Ac6e). The wallets used by transactions on the blockchain can be formed using, for example, asymmetric encryption, in which each wallet has its own unique pair of public and private keys. The public key of each wallet can openly allow each node to identify the wallet (for example, transfer encrypted currency to the wallet address), but the private key is unique to the owner of the wallet and is used to sign the transaction Chapter (for example, to allow nodes to verify whether the transaction is true).
術語「智慧合約」或「智能合約」是指以數位形式定義的契約,其是以程式語言所撰寫的計算機協議,當用於區塊鏈,例如以太坊(Ethereum)區塊鏈上時,其是代表以網路方式所傳遞、且可由區塊鏈上的電腦(礦工、網民)所驗證及自動執行的電腦協議。智慧合約(智能合約)無須交易第三方或是中間人存在,也能夠進行可被驗證、可被追蹤而不可逆轉的交易。舉例來說,當交易雙方基於ERC20代幣標準(ERC20 Token Standard)以Solidity語言撰寫一份智慧合約,並將其佈署在以太坊區塊鏈(以下簡稱以太鏈)上而利用以太坊虛擬機(Ethereum virtual machine,EVM)運作,以太鏈上的電腦即會在出現有與該合約相關訊號(或稱「事件/event」,其可例如是該合約所規定的轉帳時間,或是一方已將貨物交付給另一方)時根據該合約內容執行對應動作(例如自某一錢包地址中提款轉帳)。在以太鏈上佈署及執行智慧合約均需要額外的計算手續費,稱為「燃料/Gas」,「燃料/Gas」可以利用以太幣購買。同樣的,在以太鏈上因應特定事件來執行智慧合約中的對應動作,也是採取共識型加解密演算。在以太鏈上佈署成功的智慧合約也會有專屬的地址,例如是「0x03f8a79ccf94611a512b63d42f5fc3eacf59d3」這種包括英文字母與數字的字串序列。The term "smart contract" or "smart contract" refers to a contract defined in digital form. It is a computer protocol written in a programming language. When used on a blockchain, such as the Ethereum blockchain, its It represents a computer protocol that is transmitted through the network and can be verified and automatically executed by computers (miners, netizens) on the blockchain. Smart contracts (smart contracts) do not require the existence of third parties or intermediaries, and can also conduct transactions that can be verified, traced and irreversible. For example, when both parties to a transaction write a smart contract in Solidity language based on the ERC20 Token Standard, and deploy it on the Ethereum blockchain (hereinafter referred to as the Ethereum chain) and use the Ethereum virtual machine (Ethereum virtual machine, EVM) operation, the computer on the Ethernet chain will have a signal related to the contract (or "event", for example, the transfer time specified in the contract, or one party has transferred When the goods are delivered to the other party), corresponding actions are executed according to the content of the contract (for example, withdrawal and transfer from a wallet address). Deploying and executing smart contracts on the Ethereum chain requires additional calculation fees, which are called "fuel/gas", and "fuel/gas" can be purchased with Ether. Similarly, in response to specific events on the Ethereum chain to execute the corresponding actions in the smart contract, consensus encryption and decryption algorithms are also adopted. A smart contract successfully deployed on the Ethereum chain will also have a dedicated address, such as "0x03f8a79ccf94611a512b63d42f5fc3eacf59d3", a string sequence that includes English letters and numbers.
以下將就本文的數個示例性的實施例進行描述。Several exemplary embodiments of this document will be described below.
圖1為本新型一實施例之擔保伺服器用於區塊鏈交易的示意圖,而圖2為圖1之擔保伺服器的功能方塊示意圖。FIG. 1 is a schematic diagram of a guarantee server used in blockchain transactions according to an embodiment of the new type, and FIG. 2 is a functional block diagram of the guarantee server in FIG. 1.
如圖1及圖2所示,擔保伺服器1耦接於區塊鏈網路4,並可包括有記憶單元11、一或多數個處理單元12、以及一或多個輸出/輸入單元13。本實施例的處理單元12及輸出/輸入單元13是各以一個為例進行說明。其中,記憶單元11可儲存多數個指令(例如程式碼)。而處理單元12分別與輸出/輸入單元13和記憶單元11耦接。其中,記憶單元11可包括隨機記憶體或非揮發式計算機可讀取的儲存媒體等,非揮發式計算機可讀取的儲存媒體例如可以是硬碟、固態硬碟(SSD)、快閃記憶體等,其儲存處理單元12可執行的指令(例如程式碼)。另外,處理單元12可為擔保伺服器1的核心控制組件,並例如可為一中央處理器(central processing unit, CPU),或為其它的控制硬體、軟體或韌體來組成。處理單元12可以將該些指令(例如程式碼)從非揮發式計算機可讀取的儲存媒體載入至隨機記憶體並加以執行。此外,輸出/輸入單元13例如是網路卡、網路晶片、數據機等能提供網路連線的元件、單元或裝置。As shown in FIGS. 1 and 2, the
擔保伺服器1更與使用者端計算機裝置2及店家端計算機裝置3耦接,其耦接方式可包括但不限於以無線網路連接或有線網路連接。使用者端計算機裝置2及店家端計算機裝置3可以例如是行動裝置、筆記型電腦、桌上型電腦、可網路連線之裝置(例如智慧家電、智慧手錶)或其他計算機裝置等,並不限制。The
如圖1所示,區塊鏈網路4包括有複數個電腦(或是節點/nodes),其數量並無限制。圖1中雖繪示由電腦41~47等7台電腦/節點所組成的區塊鏈網路4,其目的僅在於進行示例性說明,而非對本文進行任何限制。其中,使用者端計算機裝置2也可以連接至區塊鏈網路4,例如與區塊鏈網路4中的電腦41以無線或有線方式連接,進而連接至整個區塊鏈網路4;或者,使用者端計算機裝置2也可以成為區塊鏈網路4之中的一個節點,進而變成區塊鏈網路4中的一部分。同樣地,店家端計算機裝置3也可以連接至區塊鏈網路4,例如與區塊鏈網路4中的電腦46以無線或有線方式連接,進而連接至整個區塊鏈網路4;或者,店家端計算機裝置3也可以成為區塊鏈網路4之中的一個節點,進而變成區塊鏈網路4中的一部分,本新型皆不限制。As shown in Figure 1, the blockchain network 4 includes multiple computers (or nodes/nodes), and the number is unlimited. Although Fig. 1 shows a block chain network 4 composed of 7 computers/nodes, including
前述處理單元12讀取並執行記憶單元11中所儲存的該些指令後,擔保伺服器1可進行以下動作:接收使用者(即使用者端計算機裝置2)所傳送過來的交易資料。其中,該交易資料可包括錢包資料,而錢包資料可包括錢包位址資料及使用者簽名資料(步驟S1);至區塊鏈網路4上檢視(check)該錢包位址資料所對應的加密貨幣的餘額是否足以進行交易(步驟S2);當加密貨幣的餘額足以進行交易時,發送該交易資料至區塊鏈網路4以進行區塊鏈運算(步驟S3);以及,發送該交易資料所對應的交易擔保資訊至交易的相對人(步驟S4)。After the
先提醒的是,前述的步驟S3與步驟S4並沒有先後之分,擔保伺服器1可先發送該交易資料至區塊鏈網路4,再發送該交易擔保資訊至交易的相對人;或者,先發送該交易擔保資訊至交易的相對人,再發送該交易資料至區塊鏈網路4;又或者,同時發送該交易資料及該交易擔保資訊,本新型不限制。First reminder that there is no priority between step S3 and step S4. The
舉例來說,當某一使用者A至某一店家C購買價格為0.5個ETH的貨物,並欲進行支付時,使用者A可利用其所有的使用者端計算機裝置2進行該交易,而店家C即為該交易的相對人,本實施例中店家C是利用店家端計算機裝置3來進行此一交易的交易相對人。使用者A可利用使用者端計算機裝置2向擔保伺服器1發出一交易申請,並傳送對應於該交易的交易資料,該交易資料即包括有使用者A要用來進行支付的錢包資料、該交易的內容(即要交付0.5個ETH),以及該交易的交易相對人資料(可以是店家C名稱及/或店家C用來接收上述0.5個ETH的錢包位址)。值得一提的是,本實施例所使用的加密貨幣除了乙太幣(Ethereum、ETH)以外,還可以是比特幣(Bitcoin、BTC)、比特幣現金(Bitcoin cash、BCC)、萊特幣(Litecoin、LTC),或門羅幣(Monero、XMR),或其他的數位貨幣(或虛擬貨幣)等,並不以乙太幣為限。For example, when a user A goes to a certain store C to purchase goods with a price of 0.5 ETH and wants to make a payment, user A can use all of his user-
上述的錢包資料會進一步包括有使用者A欲用來進行該交易之加密貨幣所對應的錢包位址資料(即使用者A要用來支付0.5個ETH的錢包位址),以及使用者簽名資料(即使用者A對該筆交易的數位簽名)。其中,前述錢包位址資料是由使用者A的私鑰及/或擔保伺服器1的私鑰,由電腦(其例如是使用者端計算機裝置2、擔保伺服器1,或是其他第三方計算機裝置皆可,本文在此不加以限制)進行如前述之橢圓曲線演算、雜湊函數運算及編碼所產生的。此外,前述的使用者簽名資料(即使用者A對該筆交易的數位簽名)也是由使用者端計算機裝置2利用使用者A的私鑰進行非對稱式加密等運算後所產生出來的。再者,由於本實施例是利用智慧合約的方式進行架構,因此由使用者端計算機裝置2所傳送給擔保伺服器1的該交易資料,也可以進一步包括已佈署在該區塊鏈網路4上用來執行該智慧合約的地址資料,以便區塊鏈網路4的各節點進行後續驗證。The aforementioned wallet data will further include the wallet address data corresponding to the cryptocurrency that user A wants to use for the transaction (that is, the wallet address that user A wants to use to pay 0.5 ETH), and user signature data (That is, user A's digital signature of the transaction). Wherein, the aforementioned wallet address data is generated by the private key of user A and/or the private key of the
如果是基於安全性的考量,則使用者私鑰則可以不要傳送到擔保伺服器1,而在產生上述對應該筆交易的錢包位址時,再由使用者端計算機裝置2自己利用使用者A的私鑰進行橢圓曲線演算、雜湊函數運算及編碼來進行。If it is based on security considerations, the user's private key may not be sent to the
接著,在擔保伺服器1收到上述交易資料(步驟S1)後,會向區塊鏈網路4的節點41~47查詢,在區塊鏈的紀錄中,根據該錢包位址資料所記載的錢包位址,其所對應的加密貨幣結算結果是否足夠支應該筆交易所欲支付的額度(步驟S2)。亦即,擔保伺服器1會去各節點查詢並確認,該錢包位址中是否有足夠的額度來支付該交易的0.5個ETH。其中,擔保伺服器1對交易資料的接收及傳送是由輸出/輸入單元13來負責。Then, after the
當擔保伺服器1確認上述錢包位址中有足夠的額度來支付該交易所需的0.5個ETH時,會向店家C的店家端計算機裝置3發送對應該交易的交易擔保資訊(步驟S4),代表使用者A要拿來進行該筆交易的錢包位址中有足夠的額度可以支付那0.5個ETH。此時,店家C即可迅速地得知該筆交易已經過擔保伺服器1的認證與擔保,已保證了交易的有效性,因而得以免去傳統上須由區塊鏈網路4進行數次(例如6次)確認所耗費的等待時間。另外,在一較佳的實施例中,擔保伺服器1可以進一步將該交易擔保資訊回傳給使用者端計算機裝置2(使用者),以通知使用者A該筆交易已被擔保伺服器1所擔保,使用者A也可免去傳統上須由區塊鏈網路4進行數次(例如6次)確認所耗費的等待時間。When the
另外,擔保伺服器1也會將對應於該筆交易的交易資料傳送到區塊鏈網路4上,由各節點41~47進行對應的認證及記錄等區塊鏈運算(步驟S3)。傳送到區塊鏈網路4的前述交易資料會包括由使用者端計算機裝置2所傳來的錢包位址資料、交易內容資料、交易相對人資料、使用者簽名資料和該智慧合約的地址資料。如此一來,在區塊鏈網路4的各節點41~47收到擔保伺服器1所傳來的交易資料後,即會根據該交易資料中所包括的使用者數位簽名、該錢包地址,與該智慧合約的地址進行認證。In addition, the
詳細來說,各節點41~47會利用對應該錢包地址的公鑰對使用者數位簽名資料進行解密來做認證。只有在確認使用者數位簽名資料的數位簽名資料為真,才會根據該智慧合約執行該交易的支付功能,而將該筆交易內容資料及交易相對人資料進行加密運算及編碼,以將其作為一個新的區塊串接(即紀錄)於已有的區塊鏈上,此時即完成該筆交易:使用者A將0.5個ETH自其錢包支付給交易相對人---即店家C。此外,在紀錄該筆交易內容時,各節點41~47也會一併將對應該交易的時間戳章(time stamp)納入新的區塊中,使得新加上的區塊內容很難被竄改,且具有可驗證性和可追溯性。In detail, each node 41-47 will use the public key corresponding to the wallet address to decrypt the user's digital signature data for authentication. Only after confirming that the digital signature data of the user’s digital signature data is true, the payment function of the transaction will be executed according to the smart contract, and the transaction content data and transaction counterpart data will be encrypted and encoded to be used as A new block is concatenated (that is, recorded) on the existing blockchain, and the transaction is completed at this time: User A pays 0.5 ETH from his wallet to the counterparty of the transaction---store C. In addition, when recording the content of the transaction, each node 41-47 will also incorporate the time stamp corresponding to the transaction into the new block, making it difficult for the newly added block content to be tampered with. , And has verifiability and traceability.
另外,在一些實施例中,在區塊鏈運算完成後,擔保伺服器1還可進一步將運算結果(交易成功確認資訊)回傳給使用者A及/或交易的相對人(店家C),以通知使用者A及/或交易的相對人(店家C)已確認完成交易。此外,在一些實施例中,當區塊鏈運算完成後,擔保伺服器1還可進一步清算使用者A之錢包位址資料所對應的加密貨幣。於此,「清算」是表示,擔保伺服器1將使用者A錢包中的0.5個ETH的加密貨幣,轉移至店家C的錢包中(使用者A的錢包減少0.5個ETH的加密貨幣,店家C的錢包增加0.5個ETH的加密貨幣)。特別一提的是,在一些實施例中,店家C可以不用每一次交易就取走一次對應的加密貨幣,店家C可以選擇例如幾次交易後再取走一次,或者一段時間(例如1天)再取走一次,藉此可節省店家端計算機裝置3及/或擔保伺服器1的運算頻率,降低成本。In addition, in some embodiments, after the blockchain calculation is completed, the
另外,在一些實施例中,當擔保伺服器1確認上述錢包位址中沒有足夠的額度來支付該交易的0.5個ETH時,擔保伺服器1會發送一交易失敗資訊給使用者(使用者端計算機裝置2),以通知使用者A其所指定的錢包中沒有足夠的以太幣可進行此交易,讓使用者A得以採取其他動作(例如是對該錢包地址補充足夠的加密貨幣,或是指定另一個有足額加密貨幣的錢包地址)以繼續進行本次交易。同時,擔保伺服器1不會將前述該筆交易的交易資料發送至區塊鏈網路4上進行認證及記錄。此外,擔保伺服器1也可以將此一交易失敗資訊傳送到店家端計算機裝置3,以通知交易相對人該筆交易尚未完成。In addition, in some embodiments, when the
在前述中,當擔保伺服器1確認上述錢包位址中沒有足夠的額度來支付該交易的0.5個ETH,且通知使用者A其所指定的錢包中沒有足夠的以太幣可進行此交易,使用者可以對該錢包地址補充足夠的加密貨幣(對其錢包進行儲值動作),其作法可以有例如但不限於以下三種:In the foregoing, when the
第一種作法是:使用者A透過使用者端計算機裝置2將該錢包資料及一儲值資料(要儲值的加密貨幣金額)傳送至區塊鏈網路4,以透過區塊鏈網路4增加該錢包位址資料所對應的加密貨幣的餘額(由使用者支付Gas)。之後,再重新進行步驟S2,使擔保伺服器1重新檢視該錢包位址資料所對應的加密貨幣的餘額是否足以進行交易。The first method is: User A sends the wallet data and a stored value data (the amount of encrypted currency to be stored) to the blockchain network 4 through the user-
第二種作法是:店家C透過店家端計算機裝置3將該錢包資料及該儲值資料(要儲值的加密貨幣金額)傳送至區塊鏈網路4,以透過區塊鏈網路4增加使用者A之錢包位址資料所對應的加密貨幣的餘額。在此作法中,使用者A需事先支付對等於0.5個ETH的金額給店家C後,再由店家C上鏈儲值(店家C支付Gas)。值得一提的是,在不同的實施例中,使用者A及/或店家C也可透過擔保伺服器1進行上述的儲值動作,本新型不限制。The second method is: Store C sends the wallet data and the stored value data (the amount of encrypted currency to be stored) to the blockchain network 4 through the store-
第三種作法是:使用者A可指定另一個有足夠交易額度的加密貨幣的錢包地址以繼續進行本次交易,使用者A可將另一錢包資料(可為使用者A的另一個錢包或另一使用者B的錢包)、儲值資料及使用者A本人的錢包資料傳送至擔保伺服器1,以透過擔保伺服器1增加使用者A之錢包位址資料所對應的加密貨幣(只由擔保伺服器1記錄,使用者A、B都不需支付Gas)。The third method is: User A can designate another cryptocurrency wallet address with sufficient transaction quota to continue this transaction, and User A can add another wallet data (which can be another wallet or user A’s The wallet of another user B), stored value data and user A’s own wallet data are sent to the
值得一提的是,前述三種增加使用者A之錢包位址資料所對應的加密貨幣餘額的儲值作法也可應用於一般情況下的儲值,不一定要在交易失敗後才進行。It is worth mentioning that the aforementioned three methods of increasing the value of the cryptocurrency balance corresponding to user A's wallet address data can also be applied to the storage of value under normal circumstances, and it does not have to be done after the transaction fails.
此外,本申請亦提出一種區塊鏈交易的擔保方法,其是利用前述實施例所提供的耦接於區塊鏈網路4的擔保伺服器1來進行。請參照圖3所示,其為本申請一實施例之區塊鏈交易的擔保方法的流程示意圖。本實施例之區塊鏈交易的擔保方法可包括有下列步驟S1至步驟S4。In addition, this application also proposes a guarantee method for blockchain transactions, which is performed by using the
步驟S1為:由擔保伺服器1接收使用者A所傳送的交易資料,其中交易資料包括錢包資料,錢包資料包括錢包位址資料以及使用者簽名資料;步驟S2為:由擔保伺服器1至區塊鏈網路4上檢視錢包位址資料所對應的加密貨幣的餘額是否足以進行交易;步驟S3為:當加密貨幣的餘額足以進行交易時,由擔保伺服器1發送交易資料至區塊鏈網路4以進行區塊鏈運算;以及,步驟S04為:由擔保伺服器1發送交易資料所對應之交易擔保資訊至交易的相對人。前述的步驟S3與步驟S4並沒有先後之分(可對調或同時進行)另外,在步驟S3中,當加密貨幣的餘額不足以進行交易時,則由擔保伺服器1進一步發送交易失敗資訊給使用者,並且不將交易資料發送至區塊鏈網路4(步驟S3’)。Step S1 is: the
此外,本申請的擔保方法中所使用的擔保伺服器1、使用者端計算機裝置2、店家端計算機裝置3和區塊鏈網路4各細部部件之組成、本實施例之擔保方法的變化態樣,以及其所使用之擔保伺服器1、使用者端計算機裝置2、店家端計算機裝置3和區塊鏈網路4彼此間的連接關係,則同於前面實施例中所述,於此不再贅述。In addition, the
承上,藉由上述架構,本文所揭露的擔保伺服器1會先確認使用者的加密貨幣餘額是否足以支應該次交易,於確認完成後再將該筆交易提交至區塊鏈網路4上進行運算。如此一來,可避免惡意使用者利用時間差進行雙重支付攻擊;同時,擔保伺服器1於確認使用者的加密貨幣餘額足以支應該次交易後,即會將交易擔保資訊發送給交易相對人,如此一來,藉由擔保伺服器的認證與擔保,交易相對人也能夠在短時間內得知該筆交易已被擔保伺服器1擔保而保證了交易的有效性,因而免去較長的等待時間。In conclusion, with the above architecture, the
以上所述僅為舉例性,而非為限制性者。任何未脫離本新型之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。The above description is only illustrative, and not restrictive. Any equivalent modifications or changes that do not depart from the spirit and scope of this new model shall be included in the scope of the attached patent application.
1:擔保伺服器
11:記憶單元
12:處理單元
13:輸出/輸入單元
2:使用者端計算機裝置
3:店家端計算機裝置
4:區塊鏈網路
41,42,43,44,45,46,47:電腦(節點)
S1,S2,S3,S3’,S4:步驟1: Guarantee server
11: Memory unit
12: Processing unit
13: output/input unit
2: Client computer device
3: Store-side computer device
4:
圖1為本新型一實施例之擔保伺服器用於區塊鏈交易的示意圖。 圖2為圖1之擔保伺服器的功能方塊示意圖。 圖3為本申請一實施例之區塊鏈交易的擔保方法的流程示意圖。 FIG. 1 is a schematic diagram of a guarantee server used in blockchain transactions according to an embodiment of the new type. FIG. 2 is a functional block diagram of the guarantee server of FIG. 1. FIG. FIG. 3 is a schematic flowchart of a method for guaranteeing a blockchain transaction according to an embodiment of the application.
1:擔保伺服器 1: Guarantee server
2:使用者端計算機裝置 2: Client computer device
3:店家端計算機裝置 3: Store-side computer device
4:區塊鏈網路 4: Blockchain network
41,42,43,44,45,46,47:電腦(節點) 41, 42, 43, 44, 45, 46, 47: Computer (node)
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109211705U TWM607453U (en) | 2019-07-05 | 2019-07-05 | Guaranteeing server and system for transactions on blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109211705U TWM607453U (en) | 2019-07-05 | 2019-07-05 | Guaranteeing server and system for transactions on blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
TWM607453U true TWM607453U (en) | 2021-02-11 |
Family
ID=75783299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109211705U TWM607453U (en) | 2019-07-05 | 2019-07-05 | Guaranteeing server and system for transactions on blockchain |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWM607453U (en) |
-
2019
- 2019-07-05 TW TW109211705U patent/TWM607453U/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11477034B2 (en) | Method and apparatus for processing account information in block chain, storage medium, and electronic apparatus | |
US20210314396A1 (en) | Streaming content via blockchain technology | |
JP6640320B1 (en) | Token management system and token management method | |
JP7351591B2 (en) | Multi-authorization system that uses M out of N keys to restore customer wallets | |
US20210258169A1 (en) | Split-key wallet access between blockchains | |
CN108389047B (en) | Method for trading between parent chain and child chain in block chain and block chain network | |
US20200082388A1 (en) | Authenticating server and method for transactions on blockchain | |
JP7377312B2 (en) | Systems and methods realized by blockchain | |
US20220198554A1 (en) | System digital asset-backed data interaction system | |
CN110892434A (en) | Transferring digital tickets over a blockchain network | |
US20210217002A1 (en) | Blockchain content purchasing protocol | |
JP7493582B2 (en) | Transferring tokens between blockchain networks | |
CN114930330A (en) | User management of customs clearance service platform based on block chain | |
US20210398112A1 (en) | Computer-Implemented Method and System for Digital Signing of Transactions | |
CN112801778A (en) | Federated bad asset blockchain | |
TWI646487B (en) | Smart contract executing system with permission rating and avoid duplication and method thereof | |
US11900337B1 (en) | Distributed ledger receipt wallet system and method | |
CN112074861A (en) | Block chain based messaging service for time sensitive events | |
US20210004791A1 (en) | Guaranteeing server and method for transaction on blockchain | |
CN113744036A (en) | Quantum check transaction method based on block chain digital signature | |
JP2023502057A (en) | Identity verification protocol using blockchain transactions | |
CN112074862A (en) | Storage management based on message feedback | |
US20200134615A1 (en) | System and methods for creating, transfering, and invoking a transferable promise | |
TWM607453U (en) | Guaranteeing server and system for transactions on blockchain | |
TWM607492U (en) | System and server for cryptographic currency conversion on blockchain |