JP7170898B2 - 暗号通貨用チューリング完全型スマートコントラクト - Google Patents
暗号通貨用チューリング完全型スマートコントラクト Download PDFInfo
- Publication number
- JP7170898B2 JP7170898B2 JP2021552627A JP2021552627A JP7170898B2 JP 7170898 B2 JP7170898 B2 JP 7170898B2 JP 2021552627 A JP2021552627 A JP 2021552627A JP 2021552627 A JP2021552627 A JP 2021552627A JP 7170898 B2 JP7170898 B2 JP 7170898B2
- Authority
- JP
- Japan
- Prior art keywords
- smart contract
- contract
- transaction
- service providers
- state
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
受信した現在のコントラクト状態が与えられ、スマートコントラクトを実行して、スマートコントラクトコードのハッシュ、コントラクト実行によって転送された量に応じて更新された値のスマートコントラクト資金、及び新しいコントラクト状態の情報、を含む新しいコントラクトの状態出力を作成し、
スマートコントラクト作成者から受信した現在の状態出力を入力として使用して、新しいコントラクトの状態出力を有するトランザクションを作成し、
トランザクションに署名し、トランザクションと署名との両方をスマートコントラクトの作成者に返送する。
(i)補助情報の保存:この特性では、暗号通貨はトランザクションに補助(つまり非資産)情報を保存することを可能にする。一例としては、ビットコインスクリプトにデータを保存する機能である。
(ii)マルチシグニチャ認証:この特性では、暗号通貨は、例えば、ビットコインのマルチシグ出力のように、一連の参加者に、しきい値数の署名によってトランザクションを集団で認証できるようにするメカニズムを提供する。
(iii)状態依存トランザクションの有効性:トランザクションの有効性は、トランザクションの状態参照に依存されるべきである。つまり、トランザクションは、前のトランザクションがチェーンに含まれ、現在の有効状態になった場合及びその場合にのみ、有効とされるために前のトランザクションを参照すべきである。例えば、ビットコインでは、すべての入力が前のトランザクションの出力であり(つまり、チェーンに含まれている)、入力が使用されていない(つまり、現在の状態を表す)場合にのみ、トランザクションが有効である。
(iv)アトミックトランザクション:この特性では、暗号通貨は複数の送信元と送信先を有するトランザクションのアトミック性をサポートする。これにより、送信者がコントラクトに送金するコントラクトコールが可能となる。この場合、資産はコントラクトが履行された場合にのみ送金されるべきである。ビットコインなどのUTXO(Unspent Transaction Output)ベースの暗号通貨では、トランザクションへの入力として複数のUTXOを使用し、複数の出力を作成することによって実現される。
(1)プロバイダー2は、コントラクトコードをハッシュし、状態出力に格納されているハッシュ値と比較する。値が一致する場合、プロバイダー2は続行し、一致しない場合は中止する。
(2)次に、プロバイダー2は、状態出力から状態をロードする。
(3)状態、パラメーター、および追加の入力が与えられると、プロバイダー2はスマートコントラクトを実行する。このコントラクトの実行により、コントラクトの状態が変更され、他のアドレスへの資金の転送が開始される。
(4)スマートコントラクトの実行により資金が別のアドレスに転送されると、プロバイダー2は、対応する値を使用して、そのアドレスによって使用できるトランザクション出力を作成する。
(5)プロバイダー2は、コントラクトコードのハッシュ、受信された/使用された量に応じて更新された値を持つスマートコントラクト資金、および新しい状態情報を含む、新しい状態出力(Eからt個のプロバイダー2によって再び使用できる)を作成する。
(6)プロバイダー2は、最終的に、上述したようにクライアント1によって与えられた入力と共に古い状態出力を入力として使用された上記出力と共にトランザクションを作成する。そして、プロバイダー2は、その後、トランザクションに署名し、トランザクション(T)と署名(σPk(T))の両方をクライアント1に送り返す。
Claims (15)
- 暗号通貨において、暗号通貨のブロックチェーン(3)に状態が格納されるスマートコントラクトを実行する方法であって、
スマートコントラクト作成者(1)が、
サービスプロバイダー(2)の分散セットを決定し、
前記サービスプロバイダー(2)の分散セットの予め設定された又は設定可能なクォーラムがトランザクションの有効性を保証する場合に、スマートコントラクトを展開して、前記サービスプロバイダー(2)の分散セットがスマートコントラクトの状態遷移を生じさせるトランザクションを実行できるようにする信頼モデルを定義し、
コントラクト実行を前記サービスプロバイダー(2)の分散セットにオフロードし、前記クォーラムを得た場合に、トランザクションによって生じた状態遷移をブロックチェーン(3)に含める、
ことを特徴とする方法。 - スマートコントラクトを展開する際に、前記スマートコントラクト作成者(1)が、
前記サービスプロバイダー(2)の分散セットから、任意の数nのサービスプロバイダー(2)を含むコントラクト実行サブセットを選択し、
トランザクションによるそれぞれのコントラクトの状態遷移が有効と見なされるようなトランザクションに署名する必要があるコントラクト実行サブセットのうちのサービスプロバイダー(2)の数をtとするt-out-of-n信頼モデルを決定する、
ことを含むことを特徴とする請求項1に記載の方法。 - スマートコントラクトを展開する際に、前記スマートコントラクト作成者(1)が、
トランザクションを作成して、スマートコントラクトの初期状態出力を生成し、
前記サービスプロバイダー(2)の分散セットを構成するサービスプロバイダー(2)に、トランザクションとスマートコントラクトコードを通知する、
ことを特徴とする請求項2に記載の方法。 - 前記サービスプロバイダー(2)の分散セットを構成するサービスプロバイダー(2)は、相互に合意プロトコルを実行することなくステートレス機能が実装されている、
ことを特徴とする請求項1乃至3のいずれかに記載の方法。 - スマートコントラクトの状態が、スマートコントラクトの資金も含むマルチシグネチャー出力に格納される、
ことを特徴とする請求項1乃至4のいずれかに記載の方法。 - スマートコントラクトは、入力状態が前のオンチェーン状態であった場合に、ブロックチェーン(3)の有効性ルールによって受け入れられるコントラクトの状態遷移として実行されるように構成される、
ことを特徴とする請求項1乃至5のいずれかに記載の方法。 - スマートコントラクトが、Trusted Execution Environment(TEE)内で実行される、
ことを特徴とする請求項1乃至から6のいずれかに記載の方法。 - 前記TEEが、ソフトウェアガードエクステンションプラットフォームを使用する、
ことを特徴とする請求項7に記載の方法。 - 前記サービスプロバイダー(2)の分散セットを構成するサービスプロバイダー(2)は、スマートコントラクト実行に対するサブスクリプションモデルを提供する、
ことを特徴とする請求項1乃至8のいずれかに記載の方法。 - 前記サービスプロバイダー(2)の分散セットを構成するサービスプロバイダー(2)は、実行されたトランザクションに対して単位計算量当たりに割り当てられた金額を得る、
請求項1から9のいずれかに記載の方法。 - スマートコントラクトトランザクション実行の条件がスマートコントラクト内に実装されている、
ことを特徴とする請求項1乃至10のいずれかに記載の方法。 - スマートコントラクトが少なくとも1つの他のスマートコントラクトを呼び出すサブコールを含むスマートコントラクトコールが、全ての関連するスマートコントラクトに対して、全ての関連するスマートコントラクトに対するサービスプロバイダー(2)のクォーラムによってアトミックに署名が実行されたトランザクション又は一連のトランザクションを伴うコミット状態トランザクションによって実行される、
ことを特徴とする請求項1乃至11のいずれかに記載の方法。 - 暗号通貨において、暗号通貨のブロックチェーン(3)に状態が格納されるスマートコントラクトを実行し、請求項1乃至12のいずれかに記載の方法を実行するシステムであって、
複数のサービスプロバイダー(2)を備え、
サービスプロバイダー(2)のそれぞれは、単独または組み合わせられた少なくとも1つのプロセッサーを備えており、
さらに、サービスプロバイダー(2)のそれぞれは、
スマートコントラクト作成者(1)から、スマートコントラクトコード、スマートコントラクト実行のパラメーター、およびスマートコントラクトに送信される資金を含む追加の出力、を含む現在のコントラクトの状態出力を受信し、
受信した現在のコントラクト状態を前提として、スマートコントラクトを実行し、スマートコントラクトコードのハッシュ、コントラクトの実行によって転送された量に応じて更新された値のスマートコントラクト資金、及び新しいコントラクトの状態情報、を含む新しいコントラクトの状態出力を作成し、
スマートコントラクト作成者(1)から受信した現在の状態出力を入力として使用する新しいコントラクトの状態出力を有するトランザクションを作成し、
トランザクションに署名して、トランザクションとトランザクションの署名との両方をスマートコントラクト作成者(1)に返送する、
ことを特徴とするシステム。 - サービスプロバイダー(2)の少なくとも1つ以上のプロセッサーは、
スマートコントラクト作成者(1)から受信した現在のコントラクトの状態出力からスマートコントラクトコードをハッシュし、当該ハッシュされたスマートコントラクトコードをサービスプロバイダー(2)によって格納された状態出力内のハッシュ値と比較し、
両方の値が一致する場合にのみ、スマートコントラクトの実行を続行する、
ことを特徴とする請求項13に記載のシステム。 - サービスプロバイダー(2)の少なくとも1つ以上のプロセッサーは、
スマートコントラクト実行により資金が別のアドレスに転送された場合に、対応する値のアドレスによって使用可能なトランザクション出力を作成する、
ことを特徴とする請求項13又は14に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19161086 | 2019-03-06 | ||
EP19161086.4 | 2019-03-06 | ||
PCT/EP2019/069371 WO2020177883A1 (en) | 2019-03-06 | 2019-07-18 | Turing-complete smart contracts for cryptocurrencies |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022522895A JP2022522895A (ja) | 2022-04-20 |
JP7170898B2 true JP7170898B2 (ja) | 2022-11-14 |
Family
ID=67437108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021552627A Active JP7170898B2 (ja) | 2019-03-06 | 2019-07-18 | 暗号通貨用チューリング完全型スマートコントラクト |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220147995A1 (ja) |
EP (1) | EP3918750B1 (ja) |
JP (1) | JP7170898B2 (ja) |
WO (1) | WO2020177883A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065304A1 (en) * | 2019-09-03 | 2021-03-04 | William Greene | Contract automation with blockchain based interaction and recording |
US20210374731A1 (en) * | 2020-05-26 | 2021-12-02 | Coinbase, Inc. | Systems and methods for consensus-based access control for smart contract functions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018117287A (ja) | 2017-01-19 | 2018-07-26 | 富士通株式会社 | 証明書配付システム、証明書配付方法、および証明書配付プログラム |
US20180218176A1 (en) | 2017-01-30 | 2018-08-02 | SALT Lending Holdings, Inc. | System and method of creating an asset based automated secure agreement |
JP2018166000A (ja) | 2016-03-31 | 2018-10-25 | 株式会社bitFlyer | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
WO2018193355A1 (en) | 2017-04-18 | 2018-10-25 | nChain Holdings Limited | Secure blockchain-based consensus |
JP2020532220A (ja) | 2017-08-29 | 2020-11-05 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンを用いる並行状態機械処理 |
-
2019
- 2019-07-18 JP JP2021552627A patent/JP7170898B2/ja active Active
- 2019-07-18 US US17/436,129 patent/US20220147995A1/en active Pending
- 2019-07-18 WO PCT/EP2019/069371 patent/WO2020177883A1/en unknown
- 2019-07-18 EP EP19748760.6A patent/EP3918750B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018166000A (ja) | 2016-03-31 | 2018-10-25 | 株式会社bitFlyer | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
JP2018117287A (ja) | 2017-01-19 | 2018-07-26 | 富士通株式会社 | 証明書配付システム、証明書配付方法、および証明書配付プログラム |
US20180218176A1 (en) | 2017-01-30 | 2018-08-02 | SALT Lending Holdings, Inc. | System and method of creating an asset based automated secure agreement |
WO2018193355A1 (en) | 2017-04-18 | 2018-10-25 | nChain Holdings Limited | Secure blockchain-based consensus |
JP2020532220A (ja) | 2017-08-29 | 2020-11-05 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンを用いる並行状態機械処理 |
Non-Patent Citations (2)
Title |
---|
SHORISH, J.,Blockchain State Machine Representation,2018年01月23日,pp.1-18,[online], [令和4年10月12日検索], インターネット<URL:https://EconPapers.repec.org/RePEc:osf:socarx:eusxg> |
立石孝彰ほか,ブロックチェーンアプリケーション開発の実践と今後の課題,ソフトウェアエンジニアリングシンポジウム論文集2017,日本,情報処理学会,2017年08月23日,vol.2017,pp.204-211 |
Also Published As
Publication number | Publication date |
---|---|
US20220147995A1 (en) | 2022-05-12 |
WO2020177883A1 (en) | 2020-09-10 |
JP2022522895A (ja) | 2022-04-20 |
EP3918750A1 (en) | 2021-12-08 |
EP3918750B1 (en) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sabry et al. | The road to the blockchain technology: Concept and types | |
US20190172026A1 (en) | Cross blockchain secure transactions | |
US11270030B2 (en) | System and method for consensus management | |
US10699269B1 (en) | System and method for smart contract publishing | |
JP7477576B2 (ja) | ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム | |
US11086621B2 (en) | System and method for blockchain-based decentralized application development | |
Mahmoud et al. | Research challenges and opportunities in blockchain and cryptocurrencies | |
EP3924923A1 (en) | Computer-implemented systems and methods for implementing transfers over a blockchain network | |
CN110400217B (zh) | 智能合约的规则变更处理方法及装置 | |
EP3788757B1 (en) | Controlling transactions on a network | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
JP7170898B2 (ja) | 暗号通貨用チューリング完全型スマートコントラクト | |
JP6951649B2 (ja) | ブロック検証装置、ブロック検証方法、及びプログラム | |
Kabbinale et al. | Blockchain for economically sustainable wireless mesh networks | |
Fu et al. | Teegraph: A Blockchain consensus algorithm based on TEE and DAG for data sharing in IoT | |
Erwig et al. | Commitee: An efficient and secure commit-chain protocol using tees | |
US11513815B1 (en) | Defining data storage within smart contracts | |
Li et al. | Arbitrary message passing across blockchains | |
Wüst et al. | Bitcontracts: Adding Expressive Smart Contracts to Legacy Cryptocurrencies. | |
Nabi et al. | Fides: A system for verifiable computation using smart contracts | |
Shota et al. | Simulation of secure volunteer computing by using blockchain | |
Singh | Blockchain Technologies | |
Djari et al. | Yggdrasil: Secure state sharding of transactions and smart contracts that self-adapts to transaction load | |
Shoker et al. | On the feasibility of byzantine agreement to secure fog/edge data management | |
Ye et al. | Specular: Towards Secure, Trust-minimized Optimistic Blockchain Execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220930 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7170898 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |