JP2024059549A - Artificial intelligence systems, how artificial intelligence systems learn - Google Patents

Artificial intelligence systems, how artificial intelligence systems learn Download PDF

Info

Publication number
JP2024059549A
JP2024059549A JP2023091772A JP2023091772A JP2024059549A JP 2024059549 A JP2024059549 A JP 2024059549A JP 2023091772 A JP2023091772 A JP 2023091772A JP 2023091772 A JP2023091772 A JP 2023091772A JP 2024059549 A JP2024059549 A JP 2024059549A
Authority
JP
Japan
Prior art keywords
data
blockchain
block
30dlr
encrypted
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.)
Pending
Application number
JP2023091772A
Other languages
Japanese (ja)
Inventor
克弥 西沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Singulion
Original Assignee
Singulion
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 Singulion filed Critical Singulion
Priority to JP2023091772A priority Critical patent/JP2024059549A/en
Publication of JP2024059549A publication Critical patent/JP2024059549A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】人工知能の学習の過程を外部から解析・検証可能な、ブロックチェーンを用いたコンピュータネットワークシステム並びに人工知能の機械学習方法を提供する。機械学習データを忘却・消去しコンピュータ端末の記憶装置の記憶領域を節約するコンピュータネットワークシステムを提供する。【解決手段】ブロックチェーン部のブロックデータを一部取り除いた場合(データを忘れさせた場合)においてもブロックデータの連続性を検証する方法であって、ブロックチェーン記録部30DLR2の、第1のブロックチェーン部と第1のブロックチェーンのハッシュ値・ダイジェストデータを含む第2のブロックチェーン部を共に記憶装置に記憶させる。【選択図】図9[Problem] To provide a computer network system using a blockchain and a machine learning method for artificial intelligence, which allows the learning process of artificial intelligence to be analyzed and verified from the outside. [Solution] To provide a computer network system that forgets and erases machine learning data to save storage space in a storage device of a computer terminal. [0023] A method for verifying the continuity of block data even when part of the block data in the blockchain section has been removed (when data has been forgotten), in which a first blockchain section and a second blockchain section including hash value and digest data of the first blockchain of a blockchain recording section 30DLR2 are both stored in the storage device. [Selected Figure] Figure 9

Description

本願(実用新案登録願、又は、特許願)は、分散型台帳システムの台帳記録部30DLR(図面では図1等の30DLR)において、プログラム単位(スマートコントラクト)を実行・記憶するコンピュータシステム、プログラム実行部、データ構造、方法に関する。 This application (application for utility model registration or patent application) relates to a computer system, program execution unit, data structure, and method for executing and storing program units (smart contracts) in the ledger record unit 30DLR (30DLR in the drawings, such as FIG. 1) of a distributed ledger system.

本願は台帳30DLRに暗号化データが含まれ、前記暗号化データを復号し、復号後のデータに含まれるプログラムを実行する環境や方法に関する。
図4A・図4B・図4Cに本願の主張する方法を用いてワンタイムパスワード認証を行う場合の説明図・概念図を記載する。
The present application relates to an environment and method in which encrypted data is included in ledger 30DLR, the encrypted data is decrypted, and a program included in the decrypted data is executed.
4A, 4B, and 4C are explanatory and conceptual diagrams of one-time password authentication using the method claimed in the present application.

また本願は、第1のブロックチェーン(30DLR2-1ST)と第2のブロックチェーン(30DLR2-2ND)を含む台帳記録部30DLR2を提案する。
図5に本願で提案する台帳記録部30DLR2の説明図・概念図を記載する。
The present application also proposes a ledger recording unit 30DLR2 including a first blockchain (30DLR2-1ST) and a second blockchain (30DLR2-2ND).
FIG. 5 shows an explanatory diagram and a conceptual diagram of the ledger recording unit 30DLR2 proposed in this application.

<提案の経緯>
非特許文献1の発明により、分散型台帳システムDLSで変数関数を備えたスマートコントラクト(以下コントラクト、又はスマコンとも呼称する)と、スマートコントラクトをプログラムとして実行する実行環境・仮想機械(非特許文献2のEVM)を用いて、前記DLS上で用いられるトークン・NFTの発行や各種サービスの提供が行われるようになった。(例えば動的パスワードに用いられうる動的コードを生成するスマートコントラクトについては、米国特許明細書200244457や、特許文献1の明細書部分及び特開2021-004788にて開示されている。)
<Background to the proposal>
According to the invention of Non-Patent Document 1, a smart contract (hereinafter referred to as a contract or a smart contract) equipped with a variable function in a distributed ledger system DLS and an execution environment/virtual machine (EVM in Non-Patent Document 2) that executes the smart contract as a program are used to issue tokens/NFTs used on the DLS and provide various services. (For example, a smart contract that generates dynamic codes that can be used for dynamic passwords is disclosed in U.S. Patent Specification 200244457, the specification portion of Patent Document 1, and JP Patent Publication No. 2021-004788.)

●しかし公知の分散型台帳システムは(取引の透明性のため、防犯のため)台帳データがパブリックであって(世界中の人に丸見え状態であり)、スマートコントラクト内部の命令コード・関数・変数は外部から解読される恐れがあった。
●そこで本願では特開2022-091158で主張されるワンタイムパスワード(OTP)認証プログラムのうち秘匿化・暗号化したいOTP計算用キー変数や関数・手続き、データ群を暗号化して30DLRに記録した後、記録された暗号化データをユーザ端末やサーバでの暗号化データを復号可能な実行環境30CVMU・30CVM(仮想機械30CVM)にて復号し復号データに含まれるプログラム(特にOTPの計算、OTPの生成プログラム、OTPの検証・認証プログラム)を実行させる方法やコンピュータシステムに関して提案を行う。
●However, in known distributed ledger systems, the ledger data is public (visible to anyone around the world) (for the sake of transaction transparency and crime prevention), and there is a risk that the instruction codes, functions, and variables within smart contracts can be deciphered from the outside.
●Therefore, this application proposes a method and computer system in which the one-time password (OTP) calculation key variables, functions/procedures, and data groups that are to be kept confidential and encrypted from the one-time password (OTP) authentication program claimed in Patent Publication 2022-091158 are encrypted and recorded in 30DLR, and the recorded encrypted data is then decrypted in an execution environment 30CVMU/30CVM (virtual machine 30CVM) that is capable of decrypting encrypted data on a user terminal or server, and the programs contained in the decrypted data (in particular, the OTP calculation, OTP generation program, and OTP verification/authentication program) are executed.

●また分散型台帳システム上で割当・購入・取引・譲渡・流通するトークン(或いはデジタル資産・デジタル通貨)はユーザ識別子(あるいは或るユーザの公開鍵や識別子の情報)に対し或るトークン番号のトークンが対応する形でスマートコントラクトに記録されており、ユーザの持つトークンの保有状況が外部から見られてしまう。(※そのため、現状ではユーザー識別子と現実世界でのユーザの対応関係は他者に公開しないほうがプライバシーを保つことができる。)(また証券会社や取引所等が仲介することで対応関係を秘匿する)
●個人ユーザ間でのトークンの授受のためにはユーザ識別子を互いに提示する事が必要なことがあって、台帳上に例えばユーザ識別子AからBへの取引があったことが残り、透明性は保てる一方で、プライバシー性が低下する場合がある。
●そこで、本願では台帳上に記録されたユーザ識別子Aに関する情報や、スマートコントラクトを駆動する際に一部隠したい変数・関数について、平文としてブロックチェーン上の平文・暗号文が混合したデータを読み取る実行部と、読み取られた前記平文・暗号文が混合したデータに含まれるデータのうち、(暗号化データの部分を認識・識別・選択等をして選び取って、)暗号化データを復号鍵を用いて復号することを提案し、前記復号する方法を用いた動的パスワード認証方法についても開示する。
●Also, tokens (or digital assets or digital currencies) that are allocated, purchased, traded, transferred or circulated on the distributed ledger system are recorded in a smart contract in the form of a token with a certain token number corresponding to a user identifier (or a certain user's public key or identifier information), and the token holdings status of a user can be seen from outside. (*Therefore, in the current situation, privacy can be maintained by not disclosing the correspondence between user identifiers and users in the real world to others.) (Also, the correspondence can be kept secret by intermediating securities companies, exchanges, etc.)
●In order to transfer tokens between individual users, it may be necessary for them to present their user identifiers to each other. This means that, for example, a transaction from user identifier A to user identifier B will be recorded in the ledger. While this maintains transparency, it may reduce privacy.
●Therefore, this application proposes an execution unit that reads mixed plaintext and ciphertext data on the blockchain as plaintext, regarding information related to user identifier A recorded on the ledger, and variables and functions that one wishes to partially hide when running a smart contract, and proposes decrypting the encrypted data using a decryption key (by recognizing, identifying, selecting, etc., portions of the encrypted data) from the data contained in the read mixed plaintext and ciphertext data, and also discloses a dynamic password authentication method using the decryption method.

●本提案によれば、平文としてブロックチェーン上の平文・暗号文が混合したデータを読み取る実行部30PVM(例えばイーサリアムのEVM、イーサリアム仮想機械)を備えた公知の分散型台帳システムに対し、平文に含まれる暗号化データの読み取りと復号を行う実行環境30CVM・30CVMU(※30CVMUは特にユーザ端末内の実行環境)又は仮想機械30CVMをブロックチェーンのノード部やユーザ端末ソフトウェア・記憶部・処理部に備えさせることにより、本願の提案する方法を実施することができ、既存の稼働実績の多いシステムをそのまま利用できる効果を主張する。(既存のブロックチェーン・分散型台帳システムと互換性があるメリットを主張する。) ● According to this proposal, in a publicly known distributed ledger system equipped with an execution unit 30PVM (e.g., Ethereum's EVM, Ethereum Virtual Machine) that reads data on the blockchain that is a mixture of plaintext and ciphertext, the proposed method can be implemented by providing an execution environment 30CVM/30CVMU (*30CVMU is specifically an execution environment within a user terminal) or virtual machine 30CVM that reads and decrypts encrypted data contained in plaintext in the node unit of the blockchain or the user terminal software/storage unit/processing unit, thereby claiming the effect of being able to use existing systems with a proven track record as is. (The advantage is claimed to be compatibility with existing blockchain/distributed ledger systems.)

<既存の秘匿化方法>
トランザクションを秘匿化する公知の分散型台帳システムとしてQuorumという企業向け分散型台帳システム基盤がある。プライベート及びパブリック型のトランザクションを用いる機構が搭載されている。QuorumではTesseraという暗号化に対応したマネージャ部(実行部)によりトランザクション共有したい相手に共有する。Quorumの系は暗号化機能をもつTesseraのAPIより暗号化したトランザクションを送付する。
<Existing concealment methods>
A well-known distributed ledger system that conceals transactions is Quorum, a distributed ledger system platform for businesses. It is equipped with a mechanism that uses private and public transactions. In Quorum, transactions are shared with those who wish to share them using a manager unit (execution unit) called Tessera that supports encryption. The Quorum system sends encrypted transactions via the Tessera API, which has encryption capabilities.

●本願では上記Quorumとは別の解決方法を模索し、既存のパブリックで誰からも見ることのできる台帳データ部に、一部暗号データを記録させ(又は暗号データの開始部や終了部を表す暗号化データ読み取り用符号を備えさせ、(遺伝子の開始コドンと終止コドンのように)データを実行する部分(実行環境、実行部、実行機械、実行用仮想機械)が暗号化データ読み取りできる構成とする。
●なお暗号データと平文データを格納するスマートコントラクトに、暗号化データの呼び出し部又はゲッターとなる関数を設けさせ、暗号化データをブロックチェーンから呼び出して、サーバ3Cの第2実行部30CVMやユーザ端末1Aの第2実行環境30CVMUに暗号化データを入力し、復号鍵にて復号し、他の又は次の処理に用いてもよい。
●In this application, we seek a solution different from Quorum mentioned above, by recording some encrypted data in the existing public ledger data section that can be seen by anyone (or by providing a code for reading the encrypted data that indicates the start and end of the encrypted data, so that the part that executes the data (execution environment, execution section, execution machine, execution virtual machine) can read the encrypted data (like the start and stop codons of a gene).
●Furthermore, a function that serves as a caller or getter for the encrypted data can be provided in a smart contract that stores encrypted data and plain data, and the encrypted data can be called from the blockchain, input into the second execution unit 30CVM of the server 3C or the second execution environment 30CVMU of the user terminal 1A, decrypted using a decryption key, and used for other or the next process.

●Quorumの系は、(発明者からみて)暗号化機能付き実行環境を1つ用いている。対して本願では平文のみの実行環境・第1実行環境により読み取ったデータを、暗号データ復号機能付き実行環境・第2実行環境で必要に応じて復号処理後に実行することで、普及した第1実行環境のみを備える分散型台帳システムにウェブアプリ等の形で第2実行環境を設けて、平文と暗号文交じりのブロックチェーンデータの読み取りに対応させる意図がある。 ●The Quorum system (from the inventor's point of view) uses one execution environment with encryption functionality. In contrast, in this application, data read in a plaintext-only execution environment (first execution environment) is decrypted as necessary and then executed in an execution environment with encrypted data decryption functionality (second execution environment), with the intention of providing a second execution environment in the form of a web app or the like in a distributed ledger system that only has a widespread first execution environment, making it possible to read blockchain data that is a mixture of plaintext and ciphertext.

本願では前記第2実行環境としてウェブページに含まれたECMAScriptの処理に従い、1ブロックチェーン上から暗号文と平文の混合したデータを読取又はブロックチェーン上から暗号文を含むデータを選択・区別・識別して読取する処理と、2前記読取した暗号データを復号する処理部と、3復号したデータに従って次の処理(各種サービスのための処理等)を行う処理部があってもよい。
本願では図4Bと図4Cに、前記第2実行環境として(ユーザー端末にダウンロード若しくは配布され読み込まれた)ウェブページに含まれるECMAScriptの処理に従い、(ウェブブラウザやウェブページ・ウェブアプリを前記第2実行環境30CVMU として)、OTP認証時のOTP生成処理(図4B)とOTP認証処理(図4C)を行う処理の流れ図の例を記載している。
In the present application, according to the processing of ECMAScript included in a web page as the second execution environment, there may be 1) a process for reading mixed data of ciphertext and plaintext from the blockchain, or for selecting, distinguishing, and identifying data including ciphertext from the blockchain and reading it, 2) a processing unit for decrypting the read encrypted data, and 3) a processing unit for performing the next processing (such as processing for various services) according to the decrypted data.
In this application, Figures 4B and 4C show examples of flow diagrams of a process for performing an OTP generation process (Figure 4B) and an OTP authentication process (Figure 4C) during OTP authentication (with a web browser, web page, or web application as the second execution environment 30CVMU) in accordance with the processing of ECMAScript contained in a web page (downloaded or distributed to a user terminal and loaded) as the second execution environment.

特開2022-091158号公報JP 2022-091158 A

Vitalik Buterin、「Ethereum White Paper A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM」、[online] 、 [ 西暦2020年、令和2年11月16日検索]、インターネット〈URL:https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf〉Vitalik Buterin, "Ethereum White Paper A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM", [online], [Retrieved November 16, 2020], Internet <URL: https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf> Ethereum EVM illustrated[ 西暦2022年、令和4年9月3日検索]、インターネット〈URL:https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdfEthereum EVM illustrated [2022 AD, retrieved September 3, 2022], Internet <URL: https://takenobu-hs. github. io/downloads/ethereum_evm_illustrated. pdf

本願にて解決しようとする問題点を以下に記載する。
1:スマートラクト内部変数や内部の処理手続・関数を秘匿・暗号化する方法を探すこと。
1-A:スマートコントラクト式のOTP認証システムにおいて、計算に用いる変数関数等を秘匿化する事。
1-B:ユーザの取引履歴やユーザの保有するトークンの対応関係の秘匿化する手段を探すこと。
The problems that this application seeks to solve are described below.
1: Find a way to conceal or encrypt Smarttract internal variables, procedures, and functions.
1-A: In a smart contract-based OTP authentication system, keeping variable functions, etc. used in calculations confidential.
1-B: Find a way to conceal users’ transaction history and the correspondence between tokens they hold.

ここで、発明者の考えとして、前記暗号化・秘匿化することにより、第三者から見てトランザクションの中身がDOS攻撃のデータか通常のユーザの利用データか判別できない事が想定される。(通常、トランザクションに手数料・トークン・ガスを消費させる場合、DOS攻撃を経済的に防止するが、ここでは仮に攻撃できるとして)DOS攻撃による無意味な暗号化トランザクションが台帳に蓄積しサーバの記憶域を圧迫する事が懸念される。そこで、次の問題を別途設定し、その課題に対応するブロックチェーンのデータ構造(30DLR2等)を提案する。
2:ブロックチェーンにおいて或る設定時間後の過去のデータブロックを削除しつつブロックチェーンの連続性を検証できるデータ構造を探すこと。(一部データブロックを忘れる事の出来るブロックチェーンの方式を検討する事。)
2-A:ブロックチェーンにおいてデータブロックの一部が無くとも、ブロックチェーンのつながりを検証できるデータ構造を見つけること。
※過去のブロックデータを忘れられる事は台帳部のデータ容量の増大を防止できる。
Here, the inventor believes that by encrypting and concealing the data, a third party cannot distinguish whether the contents of the transaction are DOS attack data or normal user data. (Normally, when fees, tokens, and gas are consumed in a transaction, DOS attacks are economically prevented, but here we assume that an attack is possible.) There is a concern that meaningless encrypted transactions due to DOS attacks will accumulate in the ledger and put pressure on the server's storage space. Therefore, the following problem is separately set, and a blockchain data structure (30DLR2, etc.) that addresses this issue is proposed.
2: Find a data structure that can verify the continuity of the blockchain while deleting past data blocks after a certain set time. (Consider a blockchain method that can forget some data blocks.)
2-A: Find a data structure that can verify the connections of the blockchain even if some of the data blocks are missing.
*Forgetting past block data prevents the data volume in the ledger from increasing.

発明者は保管期限が設定された公文書のように、過去のデータブロックを忘れられるブロックチェーンシステム・分散型台帳システム・改竄耐性のあるデータ台帳システムを実現したいと考えた。
データブロックが保管期限切れ(又は需要がなくなった場合)にはブロックチェーンから切り離しできるデータ構造を実現できれば、公文書データや、日常コミュニケーションデータ等含むSNS等ウェブサービス、証券の取引、物流サービスの記録等、(データ量が多く)データ保管期限が有限な分野でブロックチェーンを利用しやすくなると考え、本願の主張するブロックチェーンのデータ構造を開示する。
The inventors wanted to create a blockchain system, distributed ledger system, and tamper-resistant data ledger system that can forget past data blocks, like official documents with a storage period.
We believe that if it is possible to realize a data structure that allows a data block to be separated from the blockchain when its storage period expires (or when demand disappears), blockchain will become easier to use in areas where data volumes are large and data storage periods are limited, such as official document data, web services such as SNS that include daily communication data, securities trading, and logistics service records, and we disclose the blockchain data structure claimed in this application.

<課題1:スマートラクト内部変数や内部の処理手続・関数を秘匿・暗号化する方法>
1.スマートコントラクト実行を行う2種のプログラム実行部(仮想機械、プログラム実行部・実行用仮想機械、実施例ではECMAScript実行部をもつウェブアプリ・ウェブページ)を用いる。
一つはブロックチェーン部に書き込まれたコードをそのまま平文としてスマートコントラクトを実行する仮想機械30PVM(図1等、図4B等)であり、
他方はブロックチェーン部に書き込まれた暗号化されたコードを読み込み、復号し、スマートコントラクトを実行する仮想機械30CVM又は実行環境30CVM・30CVMU(図1等、図4B等)である。
・前記ブロックチェーン部30DLRに書き込まれた暗号化されたコードを読み込み、復号し、スマートコントラクトを実行する仮想機械に相当する機能部30CVMU(図4B等)がユーザ端末にプログラム・記憶部・処理部の形で含まれていてもよい。
<Issue 1: How to conceal and encrypt SmartLact internal variables, internal processing procedures, and functions>
1. Two types of program execution units (virtual machine, program execution unit/execution virtual machine, in the embodiment, a web application/web page having an ECMAScript execution unit) are used to execute smart contracts.
One is a virtual machine 30PVM (see, e.g., FIG. 1, FIG. 4B, etc.) that executes smart contracts using the code written in the blockchain section as plain text.
The other is a virtual machine 30CVM or execution environment 30CVM/30CVMU (Figures 1, 4B, etc.) that reads and decrypts the encrypted code written in the blockchain section and executes the smart contract.
- A functional unit 30CVMU (Figure 4B, etc.) corresponding to a virtual machine that reads and decrypts the encrypted code written in the blockchain unit 30DLR and executes a smart contract may be included in the user terminal in the form of a program, memory unit, and processing unit.

図1はブロックチェーンのノード端末3Aと、(OTP認証やOTP認証後のサービス提供を行う)サービス提供サーバ端末3Cと、ユーザ端末1Aを通信経路20を介して接続させ、
ユーザの秘密鍵10AKEY(秘密鍵10AKEYは必要な場合)、台帳記録部30DLR、平文の実行環境30PVM(実行部30PVM)、復号鍵30CKEY、暗号化データ復号用実行環境30CVM(実行部30CVM)を用い、
改竄耐性を有する暗号文・平文混合のデータ30DLR―DATAの暗号化データ本体30DLR-CDATA-BODYを復号し実行させる系を説明図として開示する。
●台帳記録部30DLRに含まれる暗号化データ本体30DLR-CDATA-BODYは、図3A・図3Bのように、30DLRの中から暗号データと平文データを区別・識別・認識できる部分・手段を備えさせ、鍵により暗号化処理・復号処理を行えると好ましい。
●図3Bはサーバ3Cがユーザ端末となり30CVMや30CVMUを備え、ユーザ端末に暗号化データを用いたサービスを提供する場合の説明図であって、
図4A、図4B、図4Cは暗号データと平文データを含む分散型台帳の記録部30DLR(ブロックチェーン式記録部30DLR)と第2の実行部30CVMUにてワンタイムパスワード認証を行う場合の説明図である。
(ユーザ端末1Aと、インターネットがオフラインでも動作するサーバ端末3Dとを直接接続する経路20―1A3Dで接続されてもよい。前記経路20―1A3Dは有線式・接触式でも無線式・非接触式でもよい)
FIG. 1 shows a blockchain node terminal 3A, a service providing server terminal 3C (which performs OTP authentication and provides services after OTP authentication), and a user terminal 1A connected via a communication path 20.
Using the user's private key 10AKEY (if the private key 10AKEY is necessary), the ledger recorder 30DLR, the plaintext execution environment 30PVM (execution unit 30PVM), the decryption key 30CKEY, and the encrypted data decryption execution environment 30CVM (execution unit 30CVM),
The following describes, as an explanatory diagram, a system for decrypting and executing the encrypted data body 30DLR-CDATA-BODY of the tamper-resistant ciphertext/plaintext mixed data 30DLR-DATA.
●It is preferable that the encrypted data body 30DLR-CDATA-BODY contained in the ledger recording unit 30DLR is equipped with parts and means that can distinguish, identify, and recognize encrypted data and plain data within 30DLR, as shown in Figures 3A and 3B, and that encryption and decryption processes can be performed using a key.
FIG. 3B is an explanatory diagram of a case where the server 3C serves as a user terminal, is equipped with 30CVM and 30CVMU, and provides a service using encrypted data to the user terminal.
Figures 4A, 4B, and 4C are explanatory diagrams illustrating one-time password authentication performed by a distributed ledger recording unit 30DLR (blockchain-type recording unit 30DLR) including encrypted data and plaintext data and a second execution unit 30CVMU.
(The user terminal 1A may be connected to the server terminal 3D, which operates even when the Internet is offline, via a path 20-1A3D that directly connects the user terminal 1A and the server terminal 3D. The path 20-1A3D may be a wired contact type or a wireless contactless type.)

<図1から図2>
図1には、(1)ユーザ端末1A内の30CVM、30CVMUにてDLR30から読み取った暗号化データを復号する場合(図1Aの左側ユーザ端末内の30CVMU、ユーザインターフェース30UI)と、(2)サーバ3C、3D内の0CVM、30CVMUにてDLR30から読み取った暗号化データを復号する場合(図1Aの中央、サーバ部)と、が記載されている。
図1Aはノード3Aに平文対応の第1実行部PVMと暗号化対応の第2実行部30CVMが含まれる例である。
図1Bはユーザ端末1Aに第2実行部30CVMUが含まれる例である。
図2は本願で用いるコンピュータの説明図とコンピュータの接続図である。
<Fig. 1 to Fig. 2>
Figure 1 illustrates (1) the case where encrypted data read from DLR 30 is decrypted by 30CVM and 30CVMU in user terminal 1A (30CVMU and user interface 30UI in the user terminal on the left side of Figure 1A), and (2) the case where encrypted data read from DLR 30 is decrypted by 0CVM and 30CVMU in servers 3C and 3D (server section, center of Figure 1A).
FIG. 1A shows an example in which a node 3A includes a first execution unit PVM that supports plaintext and a second execution unit 30CVM that supports encryption.
FIG. 1B shows an example in which a user terminal 1A includes a second execution unit 30CVMU.
FIG. 2 is an explanatory diagram of a computer used in the present application and a connection diagram of the computer.

<図3Aと図3B>
図3Aはブロックチェーン式記録部30DLRに記録された、データ30DLR―DATAから、暗号化データ30DLR-CDATA-BODYを識別する部分30DLR-CDATA-PS(暗号化データの開始部)や30DLR-CDATA-PE(暗号化データの終了部)についての説明図である。
図3Aと図3Bは前記識別する部分を用いて、平文と暗号文の混合したデータ30DLR―DATAから暗号化データを読み取り、第2実行部30CVM・30CVMUに復号させ、復号後のデータを利用又はプログラム実行させる説明図である。本願のコンピュータシステムは暗号化データに前記識別する部分が付与されていてもよい。
図3Bの30DLR-DATA復号部F3B3は、DLSの台帳記録部30DLRの暗号化データでも平文データでもよい(暗号化データと平文データの混合したデータ)30DLR―DATAを、データ入力処理部F3B1にて入力し、続いて入力データ解析部F3B2 (暗号データの識別部・選択部・認識部F3B2 )にて暗号データ本体30DLR-CDATA-BODYを検出するための識別部分30DLR-CDATA-PSや30DLR-CDATA-PE検出し、前記暗号データ本体のデータ部分・範囲を検出する。
<Figures 3A and 3B>
FIG. 3A is an explanatory diagram of the part 30DLR-CDATA-PS (the start of the encrypted data) and 30DLR-CDATA-PE (the end of the encrypted data) that identify the encrypted data 30DLR-CDATA-BODY from the data 30DLR-DATA recorded in the block chain recording unit 30DLR.
3A and 3B are explanatory diagrams showing how the encrypted data is read from the mixed data 30DLR-DATA of plain text and cipher text using the identifying portion, how the second execution unit 30CVM/30CVMU decrypts the data, and how the decrypted data is used or a program is executed. In the computer system of the present application, the identifying portion may be added to the encrypted data.
The 30DLR-DATA decryption unit F3B3 in FIG. 3B inputs 30DLR-DATA, which may be either encrypted data or plain data (a mixture of encrypted data and plain data) of the ledger recording unit 30DLR of the DLS, in a data input processing unit F3B1, and then detects identification parts 30DLR-CDATA-PS and 30DLR-CDATA-PE for detecting the encrypted data body 30DLR-CDATA-BODY in an input data analysis unit F3B2 (encrypted data identification unit, selection unit, and recognition unit F3B2), and detects the data part and range of the encrypted data body.

※この方法のほかに、予めスマートコントラクトで30DLRに順次暗号化データを格納記録する配列・マッピング型・構造体などを形成し、それを暗号化データの記録場所として設定し、ECMAScriptとDLSアクセス用API(30CVMU-W3J)にて前記暗号データの格納された配列・マッピング型・構造体等から暗号データを呼び出してもよく、その場合でも、暗号化データの配列・マッピングなど型や変数を定義している部分が平文データと暗号化データを区別・認識・識別する部分30DLR-CDATA-PS・30DLR-CDATA-PEと同等である。
・本願では暗号化データ本体30DLR-CDATA-BODYを平文データ(或いは復号鍵Bによる暗号化データ)と暗号化データ(或いは復号鍵Aによる暗号化データ)の混合した30DLRから区別・認識・識別する手段を備えさせる事が好ましい。
・平文または暗号化鍵の鍵データの異なる暗号化データ間で復号したい暗号化データを識別できる部分があると好ましい。
※平文データがなく、格納された暗号化データがいくつかの復号鍵で暗号化されている30DLRであっても、暗号化鍵が異なるデータ同士を区別する識別子30DLR-CDATA-PS等があると好ましい。
-------------------------
*In addition to this method, an array, mapping type, structure, etc. that sequentially stores and records encrypted data in 30DLR can be formed in advance using a smart contract, and this can be set as the storage location for the encrypted data. The encrypted data can then be called from the array, mapping type, structure, etc. in which the encrypted data is stored using ECMAScript and the DLS access API (30CVMU-W3J). Even in this case, the part that defines the type and variables of the encrypted data, such as the array and mapping, is equivalent to the part 30DLR-CDATA-PS and 30DLR-CDATA-PE that distinguishes, recognizes, and identifies plaintext data and encrypted data.
In the present application, it is preferable to provide a means for distinguishing, recognizing, and identifying the encrypted data body 30DLR-CDATA-BODY from 30DLR, which is a mixture of plain data (or data encrypted with decryption key B) and encrypted data (or data encrypted with decryption key A).
It is preferable to have a portion that can identify the encrypted data to be decrypted among the plaintext or encrypted data with different encryption key data.
*Even if there is no plaintext data and the stored encrypted data is encrypted with several decryption keys in the 30DLR, it is preferable to have an identifier such as 30DLR-CDATA-PS that distinguishes between data with different encryption keys.
--------------------------------------------------

●※発明者としてはスマートコントラクトをデプロイしたユーザ識別子(30DLR―CDATA-ADDRESS)の形で30DLRの或るブロックデータのコントラクトに記録し、ブロックチェーンエクスプローラーなどでコントラクトを検索できると好ましいと考えている。
●例えば30DLRを用いてSNSサービスを提供したい法人Sがあって、その企業が公的機関などへ登録したコントラクトアドレス30DLR―CDATA-ADDRESSがあって、そのコントラクトアドレスで暗号化データを格納する配列等を記録するようにし、30DLRのコントラクト内部で記録されるユーザ識別子等やユーザのコミュニケーション内容・コンテンツは前記法人Sが管理する暗号化鍵・復号鍵とウェブアプリ型実行部30CVMUで暗号化・復号されユーザにSNSのコンテンツとして提供されうる。
(SNSアプリのデータ処理の動作図は図3Bや図3C、図1,図1B、OTP認証サービスのOTP計算部など処理部をSNSサービス用の処理部とした図4A、図4B、図4CをSNS用の処理部記憶部にした形で説明される。ブロックチェーン部には図5等に示すブロックデータを削除できる台帳記録部30DLR2を用いてもよい。)
該コントラクトアドレスのコントラクトに含まれるデータやSNSサービスで事件・紛争等があった場合には、コントラクトアドレス30DLR―CDATA-ADDRESSをデプロイした法人Sは管理する暗号化鍵・復号鍵とウェブアプリ型実行部30CVMUを捜査当局等に開示し、暗号化データを復号して捜査当局等に開示して、事件・紛争の解決に取り組む事ができうる。
●前記SNSを捜査当局等への開示の例で述べたが、銀行サービス・証券系サービス、金融サービスや、コントラクトを利用するゲームサービス等においても、事件・紛争等には同様に開示して対応する事が考えられる。(コントラクトデプロイをした法人が鍵やアプリを管理する。)
●※The inventors consider it preferable to record the user identifier (30DLR-CDATA-ADDRESS) who deployed the smart contract in the contract of a certain block of data of 30DLR, and to be able to search for the contract using a blockchain explorer, etc.
For example, a corporation S wants to provide a SNS service using 30DLR, and the corporation has registered a contract address 30DLR-CDATA-ADDRESS with a public institution, etc., and records an array or the like for storing encrypted data at that contract address. The user identifier, etc., and the user's communication details and content recorded within the 30DLR contract can be encrypted and decrypted using the encryption key and decryption key managed by the corporation S and the web application type execution unit 30CVMU, and provided to users as SNS content.
(The operation diagram of the data processing of the SNS application is explained in FIG. 3B, FIG. 3C, FIG. 1, FIG. 1B, and FIG. 4A, FIG. 4B, and FIG. 4C in which a processing unit such as an OTP calculation unit of the OTP authentication service is used as a processing unit for the SNS service, and the like, are used as a processing unit storage unit for the SNS. The ledger recording unit 30DLR2 capable of deleting block data as shown in FIG. 5 etc. may be used as the block chain unit.)
If an incident or dispute occurs regarding the data contained in the contract of the contract address or the SNS service, corporation S that deployed contract address 30 DLR-C DATA-ADDRESS can disclose the encryption key/decryption key and web application type execution unit 30 CVMU that it manages to investigative authorities, etc., decrypt the encrypted data, disclose it to investigative authorities, etc., and work to resolve the incident or dispute.
●The SNS mentioned above was mentioned as an example of disclosure to investigative authorities, but similar disclosure and response to incidents and disputes can also be considered for banking services, securities services, financial services, and game services that use contracts. (The corporation that deployed the contract manages the keys and apps.)

●防犯のため、実行部30CVMUと後述の図5のブロックチェーン記録部30DLR2と併用して、認証された個人や法人のユーザ識別子による暗号化データを含むコントラクトアドレスであるときは台帳にデータを保持し残すようにして、
認証されていないユーザ識別子による暗号化データを含むコントラクトは、ノードのクライアントソフトウェア・仮想機械部がデプロイを受け付けないようにし、(若しくはデプロイされた暗号化データブロックを削除し、)暗号化データの利用を制限するブロックチェーンシステムも利用されうる。
-------------------------
For crime prevention purposes, the execution unit 30CVMU is used in conjunction with the block chain recording unit 30DLR2 in FIG. 5 described below, and when the contract address contains encrypted data based on the user identifier of an authenticated individual or corporation, the data is retained and left in the ledger.
Contracts containing encrypted data from unauthorized user identifiers may also be used in blockchain systems that restrict the use of encrypted data by preventing the node's client software/virtual machine from accepting deployments (or deleting deployed encrypted data blocks).
--------------------------------------------------

※暗号化する場合でも、その代表者のアドレス(例えばNFTの発行・送信・取引が行われる取引所の取引データを含むコントラクトアドレス)などがトランザクションに添付されていると好ましい。すべてのトランザクションデータを暗号文にて送信されると記録部30DLRの透明性(又は外部から台帳の内容を把握・調査・監査ができる性質)がゼロになる恐れがある。
※送信者ユーザ識別子情報の後に暗号化データを配置し、誰が秘密にしたデータか指定するなどし、発行者が例えば認証された会社のアドレスならそのあとに続く暗号データは実行してもウイルスなどでないかもしれない。
※ブロックチェーン上のデータを、異なるプログラム言語に基づいて条件分けして実行するためにデータに識別子を付与する事に関する特許はUS20210042137があり、スマコンの実行コードの先頭に01や03の形でEVMやC言語実行環境を示す、米国特許例がある。本願では暗号化データ本体の前部分等に暗号データと区別するための識別子・データを付与している。
-------------------------
*Even if encryption is used, it is preferable to attach the representative's address (for example, a contract address containing transaction data of an exchange where NFTs are issued, transmitted, and traded) to the transaction. If all transaction data is transmitted in encrypted form, there is a risk that the transparency of the recording unit 30 DLR (or the ability to grasp, investigate, and audit the contents of the ledger from outside) will be zero.
* Encrypted data can be placed after the sender user identifier information, specifying who made the data secret, and if the issuer is, for example, the address of an authenticated company, the encrypted data that follows may not be a virus even if it is executed.
*There is a patent US20210042137 regarding assigning identifiers to data on the blockchain in order to execute it conditionally based on different programming languages, and there is a US patent example in which the EVM or C language execution environment is indicated by 01 or 03 at the beginning of the execution code of the smart computer. In this application, an identifier/data is assigned to the beginning of the encrypted data body to distinguish it from the encrypted data.
--------------------------------------------------

●データ実行部F3B13は、復号されたデータF3B9を記憶部F3B10に記憶し、処理部F3B11にて処理し処理後の情報を前記記憶部に記憶し若しくは処理結果・応答F3B12として出力する。出力処理部F3B14を介して外部へ出力される。出力先はユーザ端末1Aやサーバ3C等、あるいはブロックチェーンノード端末の記録部30DLRである。
●データ実行部F3B13は、暗号化データの復号とプログラムの実行時に、サンドボックス等復号後のデータに含まれうるウイルスの動作に対応し、ウイルスを隔離・停止などできる対策部分を含む耐ウイルス型実行部F3B8に含まれていると好ましい。(30DLR-CDATA復号部F3B3等もF3B8に含まれていてよい。30CVMや30CVMUが耐ウイルス型実行部F3B8に含まれていてもよい。)
●処理結果・応答F3B12の例は、1.戻り値を返す(例:復号化された実行データに含まれる、スマートコントラクトに従い計算した動的コードを端末1Aに出力)、2.処理に関連する関数や変数を、他のブロック番号の30DLRーCDATAから呼出・計算に使用、3.30DLRへトランザクション送信、分散型台帳システム/ブロックチェーンにトランザクションを送信、ブロックに平文/暗号文データを連結、4.その他仮想機械・実行環境での実行後処理、である。
●実行部30CVM・30CVMUに暗号化する暗号化部分F3B15を備えさせ、処理結果・応答F3B12を、F3B15にて暗号化し、前記暗号化データをユーザ端末1A、サーバ3C等、ノード3Aの30DLRへ出力してもよい。
The data execution unit F3B13 stores the decrypted data F3B9 in the memory unit F3B10, processes it in the processing unit F3B11, and stores the processed information in the memory unit or outputs it as a processing result/response F3B12. It is output to the outside via the output processing unit F3B14. The output destination is the user terminal 1A, the server 3C, etc., or the recording unit 30DLR of the blockchain node terminal.
●The data execution unit F3B13 is preferably included in a virus-resistant execution unit F3B8 that includes a countermeasure part that can isolate or stop the virus, etc., in response to the operation of a virus that may be included in the data after decryption such as a sandbox when decrypting encrypted data and executing a program. (The 30DLR-CDATA decryption unit F3B3, etc. may also be included in F3B8. 30CVM and 30CVMU may also be included in the virus-resistant execution unit F3B8.)
Examples of processing results and responses F3B12 are: 1. Returning a return value (e.g., outputting to terminal 1A the dynamic code calculated according to the smart contract contained in the decrypted execution data), 2. Using functions and variables related to processing for calling and calculating from 30DLR-CDATA of another block number, 3. Sending a transaction to 30DLR, sending a transaction to the distributed ledger system/blockchain, concatenating plaintext/ciphertext data to a block, and 4. Other post-execution processing in the virtual machine/execution environment.
The execution units 30CVM and 30CVMU may be provided with an encryption part F3B15, the processing result and response F3B12 may be encrypted by F3B15, and the encrypted data may be output to the user terminal 1A, the server 3C, or the like, or the 30DLR of the node 3A.

図3Cは図3Bの構成で、サービス(OTP認証等)を行うサーバ端末3Cの説明図である。(ユーザ端末に実行部30CVM・30CVMUは無く、ユーザ端末と通信可能なサーバ3Cに実行部30CVMが含まれる構成である。)(若しくはユーザ端末はサービス用サーバである場合。)
●実行環境30PVMがバックエンド部(ウェブサーバ端末3Cや端末3D)に含まれており、ユーザ端末1Aは端末3Cや3Dにアクセスし、ユーザ端末1Aは前記3Cや3Dの送信するウェブページやECMAScriptの手続きに従うか、又はサーバ3C・3Dの内部で実行される実行部30CVMU・30CVMに対し、ユーザ端末1Aが入力や要求を行い、3C・3Dが処理をし、その結果をユーザ端末1A上に表示・利用させる例が図3Cである。
●スマートコントラクト提供部フロントエンドF3C1。[例:スマコン式OTP認証と認証後サービスのウェブアプリフロントエンド部と実行部30CVM(実行部をユーザにダウンロードさせる場合実行部30CVMU)]、
前記F3C1はウェブページ・ウェブアプリのフロントエンド部、HTML5+ECMAScript部でよい。(所謂ウェブページの部分)
ユーザのインターフェースとなり、ユーザ要求に従いブロックチェーン部30DLRやノード3Aとの通信の要求を受け付ける。例えばOTPコードの生成要求や、OTPコードの入力を受け認証を行う要求を受ける。
●30CVM管理部F3C3(端末1Aの指示に応じて30DLRを書換・読取する部分。バックエンド部)はユーザー端末1Aにはアクセス手段が無く(又は一般ユーザからのアクセスを防ぐため意図的にAPI等が公開されていない等、アクセス者を指定・限定している等で)、通常はアクセスできないDLSやブロックチェーン30DLRに、アクセスできるサーバー3Cサイドの処理部であり、3Cがアクセスできるノード3Aが設置されている時、前記3Aの30DLRへ3Cはアクセスし暗号データを含むデータを読取し、又は30DLRへデータを書き込みする。
●301Cは3Cの実施するサービス用プログラム及び記録部、311Cは3Cのサービス処理部である。30DLR―Cは30DLRから3Cが読取し記憶したデータである。
F3C5はブロックチェーンとアクセスを可能にするプログラム部である。(クライアントソフトウェア(ノード通信部)も可能)3Cがノード3Aと同じくDLSの一部となってもよい。
●F3C4 は鍵データ・鍵管理部(耐タンパ性を持つ記憶域可)である。
3C is an explanatory diagram of a server terminal 3C that performs a service (OTP authentication, etc.) in the configuration of FIG. 3B (the user terminal does not have the execution unit 30CVM/30CVMU, and the execution unit 30CVM is included in the server 3C that can communicate with the user terminal) (or the user terminal is a server for services).
●Figure 3C shows an example in which the execution environment 30PVM is included in the backend section (web server terminal 3C or terminal 3D), the user terminal 1A accesses terminal 3C or 3D, and the user terminal 1A follows the web page or ECMAScript procedure sent by 3C or 3D, or the user terminal 1A makes input or requests to the execution sections 30CVMU and 30CVM running inside the servers 3C and 3D, which process the results and display and use them on the user terminal 1A.
● Smart contract provision unit front end F3C1. [Example: Smartphone-type OTP authentication and post-authentication service web application front end unit and execution unit 30CVM (execution unit 30CVMU when the execution unit is downloaded by the user)],
The F3C1 may be the front-end part of a web page or web application, or the HTML5+ECMAScript part (the so-called web page part).
It serves as a user interface and accepts requests for communication with the block chain unit 30DLR and node 3A according to user requests. For example, it receives a request to generate an OTP code, or a request to input an OTP code and perform authentication.
●The 30CVM management unit F3C3 (the part that rewrites and reads the 30DLR in response to instructions from the terminal 1A; the back-end part) is a processing unit on the server 3C side that can access the DLS and blockchain 30DLR which are normally inaccessible to the user terminal 1A because there is no means of access to them (or because APIs, etc. are not intentionally made public to prevent access from general users, or because access is specified or limited), and when a node 3A that 3C can access is installed, 3C accesses the 30DLR of the 3A and reads data including encrypted data, or writes data to the 30DLR.
301C is a program and recording section for services implemented by 3C, and 311C is a service processing section for 3C. 30DLR-C is data read by 3C from 30DLR and stored therein.
F3C5 is the program part that allows access to the blockchain (it can also be client software (node communication part)). 3C may be part of the DLS just like node 3A.
●F3C4 is the key data/key management unit (tamper-resistant storage area possible).

図1Aにおいては、サーバ3A内の30CVMにてDLR30から読み取った暗号化データを復号する構成が記載されている。(サーバ3Aは30PVMを備えてもよい。)
図1Bにおいては、ユーザ端末に備えさせた実行環境30CVMU(仮想機械30CVMU)と平文読み取り仮想機械PVMによる暗号データを含むブロックデータからの暗号データの読み取り・復号・データ実行・戻り値生成・データの台帳への書き込みの説明する。
1A illustrates a configuration in which encrypted data read from DLR 30 is decrypted by 30CVM in server 3A. (Server 3A may also include 30PVM.)
FIG. 1B illustrates the execution environment 30CVMU (virtual machine 30CVMU) provided on the user terminal and the plaintext reading virtual machine PVM reading encrypted data from block data including encrypted data, decrypting it, executing the data, generating a return value, and writing the data to the ledger.

図1Bの発展形・実施例として、本願図4Bの説明図では、ユーザ端末にウェブアプリ実行部30CVMU-APP(ウェブブラウザの処理部・記憶部)が記憶され、30CVMU-APPによる処理部31CVMU-APPがユーザ端末に備えられているときに、該処理部30CVMU-APPが30DLRからデータを読み取り、暗号化データについては復号鍵F4B-9を用いて復号を行い復号後のデータF4B-11を得て、平文データF4B-12と、復号後のデータF4B-11をOTP計算部F4B-15に入力し、OTP計算をさせる事を主張する。
図4BではOTPを計算後生成し記録手段や記憶装置に記憶・記録させ、図4Cでは入力されたOTPを検証し認証する処理の実行部を開示する。
As an advanced version and embodiment of Figure 1B, the explanatory diagram of the present application in Figure 4B asserts that when a web application execution unit 30CVMU-APP (processing unit/storage unit of a web browser) is stored in a user terminal and a processing unit 31CVMU-APP by 30CVMU-APP is provided in the user terminal, the processing unit 30CVMU-APP reads data from 30DLR, decrypts the encrypted data using decryption key F4B-9 to obtain decrypted data F4B-11, and inputs plain data F4B-12 and the decrypted data F4B-11 to an OTP calculation unit F4B-15 to perform an OTP calculation.
FIG. 4B shows an execution section for calculating and generating an OTP and storing/recording it in a recording means or a storage device, and FIG. 4C shows an execution section for verifying and authenticating the input OTP.

<課題2:ブロックチェーンにおいて或る設定時間後の過去のデータブロックを削除しつつブロックチェーンの連続性を検証できるデータ構造>
第1(30DLR2-1ST)と第2(30DLR2-2ND)のブロックチェーンについて、第2のブロックチェーンに第1のブロックチェーンのブロックのハッシュ値が含まれていることで、第1のブロックチェーンのブロックが削除されていても、前記ハッシュ値を含む第2のブロックチェーンによって、ブロックチェーンの連続性を検証可能にする事も提案する。
<Problem 2: A data structure that can verify the continuity of a blockchain while deleting past data blocks after a certain set time in the blockchain>
Regarding the first (30DLR2-1ST) and second (30DLR2-2ND) blockchains, we also propose that the second blockchain contains a hash value of a block of the first blockchain, so that even if a block of the first blockchain is deleted, the second blockchain containing the hash value makes it possible to verify the continuity of the blockchains.

図5の(a)と(b)は、第1(30DLR2-1ST)と第2(30DLR2-2ND )のブロックチェーンについて、第2のブロックチェーンに第1のブロックチェーンのブロックのハッシュ値が含まれていることで、第1のブロックチェーンのブロックが削除されていても、前記ハッシュ値を含む第2のブロックチェーンによって、ブロックチェーンの連続性を検証可能にする事の説明図。
図5の(c)は前記第1と第2のブロックチェーンに加え第3のブロックチェーンを備え(あるいは第3、第4、第5、・・・第nのブロックチェーンを備え)互いにハッシュ値共有部(30DLRーSHA、30DLRーSHAーn・・・等)を有するときの説明図である。
Figures 5 (a) and (b) are explanatory diagrams showing that for the first (30DLR2-1ST) and second (30DLR2-2ND) blockchains, the second blockchain contains a hash value of a block of the first blockchain, so that even if a block of the first blockchain is deleted, the second blockchain containing the hash value makes it possible to verify the continuity of the blockchain.
FIG. 5(c) is an explanatory diagram of a case where a third blockchain is provided in addition to the first and second blockchains (or a third, fourth, fifth, ..., nth blockchain is provided), each of which has a hash value sharing portion (30DLR-SHA, 30DLR-SHA-n ..., etc.).

※前記台帳記録部30DLR2は図5の(b)のように、ブロックを連結する間隔の短い(例:5秒毎)第1のブロックチェーン(30DLR2-1ST)と、ブロックを連結する間隔の長い(例:50分毎)第2のブロックチェーン(30DLR2-2ND)を含む台帳記録部30DLR2があるとき、
第1のブロックチェーンにおいて設定された個数(例:50分÷5秒=300個、m=300)のデータブロック群(例えばデータブロックanがa301からa600までの時)について、
第2のブロックチェーンのデータブロックsAn(ここでは例としてsA2)を形成し前記第2のブロックチェーンのデータブロックに設定された個数(例:300個)の各データブロックのハッシュ値をsAn(ここではsA2)に格納し、
前記データブロックsAnのハッシュ値sAnh(ここではsA2h)を次のデータブロックsA(n+1)(ここではsA3)に格納しつつ、
第1のブロックチェーンにおいてデータブロックに設定された個数(例:300個、a601からa900までの個数)を連結してを繰り返す。
(第1と第2のブロックチェーン其々のブロックを紙のページブロックで表現したときに、契約書の契印(実際はハッシュ値、ダイジェスト、フィンガープリント、特徴データ)を其々のブロックの境目に押印した形式をとる。)
* When the ledger recording unit 30DLR2 includes a first block chain (30DLR2-1ST) that links blocks at a short interval (e.g., every 5 seconds) and a second block chain (30DLR2-2ND) that links blocks at a long interval (e.g., every 50 minutes), as shown in FIG. 5B,
For a set number (e.g., 50 minutes ÷ 5 seconds = 300, m = 300) of data blocks (e.g., when data block an is from a301 to a600) in the first blockchain,
A data block sAn (here, sA2 as an example) of a second blockchain is formed, and the hash values of each of the number of data blocks (e.g., 300) set in the data block of the second blockchain are stored in sAn (here, sA2);
The hash value sAnh (here, sA2h) of the data block sAn is stored in the next data block sA(n+1) (here, sA3),
The process is repeated by linking the number of data blocks set in the first blockchain (e.g., 300 blocks, from a601 to a900).
(When each block of the first and second blockchains is expressed as a paper page block, a contract seal (actually a hash value, digest, fingerprint, characteristic data) is stamped on the boundary of each block.)

<第2ブロックチェーンのブロックハッシュ値の第1ブロックチェーンのブロックへの格納[第nブロックチェーンのブロックハッシュ値の第(n-1)ブロックチェーンのブロックへの格納]>
図5の(b)のデータブロックa4では、前の第1のブロックチェーンのデータブロックa3のハッシュ値a3hに加え、第2チェーンの前のブロックsA1のハッシュ値sA1hをデータブロックa4に格納・組込・取り入れてよい、又は取り入れることができる。
(第nブロックチェーンのブロックハッシュ値の第(n-1)ブロックチェーンのブロックへの格納してよい。)
第1のブロックチェーンのデータブロックa4に第2のブロックチェーンのハッシュ値sA1hを組み込むことで、第1のブロックチェーンのデータブロックは第2のブロックチェーン内のデータを反映(又はデータがリンク)できる。
若しくはハッシュ値を組み込むことで第1と第2のハッシュ値の出方が相互に変わり、データが絡み合うようにできる。第1と第2のブロックチェーンの要素が相互結びつく。
・(第1のチェーンの用いるハッシュ関数と、取り込ませたデータブロックと、連結順序がわかるとき、ブロックチェーンの各ブロックに現れるハッシュ値は推測されうる。
しかし、第2のチェーンのブロックのハッシュ値を第1のチェーンに組み込むと(フィードバックするように組み込むと)第1のチェーンに新規の要素(第2のチェーン要素)が追加され、ブロックチェーンの各ブロックに現れるハッシュ値は推測しにくくなるかもしれない。)
<Storage of the block hash value of the second blockchain in a block of the first blockchain [Storage of the block hash value of the nth blockchain in a block of the (n-1)th blockchain]>
In data block a4 in (b) of Figure 5, in addition to the hash value a3h of data block a3 in the previous first blockchain, the hash value sA1h of the previous block sA1 in the second chain may be stored, incorporated, or incorporated into data block a4.
(The block hash value of the nth blockchain may be stored in a block of the (n-1)th blockchain.)
By incorporating the hash value sA1h of the second blockchain into the data block a4 of the first blockchain, the data block of the first blockchain can reflect (or link) the data in the second blockchain.
Alternatively, by incorporating hash values, the first and second hash values can be generated in a mutually altered way, allowing the data to be intertwined. Elements of the first and second blockchains are interconnected.
(When the hash function used by the first chain, the imported data blocks, and the concatenation order are known, the hash values that appear in each block of the blockchain can be guessed.
However, if the hash value of a block of the second chain is incorporated into the first chain (incorporated in a feedback manner), a new element (a second chain element) is added to the first chain, and the hash value that appears in each block of the blockchain may become more difficult to guess.

<図1、図4B等に記載の暗号化データの実行環境30CVM>
1-1.スマートコントラクト内部に平文データと暗号化データを混在して記録させ、読取・実行・書込ができる。その結果OTP計算用キー変数やユーザ識別子など秘匿化したい情報を秘匿化できる。
1-2.例えばトークン、NFTを異なるユーザ識別子の間で取引する際に暗号化して取引できる。(但し復号鍵を利用可能な実行環境30CVM・30CVMUを持つサーバ3C、ユーザ端末1Aが必要)
或るユーザの或るトークンを、ユーザ識別子から除去し別のユーザ識別子に付与する管理者(振替機関)が存在する場合のトークンの保管振替をする場合にもユーザ識別子の秘匿化ができる。
1-3.ソーシャルネットワーキングサービス等に用いる場合、ユーザ間でのコメントに秘匿すべきデータがある場合は隠せる。
<Environment 30CVM for executing encrypted data as shown in FIG. 1, FIG. 4B, etc.>
1-1. Plain data and encrypted data can be recorded together in a smart contract and can be read, executed, and written. As a result, information that needs to be kept secret, such as key variables for OTP calculations and user identifiers, can be kept secret.
1-2. For example, when trading tokens and NFTs between different user identifiers, they can be encrypted and traded. (However, a server 3C and a user terminal 1A having an execution environment 30CVM/30CVMU that can use the decryption key are required.)
The user identifier can also be kept anonymous when a token is stored and transferred in the presence of an administrator (transfer institution) that removes a certain token of a certain user from the user identifier and assigns it to another user identifier.
1-3. When used in social networking services, etc., if there is data that should be kept secret in comments between users, the data can be hidden.

<図5等に記載のブロックチェーンのデータ構造30DLR2>
2-1.第1のブロックチェーンに含まれる需要のあるブロックのみを残して、需要が少ない又はデータブロックに個人情報が平文のまま含まれるなどして削除要請のある場合に該当するデータブロックを削除又は磁気テープなど外部記憶装置にアーカイブしてノード端末3Aから取り除きつつ、第2のブロックチェーンの存在により第1および第2のジェネシスブロックからのデータブロック間の連続性を検証できる効果が生じるかもしれない。
2-2. 図5等に記載の第1・第2のブロックチェーンを持つデータ構造30DLR2は、コンテンツの記録に用いられるかもしれない。
例えば、ソーシャルネットワーキングサービス等で、ユーザ間でのコメントなどのやり取りを台帳に記録させていく際に、既存の台帳記録部30DLRでは一部ブロックデータを忘れさせるとチェーンの連続性が検証できなくなるかしれないが、
本願図5の30DLR2では一部データを削除したり忘れさせてもチェーンの連続性を検証できシステムは動作を継続できる。
ソーシャルネットワーキングサービスSNS等で、事情によりユーザ間でのコメントの削除が必要な場合、ノード端末3Aの30DLR2のクライアントソフトウェアに削除すべきコメントの含まれるデータブロックを削除可能になる。
2-3.図5等に記載の第1・第2のブロックチェーンを持つデータ構造は、分散型台帳システムのほかに、学習データを最新のデータブロックに格納し学習しつつ、指定した条件に該当するデータブロックを忘れることのできる、機械学習を行う人工知能システム・人工知能の学習データの記録部・データベース部に利用できうる。図9はその説明図である。
<Blockchain data structure 30DLR2 described in FIG. 5 etc.>
2-1. Only blocks in demand included in the first blockchain are left, and when there is a request for deletion due to low demand or the data block containing personal information in plain text, the corresponding data block is deleted or archived on an external storage device such as a magnetic tape and removed from the node terminal 3A. The existence of the second blockchain may have the effect of verifying the continuity between data blocks from the first and second genesis blocks.
2-2. The data structure 30DLR2 having the first and second blockchains shown in FIG. 5 etc. may be used to record content.
For example, when a social networking service records interactions such as comments between users in a ledger, if some block data is forgotten in the existing ledger recording unit 30DLR, it may be impossible to verify the continuity of the chain.
In the 30DLR2 of FIG. 5 of the present application, even if some data is deleted or forgotten, the continuity of the chain can be verified and the system can continue to operate.
When it becomes necessary for users to delete comments on a social networking service (SNS) or the like for some reason, the client software in 30DLR2 of node terminal 3A can delete a data block that includes the comment to be deleted.
2-3. The data structure having the first and second blockchains shown in Fig. 5 and other figures can be used in a distributed ledger system, as well as in an artificial intelligence system that performs machine learning, which can store learning data in the latest data block and learn while forgetting data blocks that meet specified conditions, as well as in the recording section and database section of the learning data of the artificial intelligence. Fig. 9 is an explanatory diagram of this.

・図9の例ではデータセット・学習方法・処理部が改竄耐性や透明さをもったAIにつながる。
・また過去に学習したことを忘れたり、過去に学習したことと同じことであると判定する記憶部・処理部・コンピュータシステムの構築につながる。(機械学習のプロセス/データ/モデル作成方法などを透明化する必要性がある場合にブロックチェーンの利用が提案される。
・そしてブロックチェーンを利用する場合に、人工知能システムが稼働する限り、学習データを(シングルチェーン式である)従来のブロックチェーン部30DLRに取り込み続けてデータ量が増加し続けてしまうが、本願提案の30DLR2であれば重複するデータや時間経過したデータ、需要のないデータのブロックは削除でき、人工知能AIを搭載したコンピュータ・装置、ロボット、家電等、生産機械等、輸送機器等の記憶域・記憶量低減に役立つかもしれない)
・ブロックチェーンのジェネシスブロックから次々にデータブロックに学習データを学んでいったAIは、その学びの工程を、ブロックチェーンのデータブロックから第三者が解析できる。どのように学習させれば再現性のあるAIになるかのAIの学習・成長・動作の解析に役立つかもしれない。
In the example of Figure 9, the dataset, learning method, and processing unit lead to AI that is tamper-resistant and transparent.
・It will also lead to the construction of memory, processing, and computer systems that can forget what has been learned in the past, or determine that what has been learned in the past is the same. (The use of blockchain is proposed when there is a need to make the machine learning process/data/model creation method, etc., transparent.
- When using blockchain, as long as the artificial intelligence system is running, learning data continues to be imported into the conventional blockchain unit 30DLR (which is a single chain type), and the amount of data continues to increase, but with the 30DLR2 proposed in this application, duplicate data, data that has aged, and blocks of data that are no longer in demand can be deleted, which may be useful for reducing the storage area and storage volume of computers and devices equipped with artificial intelligence (AI), robots, home appliances, production machinery, transportation equipment, etc.)
・AI that has learned learning data from the blockchain's genesis block to the data blocks one after another can have its learning process analyzed by a third party from the blockchain's data blocks. This may be useful for analyzing the learning, growth, and behavior of AI to determine how to make AI reproducible.

<図9の説明>
●図9の30DLR2には人工知能システム4である自動車4CARの入力装置104により入力元4INをセンシングあるいは取得したデータ(若しくは、通信装置102により得たデータ。前記装置102がネットワーク20に接続されているときインターネットを介して他の電子計算機端末と通信を行い得たデータを含む)が30DLR2のデータブロックに図5(図5から図8)のように記録される。
その後、記憶部と処理部は入力元4INやその他設定されたデータ・学習データ等に基づき、人工知能としての応答を出力結果4OUTとして、出力装置105や通信装置102を用いて行う。
<Explanation of FIG. 9>
In 30DLR2 of Figure 9, data sensed or acquired from the input source 4IN by the input device 104 of the automobile 4CAR, which is the artificial intelligence system 4 (or data obtained by the communication device 102, including data obtained by communication with other computer terminals via the Internet when the device 102 is connected to the network 20) is recorded in the data block of 30DLR2 as shown in Figure 5 (Figures 5 to 8).
Thereafter, the memory unit and the processing unit use the output device 105 and the communication device 102 to output a response as an artificial intelligence based on the input source 4IN and other set data, learning data, etc. as an output result 4OUT.

●機械学習ソフトウェア部30STUDYと、機械学習処理部31STUDYに従って機械学習を行う。学習データは30DLR2に記録する。
●学習データの各ブロックのデータ需要記録部30DEMANDに各データブロックの利用頻度を記録する。例:データブロックやデータブロック内のコントラクトアドレスに帰属する関数等トランザクションが呼ばれた数等。(需要記録部に改竄耐性が必要な場合、需要記録部30DEMANDはブロックチェーン構造を持つ記録部に記録してもよい)
※前記部分(図9の機械学習ソフトウェア部30STUDYと、機械学習処理部31STUDY、30DEMAND、31DEMAND-FORGET等)は例えばヒトの頭脳で刺激を受け記憶した情報に関連する部分(生物の特徴を機械にて模倣しようとする部分)である。ヒトやサルなど生物がよく覚えるように回数を重ねトレーニングしたとき(或いは恐怖を覚え強い刺激を受け記憶したとき、欲求に従い強い刺激を受け記憶した等のとき)に脳が刺激を得てその事柄を強く記憶させるような処理部を、コンピュータで再現しようとする処理部・記憶部・ソフトウェア部である。(また需要がない・時間経過したがデータ利用のないデータブロックを忘れようとする部分である。)
●学習データを需要によって保存または削除する処理部31DEMANDーFORGETは、需要記録部30DEMAND又は削除すべき・忘れるべきデータの記録部30DEMANDを用い、削除又は忘れるべきデータブロックを記憶装置から削除する。
●前記データの記録部30DEMANDは、データブロックの利用頻度情報の他に、例えば人工知能システム4の管理者が削除すべきであると判断する情報(例:個人情報、プライバシー情報)や管理者が指定する年数・時間を経過した情報でもよい。
(本願では古くなったデータブロックの削除を行い、ヒトが時間経過により記憶したことを忘れる現象や、睡眠時に記憶の整理をする現象をコンピュータにて再現しようとする。)
Machine learning is performed according to the machine learning software unit 30STUDY and the machine learning processing unit 31STUDY. The learning data is recorded in 30DLR2.
● The frequency of use of each data block is recorded in the data demand recording unit 30DEMAND of each block of learning data. Example: The number of transactions such as functions belonging to the data block or the contract address in the data block that are called. (If tamper resistance is required for the demand recording unit, the demand recording unit 30DEMAND may record in a recording unit having a blockchain structure.)
*The above-mentioned parts (machine learning software part 30STUDY, and machine learning processing part 31STUDY, 30DEMAND, 31DEMAND-FORGET, etc. in FIG. 9) are parts related to information stimulated and stored in the human brain (parts that attempt to imitate the characteristics of living things with a machine). They are processing, memory, and software parts that attempt to reproduce, with a computer, the processing part that stimulates the brain and strongly memorizes things when living things such as humans and monkeys are trained repeatedly to remember things well (or when they are stimulated and memorize things by learning fear, or when they are stimulated and memorize things by following a desire, etc.). (They are also parts that attempt to forget data blocks that are not in demand or have not been used for a long time.)
A processing unit 31DEMAND-FORGET for storing or deleting learning data on demand uses a demand recording unit 30DEMAND or a unit 30DEMAND for recording data to be deleted or forgotten, to delete data blocks to be deleted or forgotten from the storage device.
●The data recording unit 30DEMAND may store, in addition to information on the frequency of use of data blocks, information that the administrator of the artificial intelligence system 4 determines should be deleted (e.g., personal information, privacy information) or information that has passed the number of years or time specified by the administrator.
(In this application, old data blocks are deleted, and the phenomenon in which humans forget what they have memorized over time, and the phenomenon in which memories are organized during sleep, are reproduced by a computer.)

●図9の用例ではブロックの連結はシステムの制御部で行われる。分散型台帳システムの複数サーバ群が投票等の工程を得て合意形成する図1や図2の場合とは異なる。
・1個体のロボットや無人機、ドローン、自動車・飛行機・輸送機器の記憶装置に30DLR2を含む場合を図9に記載している。
・例えばオフラインになるかもしれない自動車の人工知能システム4CARがあって、4CARには機械学習のための処理部と記憶部、入出力装置、通信装置があって、記憶部に30DLR2を備えさせる場合は、DLSのようなネットワーク20を介した合意形成は無くてもよい。(但し複数のノード4SEVERからなるコンピュータネットワークシステムを人工知能システム4とする場合、ブロックチェーン部30DLR2においてブロックデータの連結のための合意形成・コンセンサスに関する処理部・機能部は必要である。)
In the example of Figure 9, the linking of blocks is performed by the control unit of the system. This is different from the examples of Figures 1 and 2, where multiple servers in the distributed ledger system reach a consensus through voting and other processes.
Figure 9 shows a case where 30DLR2 is included in the memory device of a single robot, unmanned aerial vehicle, drone, automobile, airplane, or transportation equipment.
For example, if there is an artificial intelligence system 4CAR for an automobile that may go offline, and the 4CAR has a processing unit, a memory unit, an input/output device, and a communication device for machine learning, and the memory unit is equipped with 30DLR2, consensus formation via a network 20 such as DLS is not necessary. (However, if the artificial intelligence system 4 is a computer network system consisting of multiple nodes 4SEVER, a processing unit/functional unit related to consensus formation/consensus for linking block data is necessary in the blockchain unit 30DLR2.)

<第1・第2(第n)のブロックチェーンに記録されるハッシュ値anh、sAnhとデータブロックを要約する値anh、sAnhについて>
●図5(b)の例では30DLR2-1STの3つ分のブロックハッシュを30DLR2-2NDの1ブロックに格納する。前記3つ(整数m=3)に限定せず、所定の整数mを(ブロックチェーンのクライアントソフト、ノード用ソフト30DLSC)に設定し、又はノード端末間の投票により前記整数mを決定し、30DLR2-1STの前記m個のブロックハッシュを30DLR2-2NDの1ブロックに格納してよい。
※例えばm=100とし、mを1つ増やすための時間(Anが1ブロック増加するための時間)が5秒であれば、m=100の条件は、500秒分の時間にanに連結された時に、計100個の各ブロックデータのハッシュ値をsAnの1つのデータブロックに格納し第2のブロックチェーンに連結する。
※Anについて前記mを1つ増やすための時間が5秒のとき、10時間ごとにsAnを増やす場合はm=7200で、後述の図10の用途において10時間ごとに残高の控えをsAnに取る系では1ブロックに7200個の各ブロックハッシュ値と、その区間でのユーザーの残高の終値を記憶する。(トランザクションのあった全ユーザの最新の残高を記憶してよい)
<Regarding the hash values anh and sAnh recorded in the first and second (nth) blockchains and the values anh and sAnh summarizing data blocks>
In the example of Fig. 5(b), three block hashes of 30DLR2-1ST are stored in one block of 30DLR2-2ND. It is not limited to the three (integer m = 3), but a predetermined integer m can be set (in the blockchain client software, node software 30DLSC), or the integer m can be determined by voting between node terminals, and the m block hashes of 30DLR2-1ST can be stored in one block of 30DLR2-2ND.
*For example, if m = 100 and the time to increase m by 1 (the time to increase An by 1 block) is 5 seconds, then the condition of m = 100 means that when linked to an over a period of 500 seconds, the hash values of each of the 100 block data are stored in one data block of sAn and linked to the second blockchain.
*When the time to increase m by 1 for An is 5 seconds, if sAn is increased every 10 hours, then m = 7200. In a system in which a copy of the balance is kept in sAn every 10 hours for the purposes shown in FIG. 10 below, 7200 block hash values are stored in one block, along with the closing balance of the user for that period. (The latest balances of all users who have made a transaction may be stored.)

●図5(b)のブロックチェーンに記録されるハッシュ値anh・sAnhはデータブロックan・sAnを基にしてハッシュ関数に入力して得る。
前記ハッシュ値anh・sAnhはデータブロックan・sAnを要約したものであり、anh・sAnhはデータブロックan・sAnを要約したデータである。
●図5(b)のanh・sAnhはデータブロックan・sAnの特徴を表す(特徴を要約した)フィンガープリントデータ又は要約データ又は特徴データand・sAndを含んでよく、特徴抽出プログラムを用いて、対象となるコンテンツから前記特徴データを抽出しanh・sAnhとともにデータブロックに保存・記録してもよい。(例えば図5(b)のa4に記録されたa3のハッシュ値a3hとa3の特徴データa3d。)
[※特徴抽出プログラムを用いて、対象となるコンテンツから前記特徴データを抽出し、前記特徴データを用いて動画サイト・動画閲覧サービスで提供とする動画データ内に違法なコンテンツを検出する事は公知である。(例:NTTデータ社のサービスhttps://www.nttdata.com/jp/ja/news/release/2010/081600/ 2022年10月16日閲覧、インターネット)]
(and・sAndがハッシュ値と同等に改ざん検知に利用可能なデータならばそれをハッシュ値anh・sAnhの代わりに用いることも考えられる。)
The hash value anh·sAnh recorded in the blockchain in FIG. 5(b) is obtained by inputting the data blocks an·sAn into a hash function.
The hash value anh·sAnh is a summary of the data block an·sAn, and anh·sAnh is data summarizing the data block an·sAn.
5B anh·sAnh may include fingerprint data, summary data, or feature data and·sAnd that represent (summarize) the features of the data blocks an·sAn, and the feature data may be extracted from the target content using a feature extraction program and saved or recorded in the data block together with anh·sAnh (for example, the hash value a3h of a3 and the feature data a3d of a3 recorded in a4 in FIG. 5B).
[*It is publicly known that a feature extraction program is used to extract the feature data from the target content, and the feature data is used to detect illegal content in video data provided on video sites and video viewing services. (Example: NTT Data Corporation's service https://www.nttdata.com/jp/ja/news/release/2010/081600/ accessed October 16, 2022, Internet)]
(If and·sAnd is data that can be used to detect tampering in the same way as the hash value, it may be possible to use it instead of the hash values anh·sAnh.)

●データブロックには機械学習に必要なデータが格納されうる。
・教師あり学習における学習データと学習データに対応する人間が付けた正解のラベルデータ・アノテーションが含まれていてもよい。
・教師なし学習で用いる学習データと、学習データに正解を与えず特徴量や規則性や相関性、特徴、特異性、傾向等を解析させる処理手続き・プログラムが含まれていてよい。該処理手続き・学習データには自然界の法則(物理法則、自然科学の法則)を記憶させていてもよい。ヒトや社会に関する内容、例えば各国の法令、法令を守るための処理手続き等、機械が人間の社会であっても守るべきデータを記憶させていてもよい。(例えば取り扱えない画像については黒塗りにする処理手続き等)
●Data blocks may store data necessary for machine learning.
- It may include training data in supervised learning and human-assigned correct label data/annotations corresponding to the training data.
The learning data used in unsupervised learning may include processing procedures and programs that analyze features, regularities, correlations, characteristics, specificities, trends, etc., without providing correct answers to the learning data. The processing procedures and learning data may store the laws of nature (laws of physics, laws of natural science). Content related to humans and society, such as the laws of each country, processing procedures for complying with the laws, and other data that must be complied with even if the machine is in a human society, may be stored (for example, a processing procedure for blacking out images that cannot be handled).

●コンテンツは音声データと映像データが含まれうる。センサにより学習元4INをセンシングしたデータも含まれうる。
特に図9の利用例で自動車4CARや無人機4DRONE、ロボット4ROBOTが30DLR2を用いる場合、特徴データAnd・sAndを特徴抽出プログラムを用いて、4CAR等の移動時に外界(道路上を歩く人々の振る舞い、自動車や自転車の走行状況、道路上の音声)をカメラ又はセンサで撮影・センシングした動画データ・センシングデータから前記特徴データを抽出しanh・sAnhとともにデータブロックに保存・記録してもよい。
そして前記記録したデータを30STUDY、31STUDYを用いて機械学習を行い、学習後に保存すべきデータが生じた場合は30DLR2に記憶する。
人工知能システム4でもある自動車4CAR等は機械学習を行いながら、4の外部の系である学習先4INをセンシングし、30DLR2に記憶された情報をもとに、応答4OUTを行う。
The contents may include audio data and video data. It may also include data obtained by sensing the learning source 4IN by a sensor.
In particular, in the usage example of Figure 9, when the automobile 4CAR, the unmanned aerial vehicle 4DRONE, or the robot 4ROBOT uses 30DLR2, the feature data And/sAnd can be extracted using a feature extraction program from video data/sensing data captured/sensed by a camera or sensor of the outside world (the behavior of people walking on the road, the driving conditions of cars and bicycles, and sounds on the road) while the 4CAR, etc. is moving, and the feature data can be saved/recorded in a data block together with anh/sAnh.
Then, machine learning is performed on the recorded data using 30STUDY and 31STUDY, and if any data to be saved is generated after the learning, it is stored in 30DLR2.
An automobile 4CAR, which is also an artificial intelligence system 4, performs machine learning while sensing a learning destination 4IN, which is an external system to 4, and makes a response 4OUT based on the information stored in 30DLR2.

<図10の説明>
※トランザクションデータ、アドレス型データ、未使用トランザクションアウトプットUTXOデータ(インプットデータ・アウトプットデータ)を第1のブロックチェーンデータに格納し、前記第1のブロックチェーンデータと第2のブロックチェーンの最新ブロック時点でのアカウント・口座型データを第2のブロックチェーンの最新のブロックsAn(図ではsA2)に格納する場合を図10に示す。第2のブロックチェーンのハッシュ値を格納する第3(第n)のブロックチェーンを備えてもよい。
<Explanation of FIG. 10>
* Figure 10 shows a case where transaction data, address type data, and unused transaction output UTXO data (input data and output data) are stored in the first blockchain data, and the first blockchain data and the account type data at the time of the latest block of the second blockchain are stored in the latest block sAn (sA2 in the figure) of the second blockchain. A third (nth) blockchain that stores the hash value of the second blockchain may be provided.

<ブロックチェーン以外の30DLR>
●本願で主張する図1や図4Bや図4C等で主張する実行環境30CVUを用い、分散型台帳の記録部30DLRの記録内容の一部を暗号化し復号して利用する場合、30DLRはブロックチェーンによる方式のほか、非対称暗号と暗号的にリンクされたデータブロックを用いてもよい。有向非巡回グラフ等のデータブロック・データのまとまりが連結されている有向グラフであってもよい。
●図5の(b)に記載の、第1のブロックチェーンと第2のブロックチェーン(及び必要によっては第3、第nのブロックチェーンを持つデータ構造・データ構造体)の概念を考慮すると、30DLR2の第1のブロックチェーンがブロックチェーンでないデータ構造体の場合(例えば非対称暗号と暗号的にリンクされたデータブロック、有向グラフ、有向非巡回グラフであるデータ構造体anの場合)、30DLR2がある時間にm個連結されたデータブロックのハッシュ値・要約値・フィンガープリント・特徴データを格納する別途形成される別のデータ構造体sAnを含みうる。
<30 DLR other than blockchain>
When using the execution environment 30CVU claimed in the present application in Figures 1, 4B, 4C, etc. to encrypt and decrypt part of the recorded contents of the recording unit 30DLR of the distributed ledger for use, the 30DLR may use asymmetric encryption and cryptographically linked data blocks in addition to a blockchain-based method. It may also be a directed graph in which data blocks/data groups such as a directed acyclic graph are linked.
Considering the concept of the first blockchain and the second blockchain (and data structures having a third, nth, or third blockchain, if necessary) as shown in (b) of FIG. 5, if the first blockchain of 30DLR2 is a data structure that is not a blockchain (e.g., in the case of a data structure an that is an asymmetric cryptography and cryptographically linked data blocks, a directed graph, or a directed acyclic graph), 30DLR2 may include another data structure sAn that is formed separately to store hash values, summary values, fingerprints, and feature data of m linked data blocks at a certain time.

<図面説明>
<図1>分散型台帳の記録部の暗号データについて復号を行いプログラムを実行するプログラム実行部30CVM・30CVMUの説明図
<図1A>ユーザー端末アクセスを受けて、実行環境30CVM(仮想機械30CVM)と平文読み取り仮想機械PVMが台帳データ部30DLRにアクセス可能であって、前記30CVMが暗号化データを含むブロックデータの暗号化データを復号しスマートコントラクトとして実行することを示す説明図(前記平文読み取り仮想機械PVMはイーサリアムにおけるEVMが実現されている例)
(もしくは、図1Aは2つのスマートコントラクトを実行するための仮想機械を含むシステムの説明図。前記2つの仮想機械のうち、片方は平文をブロックチェーン部に書き込みする仮想機械PVMであり、他方は暗号化されたデータをブロックチェーン部に書き込む仮想機械CVMである。)(図1Aのシステムはブロックチェーン部について通常は仮想機械PVMにより他社からも平文や暗号化されたデータを読みだせる。暗号化データを復号して読み取るには仮想機械CVMに暗号データの復号鍵を入力等して閲覧する)
図中のBDCn:暗号化・符号化・秘匿化されたデータを含むデータ、データブロック、トランザクション(nは整数)、BDPn:平文データを含むデータ等(nは整数)
<図1B>実行環境30CVMU(仮想機械30CVMU)と平文読み取り仮想機械PVMによる暗号データを含むブロックデータからの暗号データの読み取り・復号・データ実行・戻り値生成・データの台帳への書き込みの説明図
(または、図1Bは図1Aの場面でユーザ端末に仮想機械CVM類似機能を含む場合の説明図。図1Aのシステムで仮想機械PVMにて暗号化したデータをブロックチェーンに書き込み、その後利用したいときに仮想機械PVMにて暗号化データをブロックチェーンからそのまま読み取り、ユーザ端末に暗号化されたスマートコントラクトを含む暗号データを一時記録させたのち、ユーザ端末に搭載された暗号化データ復号部とスマートコントラクト実行部を用いてスマートコントラクトを実行してもよい。)
<図2>本願で用いるコンピュータとコンピュータネットワークの例
<図3A>暗号化データを含むデータ30DLR―DATA内の、暗号化データ本体30DLR-CDATA-BODY及びその付属データと暗号化の開始部分30DLR―CDATA―PSと終了部分30DLR―CDATA―PEの説明図(暗号化データ30DLR-CDATA-BODYを30DLRから選択・識別・区別し選び取るための部分の説明図)
<図3B>暗号化データ30DLR-CDATA-BODYを30DLRから選択・識別・区別し選び取るための部分の説明図
<図3C>サービス提供サーバ3C(例えばOTP認証のOTP生成・認証や認証後のサービスを提供するサーバ3C)とユーザ端末1Aとノード端末3A(3Aの30DLR)は、ユーザ端末1Aの要求によって、3Cが3Aから得た暗号化データを復号し、OTP認証などのサービスを提供する場合の説明図
<図4A>ウェブアプリ式実行部30CVMUによるOTP認証時の電子計算機接続図 ※20―1A3Dはインターネットのような通信経路20が使えず、ユーザ端末1Aがオフライン対応型認証端末3Dと通信したいときの通信経路20―1A3D(有線式・無線式の通信経路)
<図4B>ウェブアプリ式実行部30CVMUによるOTP認証時のOTP生成・計算に関する本願の実施例
1.ウェブページ・ウェブアプリのサービスを行うサーバ端末3C・3Dが、
ユーザ端末1AにOTP計算アルゴリズムを含むOTP生成ソフトウェアつきウェブページ・アプリ30CVMU-APPを送付し、
2.ユーザ端末は30CVMU-APPを受け取り、記憶し、実行し、
3.30CVMU-APPはユーザの30DLRにアクセスする秘密鍵情報F4B-2や、秘密鍵を用いた署名処理と、ユーザの持つトークン番号(OTPトークンの個体番号)及びその他引数の入力や処理を受け、30CVMU-W3Jを用いて30DLRより暗号化データを含む情報30DLR-DATA、(これには次が含まれる・・・F4B-24:暗号化されたキー値CKC・暗号化された関数Cfp等、及び、F4B-25:平文データ、TIDA、Bn、等)をユーザ端末にダウンロード・記憶する。
4.暗号データ復号部F4B-10にて暗号化データを復号化する。F4B-10に関連して平文データと暗号化データ間、或いは暗号化鍵の異なる暗号化データ間を区別する識別情報が30DLR内に備えられ、前記識別情報を用いF4B-10やF4B-26の機能部で識別・検知し、F4B-26のように平文データ・暗号データの振り分けを行ってよい。
5.暗号化データを復号鍵F4B-9にて復号し、復号データF4B-11を得る。
6.復号後データF4B-11(CKCを復号して得たKC、Cfpを復号して得た関数fp等)、平文データF4B-12(ブロック番号Bn、トークン番号TIDA等)をOTP計算部F4B-15 に入力し、OTP計算をさせ、OTPを出力・生成させる(F4B-16)。その後、OTPを印刷物や表示装置に記録させ(F4B-6)、若しくはユーザ端末の記憶装置に記憶する(F4B-5)。 F4B-6にて、コンピュータが出力するOTPをユーザが手書きや撮影などして別の記録手段にOTPを記録した場合も本願の記録手段F4B-6とする。
※アプリデータは改ざん検知手段やデジタル署名がなされていると好ましい。または改ざんされにくい媒体に記録されていると好ましい。例えば前記ウェブアプリ・アプリデータ30CVMU-APPはブロックチェーンのスマートコントラクトに記録されていてもよい。(ECMAScript部が改ざんされた場合、正しいOTPの計算・生成、ウェブアプリ動作が困難になるため。またアプリなりすましを防ぐにはアプリデータへの電子証明書等が必要。)アプリデータはSSL・TLS等により暗号化された経路で伝達されてもよい。
・前記ウェブアプリ・アプリデータは証明書・電子署名・HMAC・ハッシュ値などの等改ざん検知できる手段を備えてよい。
<<特願2021-004788との関連>>
※特願2021-004788で主張された内容を本願で行ってもよい。特願2021-004788ではスマートコントラクトの実行部は本願で定義する平文の実行部30PVM(特にイーサリアム仮想機械)であったが、本願では暗号文の含まれるデータに対応する実行部30CVM、実行部30CVMUを利用することを提案している。
●特願2021-004788ではOTPの計算時にOTPの表示期間・入力待ち受け時間を変える処理と、OTPの桁数・データ量を増減する処理が開示されているが本願でも例えば30CVMUのOTP計算部F4B-15に前記処理を行う部分を備えさせてよい。公知のOTPを利用するための処理を含んでよい。
※図4Cや図4Bの場合、変数KCのみシークレットであるが(暗号化データCKCの形で隠されているが)、トークンIDやユーザ識別子Aはオープンにできるので、外部の人が例えばNFTの譲渡が起きたことは察知できる。ユーザ識別子Aを追加で隠す場合もある。
<図4C>ウェブアプリ式実行部30CVMUによるOTP認証時のOTP比較・検証・認証に関する本願の実施例
●図4Bと同様である。
・図4Cでアプリは認証端末3C、3Dに備えられ、OTPの記録手段を用いてF4C-9に入力されたOTPについて
・図4Bではユーザ端末がOTPを生成するアプリをダウンロードし保有する秘密鍵を用いて30DLRにアクセスし変数関数を呼び出してOTPを計算させる。
<図5>図5の(a)と(b)は、第1(30DLR2-1ST)と第2(30DLR2-2ND)のブロックチェーンについて、第2のブロックチェーンに第1のブロックチェーンのブロックのハッシュ値が含まれていることで、第1のブロックチェーンのブロックが削除されていても、前記ハッシュ値を含む第2のブロックチェーンによって、ブロックチェーンの連続性を検証可能にする事の説明図。
・第2のブロックチェーンのブロックハッシュを第1のブロックチェーンのブロックに組み込んで第1と第2を相互に関連付け(リンク付け)てもよい。
図5の(c)は前記第1と第2のブロックチェーンに加え第3のブロックチェーンを備え(あるいは第3、第4、第5、・・・第nのブロックチェーンを備え)互いにハッシュ値共有部(30DLRーSHA、30DLRーSHAーn)を有するときの説明図。
<図6>図6は図5のブロックチェーンデータにおいて、第1(30DLR2-1ST)と第2(30DLR2-2ND)のブロックチェーンについて、第2のブロックチェーン(30DLR2-2ND)にA2・A4のハッシュ値A3h・A4hが含まれていることで、A2・A4のデータが削除されていても、A3h・A4hを含む第2のブロックチェーンによって、第2のブロックチェーンと第1ブロックチェーンの残されたブロック間での連続性を検証可能にする事の説明図。
<図7>図7は図5の端末3Aの説明部。30DLR2を用いる分散型台帳システムのノード端末3Aの制御部・処理部と記憶部の説明部。
<図8>図8は図5の第1および第2のブロックチェーンを連結する手順の一つの説明図。
<図9>図9は図5のブロックチェーン記録部30DLR2を有するコンピュータ4又は人工知能システム4、又はサーバ4SERVER、ロボット4ROBOT、輸送機器(4CAR)、無人機(4DRONE)、農業機械(4AGRI)、生産用機械(4Production)等の例。(必ずしもネットワーク20を利用しない装置の例)
※図9に記載のコンピュータは入力元情報4INから学習用データを取得し、改竄耐性を持つブロックチェーン型記録部30DLR2に学習用データ30STUDYーDATAを記録させ、機械学習部(31STUDY)を用いた機械学習に利用する。
(機械学習には深層学習等公知の方法を用いてよく、学習データについても教師ありデータなど公知の方法を用いてよい。)
※学習後の学習データは、利用した頻度や新しさのデータ(需要データ30DEMAND)が学習データと対応するように付与され記憶装置に記憶される。
※学習データは学習データを需要によって保存または削除する部分(31DEMANDーFORGET)と需要データによって30DLR2の第1のブロックチェーン部から削除される。
※データブロックを忘れさせる事により人工知能システム4が一度記録したことを忘れさせるようにする。またシステムがデータを忘れたとしても、過去のハッシュ値又はデータを要約する部分(a1h,a2h,a3h,,,,anh)が第2のブロックチェーンのデータブロック(sA1,sA2,sA3,,,,sAn)に残ることにより、改竄の心配なく、既に一度学習していたデータであることがわかる効果もある。)
<図10>UTXO型トランザクションデータやアカウント型のトランザクションデータを第1・第2・・・第nのブロックチェーンを含むデータ記録部30DLR2に記憶させる場合の説明図。
※ここで第2(第3、第n)のブロックチェーンの最新のブロックsAnには第1のブロックチェーンの各アカウント毎の残高リスト又はユーザーのUTXOによる残高リストが第2のブロックチェーンの最新のブロックsAnに記録される場合の説明図。
<Drawing Description>
<Figure 1> An explanatory diagram of the program execution units 30CVM and 30CVMU that decrypt encrypted data in the record section of the distributed ledger and execute a program. <Figure 1A> An explanatory diagram showing that, upon receiving access from a user terminal, the execution environment 30CVM (virtual machine 30CVM) and the plaintext reading virtual machine PVM can access the ledger data section 30DLR, and that the 30CVM decrypts the encrypted data of block data that includes encrypted data and executes it as a smart contract (the plaintext reading virtual machine PVM is an example in which the EVM in Ethereum is realized).
(Alternatively, FIG. 1A is an explanatory diagram of a system including virtual machines for executing two smart contracts. Of the two virtual machines, one is a virtual machine PVM that writes plain text to the blockchain section, and the other is a virtual machine CVM that writes encrypted data to the blockchain section.) (In the system of FIG. 1A, the blockchain section is usually made available to other companies via the virtual machine PVM, allowing plain text and encrypted data to be read. To decrypt and read encrypted data, the decryption key for the encrypted data is input to the virtual machine CVM, etc., for viewing.)
In the figure, BDCn: data, data block, or transaction including encrypted, coded, or concealed data (n is an integer), BDPn: data including plaintext data, etc. (n is an integer).
<Fig. 1B> An explanatory diagram of the execution environment 30CVMU (virtual machine 30CVMU) and the plaintext reading virtual machine PVM reading encrypted data from block data including encrypted data, decrypting it, executing the data, generating a return value, and writing the data to the ledger (or Fig. 1B is an explanatory diagram of the case where the user terminal includes a function similar to the virtual machine CVM in the scene of Fig. 1A. In the system of Fig. 1A, the data encrypted by the virtual machine PVM is written to the blockchain, and then when desired to use it, the encrypted data is read directly from the blockchain by the virtual machine PVM, and the encrypted data including the encrypted smart contract is temporarily stored in the user terminal, and the smart contract is executed using the encrypted data decryption unit and smart contract execution unit installed in the user terminal.)
<Fig. 2> Example of computer and computer network used in this application <Fig. 3A> An explanatory diagram of the encrypted data body 30DLR-CDATA-BODY and its associated data, the encryption start part 30DLR-CDATA-PS, and the end part 30DLR-CDATA-PE in the data 30DLR-DATA containing encrypted data (an explanatory diagram of the part for selecting, identifying, distinguishing, and picking out the encrypted data 30DLR-CDATA-BODY from 30DLR)
<Fig. 3B> An explanatory diagram of the part for selecting, identifying, and distinguishing the encrypted data 30DLR-CDATA-BODY from 30DLR. <Fig. 3C> An explanatory diagram of the case where the service providing server 3C (for example, the server 3C that generates OTP and provides authentication services for OTP authentication and services after authentication), the user terminal 1A, and the node terminal 3A (30DLR of 3A) decrypt the encrypted data obtained by 3C from 3A at the request of the user terminal 1A and provide services such as OTP authentication. <Fig. 4A> Computer connection diagram during OTP authentication by the web application execution unit 30CVMU. *20-1A3D is a communication path 20-1A3D (wired/wireless communication path) when the user terminal 1A wants to communicate with the offline-compatible authentication terminal 3D because the communication path 20 such as the Internet cannot be used.
<FIG. 4B> Example of the present application regarding OTP generation/calculation during OTP authentication by the web application execution unit 30CVMU. 1. The server terminals 3C and 3D that provide services for web pages and web applications,
Sending a web page application 30CVMU-APP with OTP generation software including an OTP calculation algorithm to the user terminal 1A;
2. The user terminal receives, stores, and executes the 30CVMU-APP;
3. The 30CVMU-APP receives private key information F4B-2 for accessing the user's 30DLR, signature processing using the private key, and input and processing of the user's token number (individual number of the OTP token) and other arguments, and uses the 30CVMU-W3J to download and store information 30DLR-DATA including encrypted data from the 30DLR to the user terminal (this includes the following: F4B-24: encrypted key value CKC, encrypted function Cfp, etc., and F4B-25: plain data, TIDA, Bn, etc.).
4. The encrypted data is decrypted by the encrypted data decryption unit F4B-10. Identification information for distinguishing between plaintext data and encrypted data, or between encrypted data with different encryption keys, may be provided in the 30DLR in relation to F4B-10, and the identification information may be used for identification and detection by the functional units of F4B-10 and F4B-26, and plaintext data and encrypted data may be separated as in F4B-26.
5. The encrypted data is decrypted with the decryption key F4B-9 to obtain decrypted data F4B-11.
6. The decrypted data F4B-11 (KC obtained by decrypting CKC, function fp obtained by decrypting Cfp, etc.) and plain text data F4B-12 (block number Bn, token number TIDA, etc.) are input to the OTP calculation unit F4B-15, which performs OTP calculation and outputs/generates the OTP (F4B-16). After that, the OTP is recorded on a printed matter or display device (F4B-6), or stored in a storage device of the user terminal (F4B-5). In F4B-6, the OTP output by the computer is written by the user or photographed and recorded in another recording means, which is also considered as the recording means F4B-6 of the present application.
*It is preferable that the application data is provided with a tamper detection means or a digital signature. Alternatively, it is preferable that the application data is recorded on a medium that is difficult to tamper with. For example, the web application/application data 30CVMU-APP may be recorded in a smart contract of a blockchain. (If the ECMAScript portion is tampered with, it becomes difficult to calculate and generate a correct OTP and operate the web application. Also, a digital certificate for the application data is required to prevent application spoofing.) The application data may be transmitted via a route encrypted by SSL, TLS, etc.
The web application/application data may be provided with means for detecting tampering with certificates, digital signatures, HMACs, hash values, etc.
<<Relationship to Patent Application No. 2021-004788>>
*The content asserted in Patent Application No. 2021-004788 may be implemented in this application. In Patent Application No. 2021-004788, the execution unit of the smart contract was the plaintext execution unit 30PVM (particularly the Ethereum Virtual Machine) defined in this application, but this application proposes using the execution unit 30CVM and execution unit 30CVMU that correspond to data containing ciphertext.
In Japanese Patent Application No. 2021-004788, a process for changing the display period and input standby time of the OTP when calculating the OTP, and a process for increasing or decreasing the number of digits and data amount of the OTP are disclosed, but in this application, for example, the OTP calculation unit F4B-15 of 30CVMU may be provided with a part that performs the above-mentioned processes. It may include a process for using a known OTP.
* In the case of Figure 4C or Figure 4B, only the variable KC is secret (hidden in the form of encrypted data CKC), but the token ID and user identifier A can be made public, so that an outsider can sense, for example, that an NFT has been transferred. There are also cases where the user identifier A is additionally hidden.
<FIG. 4C> An embodiment of the present application regarding OTP comparison, verification, and authentication during OTP authentication by the web application execution unit 30 CVMU. This is the same as FIG. 4B.
In FIG. 4C, the application is provided in the authentication terminals 3C and 3D, and the OTP is input to F4C-9 using the OTP recording means. In FIG. 4B, the user terminal downloads an application that generates an OTP, accesses 30DLR using the private key it holds, and calls a variable function to calculate the OTP.
<Figure 5> Figures 5 (a) and (b) are explanatory diagrams showing that for the first (30DLR2-1ST) and second (30DLR2-2ND) blockchains, the second blockchain contains a hash value of a block of the first blockchain, so that even if a block of the first blockchain is deleted, the second blockchain containing the hash value makes it possible to verify the continuity of the blockchain.
- A block hash of the second blockchain may be incorporated into a block of the first blockchain to correlate (link) the first and second.
FIG. 5(c) is an explanatory diagram when a third blockchain is provided in addition to the first and second blockchains (or a third, fourth, fifth, ..., nth blockchain is provided), each of which has a hash value sharing part (30DLR-SHA, 30DLR-SHA-n).
<Figure 6> Figure 6 is an explanatory diagram of the first (30DLR2-1ST) and second (30DLR2-2ND) blockchains in the blockchain data of Figure 5, where the second blockchain (30DLR2-2ND) contains the hash values A3h and A4h of A2 and A4, so that even if the data of A2 and A4 has been deleted, the second blockchain containing A3h and A4h makes it possible to verify the continuity between the remaining blocks of the second blockchain and the first blockchain.
<Fig. 7> Fig. 7 is an explanatory section of the terminal 3A in Fig. 5. An explanatory section of the control section, processing section and storage section of the node terminal 3A of the distributed ledger system using 30DLR2.
<Figure 8> Figure 8 is an explanatory diagram of one procedure for linking the first and second blockchains in Figure 5.
<Fig. 9> Fig. 9 shows examples of a computer 4 or an artificial intelligence system 4 having the block chain recording unit 30DLR2 in Fig. 5, or a server 4SERVER, a robot 4ROBOT, a transport device (4CAR), an unmanned aerial vehicle (4DRONE), an agricultural machine (4AGRI), a production machine (4Production), etc. (Examples of devices that do not necessarily use the network 20)
*The computer described in Figure 9 obtains learning data from the input source information 4IN, records the learning data 30STUDY-DATA in a tamper-resistant blockchain-type recording unit 30DLR2, and uses it for machine learning using the machine learning unit (31STUDY).
(For machine learning, known methods such as deep learning may be used, and for learning data, known methods such as supervised data may be used.)
* After learning, the learning data is stored in the storage device with data on frequency of use and recency (demand data 30 DEMAND) corresponding to the learning data.
*The learning data is deleted from the part (31DEMAND-FORGET) that stores or deletes the learning data according to demand and from the first block chain part (30DLR2) according to demand data.
*By making the data block forget, the artificial intelligence system 4 forgets that it has once recorded it. Even if the system forgets the data, the past hash values or parts summarizing the data (a1h, a2h, a3h, ..., anh) remain in the data blocks (sA1, sA2, sA3, ..., sAn) of the second blockchain, so there is no need to worry about tampering and it is clear that the data has already been learned once.)
<Figure 10> An explanatory diagram of the case where UTXO type transaction data or account type transaction data is stored in a data recording unit 30DLR2 including the first, second, ..., nth blockchains.
*This is an explanatory diagram of the case where the latest block sAn of the second (third, nth) blockchain records a balance list for each account in the first blockchain or a balance list based on a user's UTXO.

分散型台帳の記録部の暗号データについて復号を行いプログラムを実行するプログラム実行部30CVM・30CVMUの説明図An explanatory diagram of the program execution units 30CVM and 30CVMU that decrypt encrypted data in the record section of the distributed ledger and execute the program. ノード端末3Aの暗号化データ復号機能付き実行環境30CVM(仮想機械30CVM)と平文読み取り型仮想機械30PVMの動作説明図An explanatory diagram of the operation of the execution environment 30CVM (virtual machine 30CVM) with encrypted data decryption function of the node terminal 3A and the plain text reading type virtual machine 30PVM. ユーザ端末内実行環境30CVMUと平文読み取り仮想機械30PVMによる30DLRからの暗号データの読み取り・復号・データ実行、及び30DLRへの書き込み説明図A diagram for explaining the reading, decryption, and data execution of encrypted data from 30DLR by the execution environment 30CVMU in the user terminal and the plaintext reading virtual machine 30PVM, and writing to 30DLR. 本願で用いるコンピュータとコンピュータネットワークの例Examples of Computers and Computer Networks Used in This Application 暗号化データ30DLR-CDATA-BODYを30DLRから選択・識別・区別し選び取るための部分の説明図An explanatory diagram of a part for selecting, identifying, and distinguishing the encrypted data 30DLR-CDATA-BODY from 30DLR. 暗号化データ30DLR-CDATA-BODYを30DLRから選択・識別・区別し選び取り、暗号化・復号するための処理説明図A diagram for explaining the process of selecting, identifying, and distinguishing the encrypted data 30DLR-CDATA-BODY from 30DLR and encrypting and decrypting it. サービス提供サーバ3Cが3Aから得た暗号化データを復号し、OTP認証などのサービスを提供する場合の説明図FIG. 13 is an explanatory diagram of a case where the service providing server 3C decrypts the encrypted data obtained from 3A and provides a service such as OTP authentication. ウェブアプリ式実行部30CVMUによるOTP認証時の電子計算機接続図Computer connection diagram for OTP authentication using the web application execution unit 30CVMU ウェブアプリ式実行部30CVMUによるOTP認証時のOTP生成・計算に関する本願の実施例Example of the present application regarding OTP generation and calculation during OTP authentication by the web application execution unit 30CVMU ウェブアプリ式実行部30CVMUによるOTP認証時のOTP比較・検証・認証に関する本願の実施例Example of the present application regarding OTP comparison, verification, and authentication during OTP authentication by the web application execution unit 30CVMU 第2と第1のブロックチェーンを備える記録部30DLR2の説明図。An explanatory diagram of a recording unit 30DLR2 having a second and a first block chain. 図5の30DLR2において、第1ブロックチェーンの一部が削除されている場合に、第2のブロックチェーンと第1ブロックチェーンの残されたブロック間での連続性を検証可能にする事の説明図。An explanatory diagram showing how, in 30DLR2 of Figure 5, when a portion of the first blockchain is deleted, it is possible to verify the continuity between the remaining blocks of the second blockchain and the first blockchain. 図7は図5の処理をするノード端末3Aやコンピュータ又はサーバ3C・3D、人工知能システム4等の処理部・記憶部の説明部。FIG. 7 is an explanatory section of the processing section and storage section of the node terminal 3A, the computers or servers 3C and 3D, the artificial intelligence system 4, etc., which perform the processing of FIG. 図8は図5の第1および第2のブロックチェーンを連結する場合の手順の例の説明図。FIG. 8 is an explanatory diagram of an example of a procedure for linking the first and second blockchains of FIG. 図9は図5のブロックチェーン記録部30DLR2を有するコンピュータ4又は人工知能システム4等の例。FIG. 9 is an example of a computer 4 or artificial intelligence system 4 having the blockchain recording unit 30DLR2 of FIG. UTXO型トランザクションデータやアカウント型のトランザクションデータを記録部30DLR2に記憶させる場合の説明図。FIG. 13 is an explanatory diagram of a case where UTXO type transaction data or account type transaction data is stored in a recording unit 30DLR2.

本願で実行部30CVM・30CVMUを実施する場合には、図1、図1A、図1B、図2や図4A、図4B、図4Cに記載のコンピュータ、コンピュータネットワーク・システム、コンピュータ処理部と記憶部を用いる。
また、本願主張の記録部30DLR2については図5の(b)や(c)の構成を用いる。
In implementing the execution units 30CVM and 30CVMU in this application, the computers, computer network systems, computer processing units and storage units shown in Figures 1, 1A, 1B, 2, 4A, 4B and 4C are used.
Moreover, the recording unit 30DLR2 of the present application uses the configurations shown in FIG. 5(b) or (c).

本願は、実行部30CVMU・30CVMUをユーザ端末1A、サーバ3C・3D、ノード3Aに備えさせることにより、分散型台帳部の記録部に記録された平文データと暗号化データ混合したデータから暗号化データを復号可能にする。
実行部30CVMU・30CVMUに関しては代表的な説明図は図1、図1A、図1B、図3A、図3B、図4A、図4B、図4Cである。
By providing execution units 30CVMU and 30CVMU in user terminal 1A, servers 3C and 3D, and node 3A, the present application makes it possible to decrypt encrypted data from data that is a mixture of plain text data and encrypted data recorded in the recording section of the distributed ledger section.
Representative diagrams for executive units 30CVMU-30CVMU are FIGS. 1, 1A, 1B, 3A, 3B, 4A, 4B, and 4C.

<平文と暗号化データ(及び暗号化データ同士)を区別し復号・実行する部分>
本願は、前記データ台帳の記録部30DLRと、
30DLRに記録されたデータ30DLR―DATAを読み取る30PVMと、
図3Aに記載の前記30DLR―DATAに含まれる、
暗号化の開始部分30DLR―CDATA―PSと、
終了部分30DLR―CDATA―PEを表現する、
暗号化区間識別子を検出する検出手段、
又は暗号化部分を指定する部分(30DLR―CDATA―PS・PE、
30DLR―CDATA-ADDRESS、
30DLR―CDATA-ANNOTATION)と、
図3B等に記載の前記検出手段により暗号化部分を解析・認識し、
暗号化部分を選び取る処理F3B2と、
前記暗号化区間に記録された
暗号化データ30DLR-CDATA-BODYを復号する手段、
又は前記手段として処理部F3B3、処理用の鍵F3B4、鍵計算手段F3B5 と、
前記復号する手段により、
暗号化データを復号して得られた復号データF3B9を得て、
前記復号データを命令として実行する、
実行部30CVM・30CVMU・F3B13と、を備えているコンピュータ(前記コンピュータはノード3Aでもよく、好ましくはユーザ端末やサーバ3C・3D)に、
分散型台帳システムの台帳データ部に含まれる、暗号化データを復号し実行させる、仮想機械又は実行環境又は実行部30CVM・CVMUを提案する。
前記実行部30CVMU・30CVMのサービス例としてOTP認証サービスがあり、図4B、図4Cに記載のOTPの生成や認証サービスを行う。
<The part that distinguishes between plaintext and encrypted data (and between encrypted data) and decrypts and executes it>
The present application relates to a data ledger recording unit 30DLR,
30PVM for reading data 30DLR-DATA recorded in 30DLR;
Included in the 30DLR-DATA shown in FIG.
The start of encryption 30 DLR-CDATA-PS;
Represents the end portion 30 DLR-CDATA-PE;
detection means for detecting a crypto zone identifier;
Or a part that specifies the encrypted part (30DLR-CDATA-PS·PE,
30 DLR-CDATA-ADDRESS,
30 DLR-CDATA-ANNOTATION) and
The detection means shown in FIG. 3B analyzes and recognizes the encrypted portion,
A process F3B2 for selecting the encrypted portion;
A means for decrypting the encrypted data 30DLR-CDATA-BODY recorded in the encryption section;
or as the means, a processing unit F3B3, a processing key F3B4, and a key calculation unit F3B5;
The decoding means
The encrypted data is decrypted to obtain decrypted data F3B9,
Executing the decoded data as instructions;
A computer (which may be a node 3A, and is preferably a user terminal or a server 3C or 3D) having an execution unit 30CVM, 30CVMU, or F3B13.
We propose a virtual machine, execution environment, or execution unit 30 CVM/CVMU that decrypts and executes encrypted data included in the ledger data section of the distributed ledger system.
An example of a service provided by the execution units 30CVMU and 30CVM is an OTP authentication service, which performs the OTP generation and authentication services shown in Figs. 4B and 4C.

●前記30CVMはユーザ端末の記憶部・処理部を用いて形成される実行用ソフトウェア30CVMU(アプリ・ブラウザ・ウェブページ・ウェブアプリ、30CVMU-APP)でもよい。
●30PVMとは具体的にはイーサリアムにおけるイーサリアム仮想機械EVMであり、本願では前記EVMとの互換性持ちつつ、暗号化データを扱うために、30PVMで30DLRのデータを読み取らせた後に引き続き30CVM、30CVMというプログラム実行部に前記データを入力させ、入力されたデータに暗号化データがある場合には復号し復号されたデータを実行または利用する。
The 30CVM may be executable software 30CVMU (application browser web page web application, 30CVMU-APP) formed using the memory and processing unit of the user terminal.
●30PVM is specifically the Ethereum Virtual Machine EVM in Ethereum, and in this application, while maintaining compatibility with the EVM, in order to handle encrypted data, the data in 30DLR is read by 30PVM, and then the data is input to program execution units called 30CVM and 30CVM, and if the input data contains encrypted data, it is decrypted and the decrypted data is executed or utilized.

<<ウェブブラウザベースの暗号化データ復号機能付き実行環境>>
●30CVMUの一つとしてウェブブラウザでの実行環境30CVMU-HTMLJSでもよい。
●図4A・図4B・図4Cにウェブブラウザのウェブアプリ実行部30CVMU-HTMLJSを用いる場合の電子計算機の接続図や、動作例としてワンタイムパスワードOTPを計算し生成・出力する実行環境と、入力されたOTPを比較検証し認証する実行環境の動作の流れ図を記載する。
●図4A・図4B・図4Cの構成では前記EVMをブロックチェーンの記録部の暗号化データ交じりであってもよい平文読み取り用実行環境(第1のプログラム実行環境)として用い、暗号化データ解読部を持つウェブブラウザのウェブアプリ実行部30CVMU-HTMLJSを第2のプログラム実行環境に用いている。
<<Web browser-based execution environment with encrypted data decryption function>>
●As one of the 30CVMUs, the execution environment 30CVMU-HTMLJS in a web browser may be used.
4A, 4B, and 4C show a connection diagram of an electronic computer when using the web application execution unit 30CVMU-HTMLJS of a web browser, and, as an example of operation, a flow diagram of the operation of an execution environment that calculates, generates, and outputs a one-time password OTP, and an execution environment that compares and verifies the input OTP and authenticates it.
●In the configurations of Figures 4A, 4B, and 4C, the EVM is used as an execution environment (first program execution environment) for reading plain text, which may be mixed with encrypted data in the blockchain record section, and the web application execution section 30CVMU-HTMLJS of a web browser having an encrypted data decryption section is used as the second program execution environment.

●図4B・図4Cでは30CVMUの具体的な形態として、ウェブブラウザでの実行環境30CVMU-HTMLJS(30CVMU-APP)内部にECMAScriptの形でブロックチェーンからOTP計算用の変数KCの暗号データCKCやトークン番号TIDA、ブロック番号Bnを呼び出す処理部を持ち、
前記CKCは復号鍵にて非対称鍵暗号又は対象鍵暗号にて復号されデータKCを得て、前記30CVMU-HTMLJS内部ECMAScriptのOTP計算手続き・アルゴリズムに従い、前記変数の群KC、TIDA、Bnをハッシュ関数或いはOTP計算用関数に入力する。
図では、OTPを計算しOTPを生成出力する場合(図4B)と、
入力されたOTPを検証認証する場合(図4C)が実施例1として提案される。
(図4B、図4Cでは、ハッシュ関数fhに変数CKCを復号鍵により復号して得た変数KCやトークン番号TIDA、ブロック番号Bnを入力し、ハッシュ値を求める等の処理を経て、OTP計算する。)
In Figures 4B and 4C, as a specific form of 30CVMU, a processing unit is provided within the web browser execution environment 30CVMU-HTMLJS (30CVMU-APP) that calls up encrypted data CKC of the variable KC for OTP calculation, the token number TIDA, and the block number Bn from the blockchain in the form of ECMAScript.
The CKC is decrypted using an asymmetric key cipher or symmetric key cipher with a decryption key to obtain data KC, and the group of variables KC, TIDA, and Bn are input to a hash function or an OTP calculation function according to the OTP calculation procedure and algorithm of the 30CVMU-HTMLJS internal ECMAScript.
In the figure, there is a case where an OTP is calculated and generated and output (FIG. 4B),
A case where the input OTP is verified and authenticated (FIG. 4C) is proposed as a first embodiment.
(In FIG. 4B and FIG. 4C, the variable KC obtained by decrypting the variable CKC with the decryption key, the token number TIDA, and the block number Bn are input to the hash function fh, and the OTP is calculated through processes such as finding a hash value.)

●本提案では、ウェブアプリ30CVMU-APP(或いはダウンロードされたオフライン駆動するローカルなHTML・JSファイル・EXEファイル等実行可能形式)等の形で用いてもよいが、30CVMU-APPのハッシュ値や作成者の電子署名情報30CVMU-APP-SIGNを含んでよい。30CVMU-APPと30CVMU-APP-SIGNが別のブロックチェーン(或いは改竄検知できる媒体、リポジトリ)に記憶され、ユーザがダウンロードするなどしてユーザ端末にて利用してもよい。第2実行環境のソフトウェアデータは改ざんされていないことが好ましく、ファイル作成者の身元(ファイルの出所)が分かる手段が付与されていてもよく、電子署名、デジタル署名、HMAC、ハッシュ値などでウェブアプリ・第2実行環境30CVM・30CVMUやその作成者の正しさ・真正性を検証できると好ましい。 ● In this proposal, it may be used in the form of a web application 30CVMU-APP (or an executable format such as a downloaded local HTML/JS file/EXE file that runs offline), but may also include a hash value of 30CVMU-APP and the creator's electronic signature information 30CVMU-APP-SIGN. 30CVMU-APP and 30CVMU-APP-SIGN may be stored in another blockchain (or a medium or repository that can detect tampering) and may be downloaded by the user and used on a user terminal. It is preferable that the software data of the second execution environment has not been tampered with, and a means for identifying the identity of the file creator (the origin of the file) may be added, and it is preferable that the correctness and authenticity of the web application/second execution environment 30CVM/30CVMU and its creator can be verified using an electronic signature, digital signature, HMAC, hash value, etc.

●第2実行環境はユーザの秘密鍵を管理してもよい。例えば第2実行環境はウォレットソフトウェアの形態でもよい。
●第2実行環境30CVM・30CVMUは復号鍵を備えてもよい。第2実行環境は復号鍵の入力・出力ができてもよい。秘密鍵や復号鍵を耐タンパ性のある記憶装置に記憶していてもよい。
●可能ならば秘密鍵や復号鍵は耐タンパ性のある記憶域に記憶・記録されていると好ましい。
The second execution environment may manage the user's private keys. For example, the second execution environment may be in the form of wallet software.
The second execution environment 30CVM/30CVMU may be provided with a decryption key. The second execution environment may be capable of inputting and outputting the decryption key. The private key and the decryption key may be stored in a tamper-resistant storage device.
●If possible, it is preferable that private keys and decryption keys be stored and recorded in a tamper-resistant memory area.

本願は、ブロックチェーン記録部30DLR2を用いて、第1のブロックチェーンのブロックデータが消去又は忘れられていても、第2のブロックチェーンに第1のブロックチェーンのハッシュ値・特徴データが記憶されていることにより、30DLR2のデータの連続性を検証する事を可能にする。ブロックチェーン記録部30DLR2の説明図は図5、図6,図7、図8であり、30DLR2を利用するシステムの説明図は図9である。 This application uses the blockchain recording unit 30DLR2 to make it possible to verify the continuity of the data in 30DLR2 even if the block data in the first blockchain is deleted or forgotten, because the hash value and characteristic data of the first blockchain are stored in the second blockchain. The explanatory diagrams of the blockchain recording unit 30DLR2 are shown in Figures 5, 6, 7, and 8, and the explanatory diagram of a system that uses 30DLR2 is shown in Figure 9.

<一部ブロックを消去する機能>
暗号化されたデータを含むブロックはその中身が秘密になり、その中身が誰かにとって必要なデータか、DоS攻撃で蓄積したデータかを区別できない。そこで本願ではブロックチェーンの古いブロックを忘れる機能が必要であると考え考案する。本願のブロックチェーンデータ構造はデータブロックの一部を消去する(忘れられる機能を持つ)分散型台帳技術用に提案しているが、その用途に限らず改ざん検知可能なコンテンツデータや人工知能の記憶域にもちいてもよい。
<Function to erase some blocks>
The contents of blocks containing encrypted data are kept secret, and it is impossible to distinguish whether the contents are data that someone needs or data that has been accumulated through a DoS attack. Therefore, this application considers and devises a function to forget old blocks in the blockchain. The blockchain data structure of this application is proposed for distributed ledger technology that erases part of a data block (has the function to forget), but it can also be used for content data that can be detected by tampering and for storage of artificial intelligence.

<30DLR2の人工知能システム4への利用(図9)>
・人工知能が学習していく際にその記憶した内容がブロックチェーンのように過去から未来にわたり連結され学習していくことで、人工知能が学習していく際のデータの蓄積が第三者から追えるようにできる。
(例えば人工知能の学習の過程を外部から解析する際にブロックチェーンのブロック連結にしたがって学習データをため込んでいくので、どのデータブロックの学習結果が処理改善に寄与しているかを検証できるかもしれない。)
・また本願のブロックチェーンのデータ構造30DLR2では第1のブロックチェーン上のデータをノード端末3A・システム4から忘れてもよい。
・記憶領域や外部との通信に制限のある輸送機器や家電に搭載されたコンピュータノード3Aに基づくAIであっても、その処理系はデータを忘れることができ、忘れることで記憶領域を再度確保し、再度学習に用いることができる。
<Use of 30DLR2 in artificial intelligence system 4 (Figure 9)>
-As artificial intelligence learns, the content it has memorized will be linked from the past to the future like a blockchain, making it possible for third parties to track the accumulation of data as the artificial intelligence learns.
(For example, when analyzing the learning process of artificial intelligence from the outside, learning data will be accumulated according to the block links of the blockchain, so it may be possible to verify which data block's learning results are contributing to processing improvements.)
- In addition, in the blockchain data structure 30DLR2 of the present application, data on the first blockchain may be forgotten from the node terminal 3A/system 4.
Even in the case of an AI based on a computer node 3A installed in transportation equipment or home appliances that have limited memory space and external communication, the processing system can forget data, and by forgetting, the memory space can be re-acquired and used for learning again.

<実施例3>図10は30DLR2において、第2のブロックチェーン部に第1のブロックチェーンの指定ブロック数毎のNFT・FTやデジタル資産、証券データ、デジタル通貨、分散型台帳の手数料トークンの各ユーザの残高リストを記録できる部分を備えさせた実施例である。例えば1分ごとにデータブロックが蓄積する第1のブロックチェーン内のブロックデータが失われていても、例えば1時間・1日・1年毎にデータブロックの蓄積する第2のブロックチェーンには前記時間毎に残高データが記録されており、取引残高がバックアップされる。 <Example 3> Figure 10 shows an example of 30DLR2 in which the second blockchain section is equipped with a section that can record a balance list of each user for NFT/FT, digital assets, securities data, digital currency, and distributed ledger fee tokens for each specified number of blocks in the first blockchain. For example, even if block data in the first blockchain, in which data blocks are accumulated every minute, is lost, the second blockchain, in which data blocks are accumulated every hour, day, or year, records balance data for each of the aforementioned time periods, and transaction balances are backed up.

<トランザクションタイプ>
●本願の実施においてトランザクションタイプは、UTXOベーストランザクションやアドレス・アカウントベーストランザクションでもよい。
<アドレス・アカウントベーストランザクションとアカウント暗号化利用>
●NFT、OTP機能付きなどのNFT、FT、ユーティリティトークン、ガバナンストークン、セキュリティトークンの保管、流通時に、前記30CVMUーHTMLJSのような暗号化に対応する実行環境を用いることで、トークンの内部プログラムを秘匿化し、スマートコントラクト内に記録されたユーザ識別子とトークン番号・トークン保有関係を暗号化して秘匿化する。
<Transaction type>
In the implementation of this application, the transaction type may be a UTXO-based transaction or an address/account-based transaction.
<Address/account-based transactions and use of account encryption>
When storing and distributing NFTs, NFTs with OTP functions, FTs, utility tokens, governance tokens, and security tokens, an execution environment that supports encryption such as the 30CVMU-HTMLJS is used to conceal the internal programs of the tokens, and the user identifiers, token numbers, and token holding relationships recorded in the smart contract are encrypted and concealed.

●例えば代替不可能なユニークであるNFTを誰が購入し、誰に譲渡されていったか追跡することを管理者以外には把握しづらくする必要があるかもしれない。
・或るスマートコントラクトがトークン持ち主の名簿(又は株式名簿)のようなユーザ識別子(名義)とトークン番号の対応を記録し、株式の数はユーザ識別子に帰属するトークン番号の数を数え上げ調べる、株式名簿型スマートコントラクトがある場合、あるトークン番号に対し割り当てられているユーザ識別子が暗号化されたデータA-CRPTがブロックチェーンのブロックデータに記録されており、
前記30CVMU-HTMLJSのような暗号化に対応する実行環境と復号鍵/暗号化鍵と、前記データA-CRPTを用いて、ブロックチェーンの記録されたブロックデータに対し読取と復号を行いユーザ識別子Aを得て、ユーザ識別子Aがどのトークン番号・IDのトークンを保有しており、それを誰に送信するかを処理させ、処理結果を暗号化しブロックチェーンの(最新の)ブロックデータに書込を行い、暗号化されたデータを取り扱う事を提案する。
For example, it may be necessary to make it difficult for anyone other than the administrator to track who purchased NFTs, which are unique and irreplaceable, and to whom they were transferred.
・In the case of a stock registry-type smart contract, where a smart contract records the correspondence between user identifiers (names) and token numbers, such as a token holder register (or stock registry), and the number of shares is determined by counting the number of token numbers belonging to a user identifier, data A-CRPT, which is an encrypted version of the user identifier assigned to a certain token number, is recorded in the block data of the blockchain.
We propose to use an execution environment that supports encryption such as the 30CVMU-HTMLJS, a decryption key/encryption key, and the data A-CRPT to read and decrypt the block data recorded in the blockchain to obtain user identifier A, process which token number/ID user identifier A holds and to whom to send it, encrypt the processing result, write it to the (latest) block data of the blockchain, and handle the encrypted data.

<UTXOトランザクションと暗号化利用>
本願において、前記30CVM・30CVMU、30DLRや30DLR2を用いる系では、30DLR、30DLR2に格納されるトランザクションタイプは、UTXO型、アカウント型どちらも可能であり、制限されない。(※UTXO:未使用トランザクションアウトプット)データ構造はブロックチェーン型、DAG型の分散型台帳でもよい。前記30CVMU等暗号化データ実行環境を用いる系は、ブロックチェーン型のほかにDAG型を用いてもよい。
<UTXO Transactions and Crypto Use>
In the present application, in a system using the 30CVM, 30CVMU, 30DLR, or 30DLR2, the transaction type stored in the 30DLR or 30DLR2 can be either the UTXO type or the account type, and is not limited. (*UTXO: Unused Transaction Output) The data structure may be a blockchain type or DAG type distributed ledger. A system using an encrypted data execution environment such as the 30CVMU may use the DAG type in addition to the blockchain type.

<匿名性>データの匿名性を保つために本願実施例1の方法を用いて、情報の一部を暗号化し秘匿化してよい。(例:トークンの保有者のユーザ識別子、トークンID、残高等)
トークンの保有主となるユーザ識別子を暗号化して記録する事により、ユーザのプライバシーを守る。トークンの異なるユーザ間での交換や、トークンの割り当て時にユーザ情報を秘匿化する。
<Anonymity> In order to maintain the anonymity of data, a part of the information may be encrypted and concealed using the method of the first embodiment of the present invention (e.g., the user identifier of the token holder, the token ID, the balance, etc.).
The user's privacy is protected by encrypting and recording the user identifier of the token holder. User information is kept confidential when tokens are exchanged between different users or when tokens are assigned.

<保管・振替>コントラクトを管理するユーザ端末からコントラクトを操作し、或るトークン番号のトークンを或るユーザ識別子Aから除去し、別のユーザ識別子Bに付与するというトークンの振替(保管振替)を、ユーザ識別子を隠しながら行うこともできる。
※実施例3は実施例1と実施例2を組み合わせた例でもよい。
<Storage and Transfer> By operating the contract from a user terminal that manages the contract, a token with a certain token number can be removed from a certain user identifier A and assigned to another user identifier B, thereby transferring the token (storage transfer) while hiding the user identifier.
*The third embodiment may be a combination of the first and second embodiments.

<<実施例1のその他事項>>
<秘匿化・暗号化・符号化>本願はブロックチェーン部又は分散型台帳システムの台帳データ部を部分的に暗号化・符号化・秘匿する方法に関連する。具体的には暗号化されたブロックチェーン上のデータを読み取って実行する実行環境30CVM・30CVMUを提案する。
●実行環境30CVMは暗号化されたデータを復号する手段と復号する鍵又は鍵の入力部を備えてよい。鍵はユーザ端末1Aから入力されてもよいし、実行環境30PVMに備えていてもよい。
<<Other matters regarding Example 1>>
<Confidentiality, Encryption, and Coding> This application relates to a method for partially encrypting, encoding, and concealing the blockchain portion or the ledger data portion of a distributed ledger system. Specifically, we propose the execution environment 30CVM/30CVMU that reads and executes encrypted data on the blockchain.
The execution environment 30CVM may include a means for decrypting encrypted data and a decryption key or a key input unit. The key may be input from the user terminal 1A or may be included in the execution environment 30PVM.

●図3Cでは、例えば実行環境(30CVMU)がユーザ端末1Aのフロントエンド部・ウェブブラウザで表示利用されるHTML、ECMAScript)に含まれる場合に、バックエンド部F3C3(PHP言語、Python言語、Ruby言語等により記述されたプログラムが動く環境・各サービス提供会社システム・分散型台帳システムによる環境)は、サーバ端末3C又はサーバ端末3Cと接続された他のサーバ3A・3Dに接続されていてよい。(図では3Cは3Aと接続されており、3Cは30DLRのデータを呼び出す。) ●In FIG. 3C, for example, when the execution environment (30CVMU) is included in the front-end part of the user terminal 1A (HTML, ECMAScript displayed and used in a web browser), the back-end part F3C3 (an environment in which programs written in PHP, Python, Ruby, etc. run, the systems of each service provider, and an environment based on a distributed ledger system) may be connected to the server terminal 3C or other servers 3A and 3D connected to the server terminal 3C. (In the figure, 3C is connected to 3A, and 3C calls the data of 30DLR.)

●図4B、図4Cが本願で主張する具体例である。
例えば、特願2021-004788等に記載のスマートコントラクトをハッシュ関数とその引数となるキー変数を用いてOTPを計算させる手法が考案されており、キー値として、変数KCと、時間により変わる変数としてブロック番号Bn、OTPを生成する生成器の製造番号に相当するトークンID変数TIDAをハッシュ関数fhに代入し、fh(Bn、TIDA、KC)を計算し、OTPを計算する。
・本願では暗号化(後述の耐量子暗号の暗号化でもよい)を行う事でOTP計算時のキー値を秘匿化できる。
・また既存のEVM等でスマートコントラクト実行・変数・データ読取処理の後に30CVM・30CVMUにて処理をするので、既存システムに対し互換性を有する。
4B and 4C are specific examples claimed in this application.
For example, a method has been devised in which a smart contract as described in Patent Application No. 2021-004788 etc. calculates an OTP using a hash function and a key variable as its argument, in which a variable KC as a key value, a block number Bn as a variable that changes over time, and a token ID variable TIDA corresponding to the serial number of the generator that generates the OTP are substituted into a hash function fh to calculate fh(Bn, TIDA, KC), and the OTP is calculated.
In the present application, the key value during OTP calculation can be kept confidential by performing encryption (which may be post-quantum encryption, which will be described later).
- In addition, smart contracts are executed and variables and data are read using existing EVMs, etc., and then processed by 30CVM/30CVMU, so it is compatible with existing systems.

●前記変数KCを暗号化してCKCとし、ブロックチェーン部にCKC記録させた後、
前記暗号化データを読み取り、30CVM・30CVMUにてOTPを計算させる方法として、以下の手順を考案する。
(1)ブロックチェーン部から30CVM・30CVMUに、次の3つの変数を読み取る。
1.変数Bn、2.変数TIDA、3.暗号化された変数CKC(鍵KCを暗号化して得た鍵CKC)
(2)実行部30CVM・30CVMUで復号する。
暗号化されたデータ30DLR-CDATAである変数KC(鍵CKC、)を、
復号鍵(フロントエンド部に記憶された復号鍵、記録手段または端末3A、端末3C、端末3D等に記憶された復号鍵)によって、復号し、鍵KC(変数KC、データKC)を得る
(3)OTP計算部に入力し計算する
変数Bn、変数TIDA、復号された鍵KC・変数KCを、ECMAScriptの処理手続き内のハッシュ関数、OTP計算部に入力し、OTPを計算させ、計算結果・処理結果(計算されたOTP)を、ユーザ端末1Aの記憶装置に出力を行う。●計算結果(OTP)をユーザ端末1Aと通信可能な端末、サーバ端末3Cに送信し出力してもよい。出力装置を用いて紙などに印刷し、ディスプレイに表示し、(音声出力・点字出力・画像出力等、人に伝える為の出力方法で)出力したOTPをユーザが確認し記録媒体に筆記して記録し、又はNFCタグなどに記録させ、若しくは通信により別の装置に伝達してもよい。
After encrypting the variable KC to CKC and recording the CKC in the blockchain,
The following procedure is devised as a method for reading the encrypted data and calculating the OTP with 30CVM/30CVMU.
(1) Read the following three variables from the blockchain section to 30CVM and 30CVMU.
1. variable Bn, 2. variable TIDA, 3. encrypted variable CKC (key CKC obtained by encrypting key KC)
(2) Decryption is performed by the execution units 30CVM and 30CVMU.
The variable KC (key CKC), which is the encrypted data 30DLR-CDATA, is
Decryption is performed using a decryption key (a decryption key stored in the front-end unit, a recording means, or a terminal 3A, a terminal 3C, a terminal 3D, etc.) to obtain a key KC (variable KC, data KC). (3) The variable Bn, the variable TIDA, the decrypted key KC, and the variable KC are input to the OTP calculation unit and calculated. The variable Bn, the variable TIDA, and the decrypted key KC and variable KC are input to the hash function and OTP calculation unit in the processing procedure of ECMAScript to calculate the OTP, and the calculation result and processing result (calculated OTP) are output to the storage device of the user terminal 1A. The calculation result (OTP) may be sent to a terminal that can communicate with the user terminal 1A, the server terminal 3C, and output. The output OTP may be printed on paper or the like using an output device, displayed on a display, and the output OTP (by an output method for communicating with a person, such as audio output, braille output, image output, etc.) may be confirmed by the user, written on a recording medium, or recorded on an NFC tag, or transmitted to another device by communication.

●暗号化に関して対称鍵・共通鍵暗号化と非対称鍵・公開鍵暗号化のいずれを用いてもよい。復号鍵30CKEY(F3B5、F4B-9)は耐量子暗号技術で用いられる暗号化鍵/復号鍵でもよく、非対称鍵・公開鍵暗号化でもよい。また対称鍵・共通鍵暗号化でもよい。共通鍵方式ではAES、公開鍵方式ではECDSA、RSA等がある。 ● Either symmetric key/shared key encryption or asymmetric key/public key encryption may be used for encryption. The decryption key 30CKEY (F3B5, F4B-9) may be an encryption key/decryption key used in post-quantum cryptography, or asymmetric key/public key encryption. Symmetric key/shared key encryption may also be used. Shared key methods include AES, and public key methods include ECDSA, RSA, etc.

●本願では、非対称鍵暗号・公開鍵暗号のうち耐量子性のある耐量子公開鍵暗号技術を用いてよい。(耐量子公開鍵暗号技術:公開鍵暗号技術の中でも、量子コンピュータが苦手とすると考えられている問題を基に暗号アルゴリズムが設計されているもの。)
・前記耐量子公開鍵暗号技術のうち格子問題を用いる方式(CRYSTALS等)がある。(CRYSTALS:Cryptographic Suite for Algebraic Lattices)
・本願でも格子問題を用いた(ラティスベースの)非対称鍵・公開鍵暗号化を用いて、ブロックチェーンのブロック内に記録されたデータが暗号化されていてもよい。ハッシュベースの非対称鍵・公開鍵暗号化でもよい。(NISTはラティスベースのCRYSTALS-KYBER、CRYSTALS-Dilithium、FALCON、ハッシュベースSPHINCS+方式を候補として発表している。)
In this application, quantum-resistant public key cryptography, which is one of asymmetric key cryptography and public key cryptography, may be used. (Quantum-resistant public key cryptography: A type of public key cryptography in which the cryptographic algorithm is designed based on problems that quantum computers are thought to have difficulty with.)
Among the post-quantum public key cryptography technologies, there is a method (CRYSTALS, etc.) that uses lattice problems. (CRYSTALS: Cryptographic Suite for Algebraic Lattice)
In this application, data recorded in a block of a blockchain may be encrypted using (lattice-based) asymmetric key/public key encryption using a lattice problem. Hash-based asymmetric key/public key encryption may also be used. (NIST has announced the lattice-based CRYSTALS-KYBER, CRYSTALS-Dilithium, FALCON, and hash-based SPHINCS+ methods as candidates.)

●本願でOTP認証用のキーとなる変数・データのKCやそれを暗号化したCKCは、データサイズが大きくないことを期待しており(例えば32バイトの数倍の量)、先のキー値においてはデータ量が少ないことから耐量子暗号により暗号化・復号するための処理時間が短い事を期待する。 ● In this application, the KC, which is the variable/data key for OTP authentication, and the CKC that encrypts it, are expected to have a small data size (for example, several times the amount of 32 bytes), and since the data volume of the key value is small, it is expected that the processing time for encryption/decryption using quantum-resistant cryptography will be short.

<<実施例2のその他事項>>
<所定期間経過後のデータブロックの破棄>取引履歴などの秘匿化・台帳データの削減のため、或る指定時刻を経過した時に過去の一部のデータブロックが削除されていても、ブロックチェーンの連続性を示すことのできるブロックチェーン構造を提案する。所定期間経過後のデータブロックの削除 ・消去・忘却可能な方式を提案する。
例えば最新のブロックに対して7年経過後のブロックチェーン内データブロックを削除可能(及び平文では参照不可能)にしつつ、ジェネシスブロックから最新のブロックまでの連続性を検証できるブロックチェーン構造を提案する。
<<Other matters in Example 2>>
<Discarding data blocks after a specified period of time> In order to conceal transaction history and reduce ledger data, we propose a blockchain structure that can show the continuity of the blockchain even if some past data blocks are deleted after a specified time has passed. We propose a method that allows data blocks to be deleted, erased, or forgotten after a specified period of time has passed.
For example, we propose a blockchain structure that allows data blocks in the blockchain that are seven years old to be deleted (and cannot be referenced in plain text) while verifying the continuity from the genesis block to the latest block.

<所定期間経過後のデータブロックの検索>所定期間経過後のデータブロックを検索しない仮想機械・実行部を提案する。所定期間経過後のデータブロック内のアカウントのトランザクション頻度・利用頻度に応じて、データブロックを検索する/しない仮想機械・実行部を提案する。所定期間経過後の暗号化されたデータブロックを検索する/しない仮想機械・実行部を提案する。 <Searching for data blocks after a specified period of time> We propose a virtual machine/execution unit that does not search for data blocks after a specified period of time. We propose a virtual machine/execution unit that searches/does not search for data blocks depending on the transaction frequency/usage frequency of accounts in a data block after a specified period of time. We propose a virtual machine/execution unit that searches/does not search for encrypted data blocks after a specified period of time.

<<実施例3のその他事項>>秘匿化データの発信者を知るための策(1)と、暗号化データが蓄積し台帳部データが増大した場合の策(2)を提案する。 <<Other matters in Example 3>> We propose a measure (1) for identifying the sender of concealed data, and a measure (2) for what to do when encrypted data accumulates and the ledger data increases.

(1)暗号化データへのアドレス等データ付与
アドレス情報・識別子情報30DLR―CDATA-ADDRESSや、暗号化データの取り扱いのための情報30DLR―CDATA-ANNOTATIONを、暗号化データ30DLR-CDATA-BODYにタグ付けして配置・記録してもよい。30DLR―CDATA-ANNOTATIONは電子署名やハッシュ値、MAC等、秘匿化・暗号化されたデータ30DLR-CDATA-BODYの証明書データ・検証用データにまつわるものでもよい。
※本願は特願2021-004788におけるOTP認証用のOTP生成コントラクトとOTP認証部の内部変数・関数を秘匿化したい意図がある。しかし発明者としてはコントラクト作成者の情報まで暗号化して隠す想定はしていない。
例えばOTP生成トークンのスマートコントラクトのコントラクトアドレスやそれをデプロイしたユーザー識別子(コントラクトオーナーのユーザ識別子)を、暗号化データとともに記憶し、暗号化データの作成者や暗号化データそのものの識別子を記憶できれば好ましいと考える。
(1) Adding address and other data to encrypted data Address information and identifier information 30DLR-CDATA-ADDRESS and information 30DLR-CDATA-ANNOTATION for handling encrypted data may be tagged and arranged/recorded in the encrypted data 30DLR-CDATA-BODY. 30DLR-CDATA-ANNOTATION may be related to the certificate data and verification data of the concealed/encrypted data 30DLR-CDATA-BODY, such as an electronic signature, a hash value, or a MAC.
*This application intends to conceal the internal variables and functions of the OTP generation contract for OTP authentication and the OTP authentication unit in Patent Application No. 2021-004788. However, the inventors do not intend to encrypt and hide the information of the contract creator.
For example, it would be preferable to store the contract address of the OTP generation token smart contract and the user identifier who deployed it (the user identifier of the contract owner) together with the encrypted data, and to store the identifier of the creator of the encrypted data and the encrypted data itself.

●例えばコントラクトアドレスやコントラクトデプロイユーザのアドレス30DLR―CDATA-ADDRESSや、その他暗号化データの取り扱いのための情報30DLR―CDATA-ANNOTATIONを、暗号化データ30DLR-CDATA-BODY の開始部分識別子30DLR-CDATA-PSの直前や、30DLR-CDATA-BODYの終了部分識別子30DLR-CDATA-PEの直後に配置してよい。
・台帳記録部(30DLR等)内で検索をかける場合に、検索キーワードとして30DLR―CDATA-ADDRESSや、その他暗号化データの取り扱いのための情報30DLR―CDATA-ANNOTATIONを利用できるように(検索により望みの暗号化データを含むブロックやコントラクトが見つかるように)、30DLR2のデータにユーザ識別子、コントラクトアドレス、ハッシュタグ、トークンなどを扱う場合トークンの名前等を記憶させていてもよい。
For example, a contract address, a contract deploy user address 30DLR-CDATA-ADDRESS, or other information for handling encrypted data 30DLR-CDATA-ANNOTATION may be placed immediately before the start portion identifier 30DLR-CDATA-PS of the encrypted data 30DLR-CDATA-BODY or immediately after the end portion identifier 30DLR-CDATA-PE of 30DLR-CDATA-BODY.
When searching within the ledger record section (30DLR, etc.), 30DLR-CDATA-ADDRESS and other information for handling encrypted data 30DLR-CDATA-ANNOTATION can be used as search keywords (so that a block or contract containing the desired encrypted data can be found by search), and the data in 30DLR2 may store a user identifier, contract address, hash tag, token name, etc. when handling tokens, etc.

(2)第1のブロックチェーン(メインチェーン)と第二のブロックチェーン(ブロックチェーンを指定されたブロック番号の区間ごとに要約するブロックチェーン)を用いて、ブロックチェーンの連続性を検証しようとする方法
●図面の図5ではデータブロックの連結間隔がT1の第一のブロックチェーン30DLR2-1STがあって、前記30DLR2-1STの各ブロックデータのハッシュ値を保有する、連結間隔がT2の第二のブロックチェーン30DLR2-2NDがあって、前記T1とT2の時間の大小関係はT1<T2である。
●前記30DLR2-2NDは或るT2の時間時刻に含まれる30DLR2-1STのデータブロック群(m個のデータブロック)の其々のハッシュ値・特徴データを格納する特徴を持つ。
●第3のブロックチェーン30DLR2-3RDがT3連結間隔の時間を持ち、さらに高次の第mのブロックチェーン30DLR2-nの連結間隔がTnであるとき、時間の大小関係はT1<T2<T3<・・・<Tnである。
(2) A method for verifying the continuity of blockchains using a first blockchain (main chain) and a second blockchain (a blockchain that summarizes the blockchain for each section of a specified block number). In FIG. 5 of the drawings, there is a first blockchain 30DLR2-1ST with a data block linkage interval of T1, and a second blockchain 30DLR2-2ND with a linkage interval of T2 that holds the hash values of each block data of 30DLR2-1ST, and the time relationship between T1 and T2 is T1<T2.
The 30DLR2-2ND has the feature of storing the hash values and characteristic data of each of the data blocks (m data blocks) of the 30DLR2-1ST included in a certain time T2.
●When the third blockchain 30DLR2-3RD has a connection interval of T3, and the connection interval of the even higher order mth blockchain 30DLR2-n is Tn, the time relationship is T1<T2<T3<...<Tn.

<<請求の範囲>>
請求項1:ブロックチェーンを用いた分散型台帳システムのノード3Aと、ユーザ端末Uと、ネットワーク20を含む、コンピュータネットワークシステムにおいて、
前記コンピュータネットワークシステムは、ブロックチェーン30DLRのブロックデータに記憶されたデータの読み取り、又は前記データを読み取り後に、前記データをプログラムとして実行可能な、仮想機械30PVM又は実行部30PVMと、
前記暗号化データを復号し、前記暗号化データを復号して得られたデータを用いる、
スマートコントラクト又はプログラムを実行可能な、プログラム実行部30CVM、又はユーザ端末のプログラム実行部30CVMUと、
を備えているコンピュータネットワークシステム。
請求項2:前記ブロックチェーンのデータ構造に、第1のブロックチェーンと第2のブロックチェーンの構造が含まれており、前記第2のブロックチェーンのブロックに、前記第1のブロックチェーンの指定個数のブロックの其々のハッシュ値が含まれている、ブロックチェーンデータ構造30DLR2を用いる、請求項1に記載のコンピュータネットワークシステム。
請求項3:前記第2のブロックチェーンのブロックに、前記第1のブロックチェーンのトランザクションデータを基にする情報、又は前記トランザクションデータを基にした資産の残高情報を記録する特徴を持ち、ブロックチェーン内のデータ暗号化を可能する特徴と、前記第1のブロックチェーンのデータを削除可能にする特徴を持つ、請求項2に記載のコンピュータネットワークシステム。
請求項4:請求項1に記載のコンピュータネットワークシステムを用いた動的パスワードの認証システム。
請求項A:ブロックチェーン部分に、第1のブロックチェーンと、第2のブロックチェーンの構造が含まれており、前記第2のブロックチェーンのデータブロックに、前記第1のブロックチェーンの指定個数のデータブロックの其々のハッシュ値が含まれている、ブロックチェーンのデータ構造。
請求項B:請求項Aに記載のブロックチェーンのデータ構造に、機械学習における学習データを記憶する特徴を持つ、人工知能システム。
<<Claims>>
Claim 1: In a computer network system including a node 3A of a distributed ledger system using a blockchain, a user terminal U, and a network 20,
The computer network system includes a virtual machine 30PVM or an execution unit 30PVM that can read data stored in block data of the blockchain 30DLR or execute the data as a program after reading the data;
decrypting the encrypted data; and using data obtained by decrypting the encrypted data.
A program execution unit 30CVM or a program execution unit 30CVMU of a user terminal capable of executing a smart contract or a program;
A computer network system comprising:
Claim 2: A computer network system as described in claim 1, using a blockchain data structure 30DLR2, in which the blockchain data structure includes structures of a first blockchain and a second blockchain, and the blocks of the second blockchain include respective hash values of a specified number of blocks of the first blockchain.
Claim 3: The computer network system described in claim 2, having a feature in which information based on transaction data of the first blockchain or asset balance information based on the transaction data is recorded in a block of the second blockchain, having a feature enabling data encryption within the blockchain, and a feature enabling data of the first blockchain to be deleted.
Claim 4: A dynamic password authentication system using the computer network system according to claim 1.
Claim A: A data structure of a blockchain, the data structure including a first blockchain and a second blockchain in a blockchain portion, the data blocks of the second blockchain including respective hash values of a specified number of data blocks of the first blockchain.
Claim B: An artificial intelligence system having the feature of storing learning data for machine learning in the blockchain data structure described in claim A.

<実施例1>パブリックな分散型台帳システムのデータ記録部を利用する場合に、改竄困難かつ動作内容を秘匿化したプログラム・ソフトウェアを提供する。
分散型台帳システムに改竄困難な形で記憶した暗号化データ・変数・関数を用いてサービス用のプログラムが実行できるようなり、ユーザのプライバシーを保護するとともにプログラム動作を秘匿化し保護する。
・分散型台帳システムを用いたOTP認証サービスにおいてプログラムを秘匿化し保護する。
<実施例2>ブロックチェーンから需要に応じてデータブロックを削除できる。
既存のトークンの類をやり取りする分散型台帳システムのほかに、取引履歴、何かの商品荷物追跡データ、SNS用途など、記憶すべき量が多い一方で保存期限が限られるサービスへの利用を想定する。
・人工知能が学習していく際に、需要のある若しくは指定されたデータブロックについては、改竄されず忘れないようにしつつ、需要のないデータを忘れることのできる人工知能が実現できる。
・機械学習のための学習データを記憶していく内容がブロックチェーン式で記憶され、過去から未来にわたり連結され学習していくことで、人工知能が学習していく際のデータの蓄積が第三者から追えるようにできるかもしれない。
<実施例3>動作内容を秘匿化したプログラム・ソフトウェアを提供する。その際に記録媒体であるブロックチェーン部はデータブロックを削除する機能を備え、例えば何らかの資産や商品の取引データの容量の増大を抑制する。
・またユーザに過去の或る期限の第1のブロックチェーンのデータブロック群での取引の推移や残高をまとめた残高証明書・取引履歴のサマリーを第2のブロックチェーンに記憶でき、ユーザが自身の資産やその推移を確認する事に役立つ。
・前記残高証明書・取引履歴のサマリーを第2のブロックチェーンに改竄困難な状態で記憶することにより、ユーザの財産の記録を守る。
<Example 1> When using the data recording section of a public distributed ledger system, we provide a program/software that is difficult to tamper with and whose operation is kept confidential.
Programs for services can be executed using encrypted data, variables, and functions stored in the distributed ledger system in a form that is difficult to tamper with, protecting user privacy while also concealing and protecting program operation.
- Conceal and protect programs in OTP authentication services using a distributed ledger system.
Example 2: Data blocks can be deleted from the blockchain on demand.
In addition to being used as a distributed ledger system for exchanging existing tokens, it is envisioned that it will also be used for services that require a large amount of data to be stored but have a limited storage period, such as transaction history, product tracking data, and social networking applications.
- As the AI learns, it is possible to realize an AI that can forget data that is not in demand while preventing tampering with and forgetting data blocks that are in demand or specified.
- The learning data for machine learning will be stored in a blockchain format, and by linking it from the past to the future and learning from it, it may be possible for third parties to track the accumulation of data as the artificial intelligence learns.
<Example 3> Provide a program/software whose operation is concealed. In that case, the block chain unit, which is a recording medium, has a function to delete data blocks, suppressing the increase in the volume of transaction data for some assets or products, for example.
In addition, a balance certificate summarizing the transaction progress and balance in the data blocks of the first blockchain for a certain period in the past and a summary of transaction history can be stored in the second blockchain, which helps users check their assets and their progress.
- The balance certificate and summary of transaction history are stored in a second blockchain in a manner that makes it difficult to tamper with, thereby protecting the records of users' assets.

<図1から図2>
1A ユーザ端末、ユーザコンピュータ
10A記憶装置 (基本ソフト、ブラウザ等、動作用ソフトウェア含む)
10AKEY 秘密鍵情報記録手段(3Aの30DLRアクセス用)
11A処理装置
16A外部記憶装置、外部記録手段
100記憶装置、101処理装置、10WIR 内部配線、バス
102通信装置、104入力装置、105出力装置
20 ネットワーク、通信経路、情報の伝達(配布)経路
3A 分散型台帳システムのノード端末 、 3B3Aと同等の他のノード
30 記憶部
31 制御部・処理部
3C サーバ 、3D サーバ(オフラインになりうる)
30CKEY 暗号化・復号用鍵情報記録手段 ※耐タンパ性有する物可
30CVM・30CVMU ユーザ端末用暗号データ復号可能な第2実行環境
30UIユーザ端末インターフェース(ブラウザ等)
30PVM 平文データ読み取り用の第1実行環境
30DLR 分散型台帳システムDLSの記録部・台帳部。具体的にはブロックチェーン部
30DLR-DATA 30DLRに含まれる暗号化データを含むデータ
30DLR-CDATA-BODY 暗号化データ本体
<図3Aから図3C>
30DLR-CDATA-ADDRESS(30DLR-CDATA-ANNOTATION) 暗号化データを含むデータに付与された識別子(ユーザ識別子、コントラクトアドレス等。ブロックチェーンエクスプローラー等でデータ検索される時の識別子)
30DLR-CDATA-PS 暗号データの開始部、暗号データを他のデータと区別する部分
30DLR-CDATA-BODY 暗号データ本体
30DLR-CDATA-PE 暗号データの終了部、前記区別する部分
30DLR-PDATA 平文データ(或いはその他データ)
F3B1データ入力処理部、F3B2 入力データ解析部 (暗号データを他のデータと区別する部分の識別部、検出部、解析部。30DLR-CDATA-PS・PE検出部)
F3B3復号部分、F3B4暗号化鍵/復号鍵管理部分、F3B5 鍵・鍵計算方法記憶部
F3B6復号鍵入力手段(例:1A、16A、3A、3C、30DLR等から鍵を得る)
F3B7秘密鍵等30DLRアクセス手段
F3B8 耐ウイルス型実行部、F3B9復号されたデータ、F3B10記憶部、F3B11処理部、F3B12処理結果応答、F3B14 出力処理部、F3B15暗号化部分
F3C1スマートコントラクト提供部(ウェブアプリフロントエンド)
F3C2暗号処理機能付き仮想機械実行部CVM
F3C3 30CVM管理部(バックエンド、サーバー3C・3D・3Aの側)
F3C4 鍵データ・鍵管理部(耐タンパ性を持つ記憶域可)
F3C5 ブロックチェーンクライアント部ソフトウェア(ノード通信部)
30DLR-C ブロックチェーンデータ記録部(又は暗号化データ含む読み出した台帳データ)
<図4B、図4Cの説明>
<<図4B>>
F4B-1ウェブアプリへの入力用データ群、DLSへのアクセス用データ
F4B-2ユーザ秘密鍵
F4B-3アプリ入力用復号鍵等
F4B-4ウェブアプリ実行用ソフトウェアデータ部ブラウザ、30CVMU-W3J含んでもよい
F4B-5計算されたOTP
F4B-6 記録手段(含む印刷物、表示面)
F4B-7計算されたOTP
F4B-8 ウェブアプリ実行部30CVMUーHTMLJS(ウェブブラウザの処理部・記憶部)
配信されたウェブアプリデータ、30CVMU-APP(ECMAScript式、OTP生成部)
F4B-9 復号鍵(例:CKCの復号鍵)
F4B-10 暗号データ復号部(暗号化データと平文データを区別・識別・選択し選び取る処理部と、暗号化データを復号する処理部を含んでよい。)

F4B-11復号済データ 例:CKC復号により得たデータKC、Cfp復号により得た関数fp
F4B-12平文データ例:Bn、TIDA
F4B-13 ハッシュ関数fh(或いは、一方向関数fh、若しくはOTP計算のための処理手続き関数)、fhの引数例:fh(KC、Bn、TIDA)
F4B-14関数fp
F4B-15 OTP計算部
F4B-16<OTPを生成する処理>計算されたOTPを戻り値として返す
F4B-17 30CVMU-APP‐SIGN(証明書、電子署名、ハッシュ値)、ウェブアプリデータの正しさを検知・検証する手段にかかわるデータ。デジタル署名、HMAC等、タイムスタンプ等(例:30CVMU-APPのハッシュ値等。)、30CVMU-APPは必要によっては30CVMU-APP-SIGN備える。
※30CVMU-APPを配布若しくは通信によりユーザ端末やサーバに伝達するときは、通信内容を暗号化・秘匿化してよい。(通信のうち、電気通信では、例えばSSL/TLS通信により暗号化通信を行ってもよい。通信のうち郵送による信書郵便で、光学メディア・磁気記録装置・半導体メモリによる記録手段に、30CVMU-APP(及び30CVMU-APP‐SIGN)を記録させユーザ端末及びユーザへ送付してもよい。)前記伝達時に30CVMU-APP‐SIGNを30CVMU-APPに添付してよい。
F4B-18 ユーザ端末1A
F4B-19 サーバ3C、3D
F4B-20 DLSノード3A
F4B-21 30DLR
データブロック又はスマートコントラクトに、暗号化された変数CKC、A-CRPTや暗号化された関数Cfp、トークン番号(NFTのID)TIDA、ユーザ識別子A、ブロック番号Bnを含む。( トークン番号(NFTのID)TIDAが暗号化し変数CTIDAとして記録してもよい)
F4B-22 30PVM平文読み取り仮想機械PVM。例:イーサリアム仮想機械EVM
F4B-23 30CVMU-W3J、分散型台帳システムへのアクセス手段。例:ブロックチェーンアクセス用API(Web3.js等)
※30CVMU-APPと、30CVMU-APP-SIGNはブロックチェーンのブロックデータとハッシュ値の対応関係と同様でもよく、前記30CVMU-APPと30CVMU-APP‐SIGNはブロックチェーンのデータブロックでもある30CVMU-APPと、そのハッシュ値30CVMU-APP-SIGNをユーザ1Aがノード3A(3C)のブロックチェーン記録部30DLRから読み取ることで1Aの記憶装置、処理部に配置してもよい。
※<関数fp>例:ハッシュ値からOTPを算出する残り手続き
<<図4C>>
F4C-1 復号鍵(例:CKCの復号鍵)
F4C-2暗号データ復号部
F4C-3復号済データKC。例:CKCを復号化したデータKC
F4C-4平文データ。例:Bn、TIDA等
F4C-5 ハッシュ関数fh。fh(KC、Bn、TIDA)
F4C-6 OTP計算部、OTP比較検証認証部
F4C-7 記憶された認証用の変数、関数
F4C-8 OTP比較・検証、認証部
F4C-9 OTP認証用入力部
F4C-10認証実行時入力データ(トークン番号TIDA等)
F4C-11 30DLR-PDATA 例:平文のトークン番号変数TIDA、平文のブロック番号Bn等
F4C-12 30DLR-CDATA例:暗号化されたキー値CKC、暗号化されたユーザ識別子AのデータA-CRPT等
F4C-13 「ブロックチェーンアクセス用API(Web3.js等)」、若しくは、「F4C-7記憶された認証用の変数、関数」を端末へ導入若しくは変更・更新する手段
※図4CのF4C-15(認証端末)は、オンラインなサーバ3Cとオフラインなサーバ3Dのどちらも可能であって、3C場合、APIを用いてネットワーク経由で認証用変数関数を呼び出すことができる。(3Dの場合、F4C-7を外部から導入し記録させ更新変更させる手段があってもよい。)
F4C-14 ウェブアプリ実行部30CVMU-HTMLJS(ウェブブラウザの処理部・記憶部)
F4C-15 認証端末 例:端末1A、3D、3C。※3Dは予めOTP計算用キーや、計算手続きを記憶していてよい。(オフライン時でも認証可能とする目的で)
F4C-16 ユーザ端末1C、サーバ3C
F4C-17 アプリデータ 例:ECMAScript式OTP認証部を含むアプリ
F4C-18 DLS、ノード3A(F4B-21 30DLRと同様の暗号化されたデータを含む)
F4C-19 ユーザ端末
F4C-20計算されたOTP
F4C-21 記録手段
F4C-22計算されたOTP(その他認証に必要な情報を含んでもよい)
F4C-23認証結果に応じた応答又は戻り値を出力
<図5>
30DLR 分散型台帳システムの改竄耐性を持つ記録部
30DLR1 1つのブロックチェーン部から構成されるブロックチェーン部
30DLR2 本願主張の2つ(2つ以上)のブロックチェーンから構成されるブロックチェーン部
30DLR2-1ST第1のブロックチェーン(a1,a2,a3,,,an、例:ブロック生成時間5秒毎)
30DLR2-2ND第2のブロックチェーン(sA1,sA2,sA3,,,sAn、例:ブロック生成5分、5時間毎)※第1のブロックチェーンの、指定ブロック数毎に含まれる、各ブロックのハッシュ値をブロックに含む、第2のブロックチェーン
30DLR2-3RD(n) 第3[又は第n]のブロックチェーン(ssA1,ssA2,ssA3,,,ssAn [nsA1 , nsA2,nsA3,,,nsAn]、例:ブロック生成5時間毎、5年毎)
anh 第1のブロックチェーンのブロックa1,a2,a3,,,anのハッシュ値anh(図中a1hからa6h)
and 第1のブロックチェーンのブロックデータの特徴データやフィンガープリント(図中a3d)
sAnh 第2のブロックチェーンのブロック sA1,sA2,,,sAnのハッシュ値sAnh(図中sA1hからsA2h)
sAnd 第2のブロックチェーンのブロックデータの特徴データ等
ssAnh 第3のブロックチェーンのブロックのハッシュ値ssAnh
30DLR2-SHA 第1のブロックチェーンと第2のブロックチェーンにおいてハッシュ値を共有する部分(1STと2ND間でのハッシュ値等を互いに記録し合っている部分)
30DLR2-SHA-n 第2のブロックチェーンと第3のブロックチェーンにおいてハッシュ値を共有する部分(第nと第n+1のブロックチェーン間でハッシュ値を共有する部分)
30DLR2-F (Forget-old-Block-Data) 第1のブロックチェーンのブロックデータが削除された場合
31DLSCノードクライアント制御部・管理部
31PVM実行環境制御部
31ETCその他制御部
31DLR2
31DLR2-LINKデータブロック連結部
31DLR2-1ST2ND-LINKデータブロック連結部(第1及び第2のブロックチェーンのデータブロック連結処理部。30DLR2-1STと、30DLR2-2NDの2つのチェーンを1つのチェーンとしてブロックデータ連結やブロックへハッシュ値の記憶を行う部分30DLR2-SHAに関する処理含む)
31DLR2-SHA 30DLR2-SHAを計算30DLR2に記憶する部分
31DLR2-ETC その他制御部(ハッシュ値計算部、連続性検証部、合意形成部など)
31DLR2-1ST第1のブロックチェーン制御部30DLR2-1ST制御部(a1,a2,23,...an)
31DLR2-2ND第2のブロックチェーン制御部30DLR2-2ND制御部(sA1,sA2,sA3,...sAn)
31DLR2-N(必要時)第nのブロックチェーン制御部
<<消去条件部分>>
<需要部>
30BdFG-DEMANDブロックチェーンのブロックデータの需要記憶部(必要時)(消去リクエスト・ネガティブな需要のあるデータブロック指定も含む)
<消去部>
31BdFG 一定期間経過後、ブロックデータを(需要や指定データに応じて)消去可能にする部分(30BdFG等データ利用)●人工知能システム4においては利用頻度の高いデータやブロックデータを記憶するための部分
30BdFG 一定期間経過後ブロックデータを消去可能にするプログラム
30BdFG-VAR 消去のための変数・閾値・データ、若しくは消去までの一定期間を設定するデータ
30BdFG-EXCVAR消去の例外となる変数・閾値・データ(あるブロック番号の、データブロックについて、トランザクション数が閾値以上(需要がある)である等。若しくはユーザ投票やアクセス数が閾値以上等)●人工知能システム4においてはヒトの頭脳におけるよく利用するデータを記憶する部分。(該部分はヒトの脳において神経細胞がよく利用されて記憶が強く残っている部分を再現するかもしれない。)
※上記消去条件部分31BdFG、30BdFG-VAR、30BdFG-EXCVARや需要部30BdFG-DEMAND、30BdFG-VAR等についても、ブロックチェーンなど改竄困難(あるいは改竄困難だが長期には時間経過により忘れられる)記録部に記録することが好ましいかもしれない。
30DLSCノードクライアントソフトウェア
<図9>
4人工知能システム
4CAR 4を備える自動車
4DRONE 4を備える無人機
4AGRI 4を備える農業機械
4Production 4を備える生産用機械
4ROBOT 4を備えるロボット
4SEVER 4を備えるサーバ
4IN 学習元、学習対象、又は学習先のインターネットなど通信先
42 通信装置
44 4の入力装置(主にセンサ)
4OUT 機械学習を行う人工知能システム4が出力する結果。出力応答
45 4の出力装置
41 4の処理装置
40 4の記憶装置
30DLR2 ブロックチェーン記録部(ここでは記憶装置40内部データ)
30STUDYーDATA 4の記憶装置のデータ部30DLR2に記憶された学習データ
30STUDY機械学習部、ソフトウェア部
30DEMAND学習データの各ブロックのデータ需要記録部
31STUDY機械学習処理部
31DEMANDーFORGET学習データを需要によって保存または削除する部分
31DLR2ブロックチェーン処理部
30DATAその他データ
<図10>
Txn トランザクションデータ(整数n=1,2,3,,,)
TxnC 暗号化されたトランザクションデータ(整数n)
UTXOn UTXOデータ(整数n)
UTXOnC 暗号化されたUTXOデータ(整数n)
NFTLIST ユーザのNFTの残高(sA2を形成する時点での最新の残高証明データ)
USERBalanceLIST
UTXO ALL USER BalanceLIST UTXO残高(最新の残高証明データ)
Account ALL USER BalanceLIST 残高(最新の残高証明データ)
<Fig. 1 to Fig. 2>
1A User terminal, user computer 10A Storage device (including operating software such as basic software, browser, etc.)
10AKEY Private key information recording means (for accessing 3A's 30DLR)
11A Processing device 16A External storage device, external recording means 100 Storage device, 101 Processing device, 10WIR Internal wiring, bus 102 Communication device, 104 Input device, 105 Output device 20 Network, communication path, information transmission (distribution) path 3A Distributed ledger system node terminal, 3B Other node equivalent to 3A 30 Memory unit 31 Control unit / processing unit 3C Server, 3D Server (can be offline)
30CKEY: Encryption/decryption key information recording means *Tamper-resistant possible 30CVM/30CVMU: Second execution environment capable of decrypting encrypted data for user terminal 30UI: User terminal interface (browser, etc.)
30PVM: First execution environment for reading plaintext data 30DLR: Recording unit/ledger unit of distributed ledger system DLS, specifically, blockchain unit 30DLR-DATA: Data including encrypted data contained in 30DLR 30DLR-CDATA-BODY: Encrypted data body <Figures 3A to 3C>
30DLR-CDATA-ADDRESS (30DLR-CDATA-ANNOTATION) Identifier given to data including encrypted data (user identifier, contract address, etc. Identifier used when searching for data in a blockchain explorer, etc.)
30DLR-CDATA-PS: start of encrypted data, a portion that distinguishes the encrypted data from other data; 30DLR-CDATA-BODY: encrypted data body; 30DLR-CDATA-PE: end of encrypted data, the portion that distinguishes the encrypted data; 30DLR-PDATA: plaintext data (or other data);
F3B1 data input processing unit, F3B2 input data analysis unit (identification unit, detection unit, and analysis unit that distinguish encrypted data from other data. 30 DLR-CDATA-PS/PE detection unit)
F3B3 Decryption section, F3B4 Encryption key/Decryption key management section, F3B5 Key/Key calculation method storage section F3B6 Decryption key input means (e.g., obtains key from 1A, 16A, 3A, 3C, 30DLR, etc.)
F3B7 Private key etc. 30 DLR access means F3B8 Virus-resistant execution unit, F3B9 Decrypted data, F3B10 Memory unit, F3B11 Processing unit, F3B12 Processing result response, F3B14 Output processing unit, F3B15 Encrypted portion F3C1 Smart contract provision unit (Web application front end)
F3C2 Cryptographic Virtual Machine Execution Unit (CVM)
F3C3 30 CVM Management Unit (Backend, Server 3C, 3D, 3A side)
F3C4 Key data/key management section (tamper-resistant storage possible)
F3C5 Blockchain client software (node communication part)
30 DLR-C Blockchain data recording unit (or read ledger data including encrypted data)
<Explanation of Figs. 4B and 4C>
<<Figure 4B>>
F4B-1 Data group for input to web application, data for accessing DLS F4B-2 User private key F4B-3 Decryption key for application input, etc. F4B-4 Software for executing web application Data section Browser, 30 CVMU-W3J may be included F4B-5 Calculated OTP
F4B-6 Recording means (including printed matter and display surface)
F4B-7 Calculated OTP
F4B-8 Web application execution unit 30CVMU-HTMLJS (processing unit and storage unit of web browser)
Distributed web application data, 30CVMU-APP (ECMAScript format, OTP generation section)
F4B-9 Decryption key (Example: CKC decryption key)
F4B-10 Encrypted data decryption unit (may include a processing unit that distinguishes, identifies, selects, and selects encrypted data and plain data, and a processing unit that decrypts encrypted data.)
*
F4B-11 decoded data Example: Data KC obtained by CKC decoding, function fp obtained by Cfp decoding
F4B-12 plaintext data example: Bn, TIDA
F4B-13 Hash function fh (or one-way function fh, or procedure function for OTP calculation), fh argument example: fh (KC, Bn, TIDA)
F4B-14 function fp
F4B-15 OTP calculation unit F4B-16 <Process of generating OTP> Returns the calculated OTP as a return value F4B-17 30CVMU-APP-SIGN (certificate, digital signature, hash value), data related to means for detecting and verifying the correctness of web application data. Digital signature, HMAC, timestamp, etc. (e.g. hash value of 30CVMU-APP, etc.), 30CVMU-APP has 30CVMU-APP-SIGN if necessary.
*When 30CVMU-APP is distributed or transmitted to a user terminal or server via communication, the contents of the communication may be encrypted and made confidential. (In the case of electrical communication, for example, encrypted communication may be performed using SSL/TLS communication. In the case of communication, 30CVMU-APP (and 30CVMU-APP-SIGN) may be recorded on a recording means such as optical media, a magnetic recording device, or a semiconductor memory and sent to the user terminal and the user by mail.) When transmitting, 30CVMU-APP-SIGN may be attached to 30CVMU-APP.
F4B-18 User terminal 1A
F4B-19 Server 3C, 3D
F4B-20 DLS Node 3A
F4B-21 30DLR
The data block or smart contract includes encrypted variables CKC and A-CRPT, encrypted function Cfp, token number (NFT ID) TIDA, user identifier A, and block number Bn. (The token number (NFT ID) TIDA may be encrypted and recorded as the variable CTIDA.)
F4B-22 30PVM Plaintext Read Virtual Machine PVM. Example: Ethereum Virtual Machine EVM
F4B-23 30CVMU-W3J, a means of accessing a distributed ledger system. Example: API for accessing blockchain (Web3.js, etc.)
*30CVMU-APP and 30CVMU-APP-SIGN may have the same correspondence as the block data and hash value of the blockchain, and the 30CVMU-APP and 30CVMU-APP-SIGN may be placed in the storage device and processing unit of 1A by user 1A reading 30CVMU-APP, which is also a data block of the blockchain, and its hash value 30CVMU-APP-SIGN from the blockchain recording unit 30DLR of node 3A (3C).
※<Function fp> Example: Remaining procedure for calculating OTP from hash value <<Fig. 4C>>
F4C-1 Decryption key (Example: CKC decryption key)
F4C-2 Encrypted data decryption section F4C-3 Decrypted data KC. Example: Data KC obtained by decrypting CKC
F4C-4 Plain data. Example: Bn, TIDA, etc. F4C-5 Hash function fh. fh(KC, Bn, TIDA)
F4C-6 OTP calculation unit, OTP comparison verification authentication unit F4C-7 Stored variables and functions for authentication F4C-8 OTP comparison/verification, authentication unit F4C-9 OTP authentication input unit F4C-10 Input data at the time of authentication (token number TIDA, etc.)
F4C-11 30DLR-PDATA Example: Plaintext token number variable TIDA, plaintext block number Bn, etc. F4C-12 30DLR-CDATA Example: Encrypted key value CKC, encrypted data of user identifier A A-CRPT, etc. F4C-13 "API for block chain access (Web3.js, etc.)" or means for introducing or changing/updating "F4C-7 stored authentication variables and functions" into the terminal * F4C-15 (authentication terminal) in FIG. 4C can be either an online server 3C or an offline server 3D, and in the case of 3C, the authentication variable function can be called via the network using the API. (In the case of 3D, there may be a means for introducing F4C-7 from outside, recording it, and updating it.)
F4C-14 Web application execution unit 30CVMU-HTMLJS (processing unit and storage unit of web browser)
F4C-15 Authentication terminal Example: Terminal 1A, 3D, 3C. *3D may store the OTP calculation key and calculation procedure in advance. (To enable authentication even when offline)
F4C-16 User terminal 1C, server 3C
F4C-17 Application data Example: Application including ECMAScript OTP authentication part F4C-18 DLS, node 3A (including encrypted data similar to F4B-21 30 DLR)
F4C-19 User terminal F4C-20 Calculated OTP
F4C-21 Recording means F4C-22 Calculated OTP (may contain other information required for authentication)
F4C-23 Response or return value according to authentication result <Figure 5>
30DLR: Distributed ledger system tamper-resistant recording unit 30DLR1: Blockchain unit consisting of one blockchain unit 30DLR2: Blockchain unit consisting of two (two or more) blockchains claimed in this application 30DLR2-1ST: First blockchain (a1, a2, a3, ... an, e.g., block generation time every 5 seconds)
30DLR2-2ND Second blockchain (sA1, sA2, sA3, sAn, e.g., blocks are generated every 5 minutes or every 5 hours) *Second blockchain that includes the hash value of each block included in the specified number of blocks in the first blockchain 30DLR2-3RD(n) Third [or nth] blockchain (ssA1, ssA2, ssA3, ssAn [nsA1, nsA2, nsA3, nsAn], e.g., blocks are generated every 5 hours or every 5 years)
anh is the hash value anh of blocks a1, a2, a3, ..., an in the first blockchain (a1h to a6h in the figure)
and characteristic data or fingerprint of the block data of the first blockchain (a3d in the figure).
sAnh Hash value sAnh of blocks sA1, sA2, . . . sAn of the second blockchain (sA1h to sA2h in the figure)
sAnd characteristic data of the block data of the second blockchain ssAnh hash value of the block of the third blockchain ssAnh
30DLR2-SHA The part where the first and second blockchains share hash values (the part where the hash values between 1ST and 2ND are mutually recorded)
30DLR2-SHA-n Part of the second and third blockchains that share a hash value (part of the nth and n+1th blockchains that share a hash value)
30 DLR2-F (Forget-old-Block-Data) When block data of the first block chain is deleted 31 DLSC node client control unit/management unit 31 PVM execution environment control unit 31 ETC other control unit 31 DLR2
31DLR2-LINK data block linking unit 31DLR2-1ST2ND-LINK data block linking unit (data block linking processing unit for the first and second blockchains. Includes processing related to 30DLR2-SHA, which links block data and stores hash values in blocks by treating the two chains 30DLR2-1ST and 30DLR2-2ND as one chain)
31 DLR2-SHA 30 DLR2-SHA is calculated 30 DLR2-SHA is stored in 30 DLR2 31 DLR2-ETC Other control units (hash value calculation unit, continuity verification unit, consensus formation unit, etc.)
31 DLR2-1ST first block chain control unit 30 DLR2-1ST control unit (a1, a2, 23,...an)
31 DLR2-2ND second block chain control unit 30 DLR2-2ND control unit (sA1, sA2, sA3, . . . sAn)
31DLR2-N (when necessary) nth blockchain control unit <<deletion condition part>>
<Demand Department>
30BdFG-DEMAND Blockchain Demand Storage (when necessary) (including deletion requests and designation of data blocks with negative demand)
<Erasing section>
31BdFG: A part that makes it possible to erase block data (depending on demand or specified data) after a certain period of time (data utilization such as 30BdFG) In AI system 4, this is a part for storing frequently used data and block data 30BdFG: A program that makes it possible to erase block data after a certain period of time 30BdFG-VAR: Variables, thresholds, and data for erasure, or data that sets a certain period of time until erasure 30BdFG-EXCVAR: Variables, thresholds, and data that are exceptions to erasure (for a data block with a certain block number, the number of transactions is above a threshold (demand is present), etc. Or the number of user votes or accesses is above a threshold, etc.) In AI system 4, this is a part in the human brain that stores frequently used data. (This part may reproduce the part of the human brain where neurons are frequently used and memories remain strong.)
*It may be preferable to record the above-mentioned deletion condition portions 31BdFG, 30BdFG-VAR, 30BdFG-EXCVAR and the demand portions 30BdFG-DEMAND, 30BdFG-VAR, etc. in a recording section that is difficult to tamper with (or is difficult to tamper with but will be forgotten over the long term) such as a blockchain.
30 DLSC Node Client Software <Fig. 9>
4 Artificial intelligence system 4 CAR 4 Automobile 4 DRONE 4 Unmanned aerial vehicle 4 AGRI 4 Agricultural machine 4 Production 4 Production machine 4 ROBOT 4 Robot 4 SEVER 4 Server 4 IN Learning source, learning subject, or learning destination such as the Internet Communication destination 42 Communication device 44 Input device of 4 (mainly sensor)
4OUT: Result output by the artificial intelligence system 4 performing machine learning. Output response 45: Output device 41 of 4: Processing device 40 of 4: Storage device 30 of 4: DLR2: Blockchain recording unit (here, data inside the storage device 40)
30STUDY-DATA Learning data stored in the data section 30DLR2 of the storage device 4 30STUDY Machine learning section, software section 30DEMAND Data demand recording section for each block of learning data 31STUDY Machine learning processing section 31DEMAND-FORGET Section for saving or deleting learning data according to demand 31DLR2 Blockchain processing section 30DATA Other data <Fig. 10>
Txn transaction data (integer n=1, 2, 3, . . .)
TxnC encrypted transaction data (integer n)
UTXOn UTXO data (integer n)
UTXOnC Encrypted UTXO data (integer n)
NFTLIST User's NFT balance (latest balance proof data at the time of forming sA2)
USERBalanceLIST
UTXO ALL USER BALANCE LIST UTXO balance (latest balance proof data)
Account ALL USER Balance LIST Balance (latest balance certificate data)

Claims (2)

ノード端末としてユーザ端末(1A)と、ブロックチェーンを用いた分散型台帳システムのノード端末(3A)とを、ネットワーク(20)を介して接続したコンピュータネットワークシステムにおいて、
前記ユーザ端末(1A)は、前記ノード端末(3A)のブロックチェーン部(30DLR)のブロックデータに記憶されたデータを読み取り前記データをプログラムとして実行可能な、実行部(30CVM)を含んでおり、前記ユーザ端末(1A)は、前記ブロックデータに記憶された前記データは、暗号化された暗号化データを含み、前記実行部(30CVM)は、前記暗号化データを復号する鍵を備え、前記ユーザ端末(1A)は、前記実行部(30CVM)を用いて前記暗号化データを復号し、前記暗号化データを復号して得られたデータを用いるプログラムを実行可能な実行部を備えている、コンピュータネットワークシステムであって、
前記ノード端末(3A)は、前記ノード端末(3A)の記憶装置に、第1のブロックチェーン部と、第2のブロックチェーン部とを共に記録・記憶しており、前記第2のブロックチェーン部の或るブロックデータに、前記第1のブロックチェーン部の指定個数のブロックデータの其々のハッシュ値が含まれている特徴を持つ、コンピュータネットワークシステムを用いた人工知能システムであって、
機械学習に必要な学習データを、前記コンピュータネットワークシステムの前記ノード端末(3A)の前記第1のブロックチェーン部のブロックデータ、又は、前記第2のブロックチェーン部のブロックデータに記憶する特徴を持つ人工知能システムを用いた機械学習方法。
In a computer network system in which a user terminal (1A) as a node terminal and a node terminal (3A) of a distributed ledger system using a blockchain are connected via a network (20),
A computer network system, wherein the user terminal (1A) includes an execution unit (30CVM) capable of reading data stored in block data of a block chain unit (30DLR) of the node terminal (3A) and executing the data as a program, the data stored in the block data of the user terminal (1A) includes encrypted data, the execution unit (30CVM) has a key for decrypting the encrypted data, and the user terminal (1A) has an execution unit capable of decrypting the encrypted data using the execution unit (30CVM) and executing a program using data obtained by decrypting the encrypted data,
The node terminal (3A) records and stores both a first block chain part and a second block chain part in a storage device of the node terminal (3A), and a certain block data of the second block chain part contains each hash value of a designated number of block data of the first block chain part, the artificial intelligence system using a computer network system,
A machine learning method using an artificial intelligence system having the characteristic of storing learning data necessary for machine learning in block data of the first blockchain section or block data of the second blockchain section of the node terminal (3A) of the computer network system.
第1のブロックチェーンに記録された内容を削除する行程を含む、請求項1に記載の機械学習方法。 The machine learning method of claim 1, further comprising a step of deleting the content recorded in the first blockchain.
JP2023091772A 2022-10-18 2023-06-02 Artificial intelligence systems, how artificial intelligence systems learn Pending JP2024059549A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023091772A JP2024059549A (en) 2022-10-18 2023-06-02 Artificial intelligence systems, how artificial intelligence systems learn

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022167241 2022-10-18
JP2023091772A JP2024059549A (en) 2022-10-18 2023-06-02 Artificial intelligence systems, how artificial intelligence systems learn

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022167241 Division 2022-10-18 2022-10-18

Publications (1)

Publication Number Publication Date
JP2024059549A true JP2024059549A (en) 2024-05-01

Family

ID=90829499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023091772A Pending JP2024059549A (en) 2022-10-18 2023-06-02 Artificial intelligence systems, how artificial intelligence systems learn

Country Status (1)

Country Link
JP (1) JP2024059549A (en)

Similar Documents

Publication Publication Date Title
US9830600B2 (en) Systems, methods and devices for trusted transactions
US6871278B1 (en) Secure transactions with passive storage media
CN108389059A (en) Digital copyrighted work protection, transaction and distributing method based on ownership and system
CN112119612A (en) Integrating biometric data on a blockchain system
CN104756127A (en) Secure data handling by a virtual machine
JP2001007802A (en) Method and device for ciphering and deciphering living body information, and principal authentication system utilizing living body information
CN114175580B (en) Enhanced secure encryption and decryption system
CN114254269B (en) System and method for determining rights of biological digital assets based on block chain technology
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
CN108632040A (en) Information management terminal device
WO2001043026A1 (en) Systems, methods and devices for trusted transactions
WO2019213752A1 (en) A method and system for managing digital assets in a blockchain
US11316686B2 (en) Protections for unauthorized copying (anti-cloning) method and system
CN101099207B (en) Portable data support with watermark function
JP2024059549A (en) Artificial intelligence systems, how artificial intelligence systems learn
CN110445756B (en) Method for realizing searchable encryption audit logs in cloud storage
Verma et al. Applications of Data Security and Blockchain in Smart City Identity Management
Patel et al. An approach to analyze data corruption and identify misbehaving server
JP2001134738A (en) Ic card and ic card reader
US20230107805A1 (en) Security System
Badhwar Biometrics–Commentary on Data Breach Notification, Threats, and Data Security
Nasreen et al. Cloud forensics: A centralized cloud provenance investigation system using MECC
Nagpure et al. Data Leakage Agent Detection in Cloud Computing
Jodeiri Akbarfam et al. Deep Learning Meets Blockchain for Automated and Secure Access Control
CN116010956A (en) Data query method and related products

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230602