JP7288264B2 - Transaction sequence consensus method and system - Google Patents

Transaction sequence consensus method and system Download PDF

Info

Publication number
JP7288264B2
JP7288264B2 JP2022021394A JP2022021394A JP7288264B2 JP 7288264 B2 JP7288264 B2 JP 7288264B2 JP 2022021394 A JP2022021394 A JP 2022021394A JP 2022021394 A JP2022021394 A JP 2022021394A JP 7288264 B2 JP7288264 B2 JP 7288264B2
Authority
JP
Japan
Prior art keywords
consensus
transaction
node
rope
arrival
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022021394A
Other languages
Japanese (ja)
Other versions
JP2022164563A (en
Inventor
クァン リー、
ハオ チェン、
シンユー ドン、
シーユー リー、
ヂェンイャオ フェ、
シージェ チェン、
ブォウェン ジーアン、
Original Assignee
シーアン グァダー ネットワーク テクノロジー カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シーアン グァダー ネットワーク テクノロジー カンパニー リミテッド filed Critical シーアン グァダー ネットワーク テクノロジー カンパニー リミテッド
Publication of JP2022164563A publication Critical patent/JP2022164563A/en
Application granted granted Critical
Publication of JP7288264B2 publication Critical patent/JP7288264B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本願は、コンピュータ技術の分野に関し、特に、トランザクションシーケンスコンセンサス方法及びシステムに関するものである。 TECHNICAL FIELD This application relates to the field of computer technology, and more particularly to transaction sequence consensus methods and systems.

トランザクションシーケンスコンセンサスは、1グループのトランザクションを順位付けして、順位付けについて合意に達する(コンセンサスを取る)ことを言い、ブロックチェーン技術における核心的な内容である。また、トランザクションシーケンスコンセンサスは、ブロックチェーン技術における核心的な目的である。ブロックチェーンシステムの本質は、非中央集権化(decentration)のネットワーククロックであり、各ノードは、時間の解釈及び進行ルールについて統一的な理解があるが、時間進行権は、単一ノードによって独占されず、次の時間進行をどのノードが完了するかも予測できない。時間が進行するたびに、直前のタイムスタンプ及び受信されたがタイムスタンプトがバインディングされていない可能な1グループのランザクションに依拠して、新しいタイムスタンプが生成される。ノードは、タイムスタンプに対する依存関係及びトランザクションとタイムスタンプとのバインディング関係についてコンセンサスを取ることにより、トランザクションの因果順序を決定し、即ち、同一のタイムスタンプによってバインディングされたトランザクションは、併発(concurrent)し、直前のタイムスタンプによってバインディングされたトランザクションよりも遅いものであり、このように、全てのタイムスタンプのトランザクションを類推する。 Transaction sequence consensus refers to ranking a group of transactions and reaching consensus on the ranking, which is the core content of blockchain technology. Transaction sequence consensus is also a core objective in blockchain technology. The essence of the blockchain system is a decentralized network clock, where each node has a unified understanding of time interpretation and progression rules, but the time progression right is monopolized by a single node. Also, it is not possible to predict which node will complete the next time advance. Each time time advances, a new timestamp is generated based on the previous timestamp and a group of possible transactions that have been received but have no bound timestamp. Nodes determine the causal order of transactions by consensus on dependencies on timestamps and binding relationships between transactions and timestamps, i.e., transactions bound by the same timestamp are concurrent. , is later than the transaction bound by the immediately preceding timestamp, thus analogizing the transaction for all timestamps.

ブロックチェーンは、タイムスタンプの依存関係及びトランザクションとタイムスタンプとのバインディング関係を格納するデータ構造であり、ブロックチェーン技術におけるコンセンサス及び暗号学方法は、ブロックチェーンが、ある程度上不可逆かつ改ざん不可の増分バックアップを実現するようにする。 A blockchain is a data structure that stores timestamp dependencies and binding relationships between transactions and timestamps. Consensus and cryptographic methods in blockchain technology are based on the idea that a blockchain can provide incremental backups that are irreversible and tamper-proof to some extent. to realize

現在、ブロックチェーン技術におけるトランザクションシーケンスコンセンサス方法には、一般に、「リーダー選出、ブロック生成、検証、チェーンへの格納」という4つのステップが含まれる。リーダー選出は、コンセンサスネットワークにおける各ノードが時間進行権を持つリーダーノードになるために競争や選出を行うことであり、ブロック生成は、リーダーノードが自分によって生成されたタイムスタンプと1グループの事前に選択しておいた当該タイムスタンプがバインディングされたトランザクションとをブロックにパッケージ化して他のノードに伝送することであり、検証及びチェーンへの格納は、コンセンサスノードが、リーダーノードによって生成されたブロックを検証し、検証に合格したブロックをブロックチェーンに書き込んで実行することである。リーダー選出及びブロック生成の本質は、リーダーノードを選出して1回の時間進行を完了することである。 Currently, the transaction sequence consensus method in blockchain technology generally includes four steps: "leader election, block generation, verification, and storage in the chain". Leader election is that each node in the consensus network competes and elects to become a leader node with time progression. The transaction bound with the selected timestamp is packaged into a block and transmitted to other nodes, and the verification and storage in the chain are performed by the consensus node, which receives the block generated by the leader node. It is to verify and write blocks that pass verification to the blockchain and execute them. The essence of leader election and block generation is to elect a leader node to complete one time progression.

しかしながら、ノードは、トランザクションを受信する際に証明可能な計時手段がなく、トランザクションを差別せずにバッファに受け入れるため、トランザクションが当該ノードに到着した時系列情報を失い、ノードがシーケンスを行うときに時系列性の客観的根拠が不足して、手数料などの非時系列性の情報根拠を利用せざるを得なくなり、トランザクションに高額手数料でシーケンス優先権を取得するようにする。リーダーノードの時間進行権には、バインディング待ちトランザクションの選択、タイムスタンプの生成、因果の決定、ボーナスの取得などの特権が含まれ、リーダー選択過程において各ノード間の非理性的な競争が引き起こされて、大量のリソースを消費する可能性がある。トランザクションを選択してブロックにパッケージ化する際に、ノードに主観性があり、客観的なトランザクションの時系列証拠ではなく主観的な利益の最大化に依拠する場合が多く、ノードが客観的な証拠を取得することもできないことにより、トランザクションシーケンス結果が真実性を喪失し、実質的にはトランザクションの実際の時系列に対する改ざん行為である。 However, since a node has no provable timekeeping means when it receives a transaction and accepts transactions in a buffer without discrimination, it loses the chronological information of when a transaction arrived at that node, and when a node performs a sequence Lack of objective evidence of chronology forces us to use non-chronological information bases such as fees, so that transactions receive sequence priority with high fees. The leader node's time progression includes privileges such as selection of transactions waiting for binding, generation of timestamps, determination of causality, and acquisition of bonuses, which causes irrational competition among nodes in the leader selection process. and can consume a lot of resources. Nodes are subjective in choosing and packaging transactions into blocks, often relying on subjective profit maximization rather than objective chronological evidence of transactions, and nodes are subject to objective evidence , the transaction sequence result loses its authenticity and is effectively a falsification of the actual timeline of transactions.

本願は、従来技術における、情報の損失によるトランザクションシーケンス能力の不足と、リーダーノードの競合による不公正な競争や浪費と、リーダーノードの主観的な操作によるトランザクションシーケンスの不公平性と、上記の問題から派生された問題と、を解決するためのトランザクションシーケンスコンセンサス方法及びシステムを提供する。 The present application addresses the problems in the prior art, such as lack of transaction sequence ability due to information loss, unfair competition and waste due to leader node competition, and unfair transaction sequence due to subjective operation of leader nodes, and the above problems. A transaction sequence consensus method and system for solving problems derived from

記述の便宜上、トランザクションがコンセンサスネットワークに進入する実際の時系列を「真正時系列」とし、トランザクションがあるノードに到着する時系列をノードの「到着時系列」とし、トランザクションがコンセンサスネットワークに進入する時系列に対するノードの判断を「復元時系列」とし、トランザクションがネットワークに進入する時系列に対するノードのコンセンサスを「コンセンサス時系列」とする。 For descriptive convenience, the actual time series of transactions entering the consensus network is called the "authentic time series", the time series of transactions arriving at a node is the node's "arrival time series", and the time when a transaction enters the consensus network. A node's judgment on the sequence is called the "restored timeline", and the node's consensus on the timeline of transactions entering the network is called the "consensus timeline".

本願では、1)情報の損失を回避するために、ノードに、自分の到着時系列及びトランザクションの由来情報を記録できる計時手段を提供し、2)ノードに、ノードが各ノードの到着時系列情報及びトランザクションの由来情報に基づいて、トランザクションがコンセンサスネットワークに進入する時系列情報を推理することにより、それぞれ復元時系列を付与する方法を提供し、3)ノードに、ノードが各復元時系列についてコンセンサスシーケンスを取る方法を提供し、4)コンセンサスで新しい計時手段を定義してシーケンスコンセンサスを補助し、情報を提供する際のノードの不正な行為を回避するために、コンセンサス効率の向上、コンセンサスコストの低下のために、新しいトランザクションシーケンスコンセンサス方法及びシステムを提供する。 In the present application, 1) provide a node with a timing means that can record its own arrival time series and transaction origin information to avoid information loss; 2) provide a node with the arrival time series information of each node; and based on the origin information of the transaction, infer the time series information of the transactions entering the consensus network, respectively, to provide a method for giving a restored time series, respectively; 4) to define a new timing measure in consensus to aid sequence consensus and avoid node misbehavior when providing information, improve consensus efficiency, reduce consensus cost; A new transaction sequence consensus method and system is provided for degradation.

上記の目的を達成するために、本願の実施例は以下の技術的構成を採用する。 In order to achieve the above objects, the embodiments of the present application employ the following technical configurations.

第1態様に係るトランザクションシーケンスコンセンサス方法は、コンセンサス待ちトランザクションと、対応するトランザクション情報と、を取得するステップであって、前記トランザクション情報は、トランザクション番号、トランザクション入力モジュール情報、トランザクションエントリノード情報、トランザクション実行待ち情報及びコンセンサス待ちトランザクションを取得する経路情報を含むステップと、コンセンサス待ちトランザクションを取得する経路情報に基づいて、コンセンサス待ちトランザクションを、ローカルトランザクションとノンローカルトランザクションとに区分するステップと、コンセンサス待ちトランザクションを検証、解析、同期するステップと、コンセンサスノードにおけるローカルトランザクションの到着時系列情報を取得し、持続的にノッティングするローカル到着ロープにローカルトランザクションを導入するステップと、異なるコンセンサスノード間のローカル到着ロープを同期して、同期後の各ノードの到着時系列情報を取得するステップと、予め設定された復元ルールに従って、各ノードの到着時系列情報を分析して、自ノードにおける2つずつのトランザクションの復元時系列及び1グループのトランザクションの連続的な復元時系列情報を取得し、ローカル復元ロープを構築するステップと、異なるコンセンサスノード間のローカル復元ロープを交換、同期して、同期後の各ノードの復元時系列情報を取得するステップと、予め設定されたコンセンサスルールに従って自ノードの復元時系列情報に対してコンセンサス処理を行って、コンセンサス時系列情報を取得し、コンセンサス済みトランザクションを含むコンセンサスロープを構築するステップと、コンセンサスロープに対する解析に基づいて、コンセンサスロープにおけるコンセンサス済みトランザクションを取得するステップと、コンセンサス済みトランザクションに基づいて状態データを更新するステップと、を含む。 A transaction sequence consensus method according to a first aspect is a step of acquiring a consensus-waiting transaction and corresponding transaction information, wherein the transaction information includes a transaction number, transaction entry module information, transaction entry node information, transaction execution including waiting information and path information for obtaining consensus-waiting transactions; dividing consensus-waiting transactions into local transactions and non-local transactions based on the path information for obtaining consensus-waiting transactions; The steps of verifying, parsing, and synchronizing; obtaining the arrival time-series information of local transactions at the consensus node and introducing the local transactions into a persistently knotted local arrival rope; and synchronizing the local arrival ropes between different consensus nodes. and acquiring arrival time-series information of each node after synchronization; analyzing the arrival time-series information of each node according to preset restoration rules; and restoring two transactions at each node. Obtaining continuous restoration time series information of a series and a group of transactions and building a local restoration rope; exchanging and synchronizing the local restoration rope between different consensus nodes to restore each node after synchronization; A step of acquiring sequence information, and a step of performing consensus processing on the restored time-series information of the own node according to a preset consensus rule to acquire consensus time-series information and constructing a consensus slope including consensus transactions. and obtaining a consensus transaction on the consensus slope based on the analysis on the consensus slope; and updating state data based on the consensus transaction.

第2態様に係るトランザクションシーケンスコンセンサスシステムは、コンセンサス待ちトランザクションを生成するためのトランザクション入力モジュールと、コンセンサス待ちトランザクションを分析処理して、コンセンサス待ちトランザクションのコンセンサス時系列を取得するためのコンセンサスネットワークと、状態データの状態変化を表示するための状態取得モジュールと、を含む。 A transaction sequence consensus system according to a second aspect includes a transaction input module for generating a consensus-waiting transaction, a consensus network for analyzing and processing the consensus-waiting transaction to obtain a consensus time series of the consensus-waiting transaction, and a state a status acquisition module for displaying status changes of the data.

本願の実施例に係る技術的構成は、以下の有利な効果を奏することができる。 The technical configurations according to the embodiments of the present application can have the following advantageous effects.

本願では、コンセンサスノードがローカル到着ロープを構築してトランザクションが当該コンセンサスノードに到着する時系列を記録する方法により、コンセンサスネットワークが、トランザクションがコンセンサスノードに到着する時系列証拠情報を保留して情報の損失を回避し、それにより、コンセンサスノードがトランザクションの到着時系列に基づいて、トランザクションがネットワークに進入した時系列をそれぞれ復元することができ、コンセンサスノードのトランザクションシーケンス能力が強化される。 In the present application, a consensus node builds a local arrival rope to record the time series of transactions arriving at the consensus node, so that the consensus network retains the time series evidence information of transactions arriving at the consensus node and collects information. It avoids loss, so that the consensus node can restore the time series of transactions entering the network based on the arrival time series of transactions, respectively, and the transaction sequence capability of consensus nodes is enhanced.

本願のコンセンサス方法では、リーダーノードが設けられず、リーダーノードを競合する必要もなく、コンセンサスノードがトランザクションの順位付けを共同で行うため、リーダーノードを競合することによる非理性的な競争やリソースの浪費を回避することができる。 In the consensus method of the present application, there is no leader node, no need to compete for leader nodes, and the consensus nodes jointly rank transactions, so that irrational competition and resource consumption due to competing leader nodes are avoided. Waste can be avoided.

本願では、コンセンサスノードが、トランザクションが各ノードに到着する時系列証拠に基づいて、予め設定された客観的な分析方法でトランザクションの順位付けを完了し、順位付け過程の客観性を保証し、トランザクションの順位付けがあるノードによって主観的に操作されることはなく、トランザクションの順位付けの根拠は、トランザクションの時系列と関係のない要因(取引手数料の安さなど)ではなく、順位付けの結果も基本的にトランザクションが実際に発生した時系列に近い。また、トランザクションイニシエータは、公平に記帳する待遇を取得し、記帳されることを求めて手数料を増やす必要がなく、開始されたトランザクションがネットワークに先に進入したため、長期間にわたって記帳されないか又は後に記帳されて、トランザクションの時効性や先発優勢を失う心配がなくなり、コンセンサスネットワークの使用に対する信頼が高まる。 In the present application, the consensus node completes the ranking of transactions with a preset objective analysis method, based on the time-series evidence of transactions arriving at each node, to ensure the objectivity of the ranking process, and to ensure the objectivity of the ranking process. The ranking of transactions is not subjectively manipulated by any node, and the basis for ranking transactions is not factors unrelated to the time series of transactions (low transaction fees, etc.), but the results of the ranking are also fundamental. close to the time series in which the transactions actually occurred. In addition, transaction initiators get fair posting treatment and do not have to increase fees to seek to be posted, and because initiated transactions entered the network earlier, they may not be posted for a long period of time or may be posted later. This increases confidence in using consensus networks without worrying about losing transaction timeliness or first mover advantage.

本願では、シングルストランドロープにおいて、ローカル到着ロープの1回のノッティング時間は、コンセンサスノードの1回のハッシュ計算時間とほぼ等しく、ローカル到着ロープの毎回のノッティングを時間の進行と見なすことができるため、ローカル到着ロープをトランザクション到着のタイマーとして使用することができ、このように設計すると、トランザクション到着の計時に非常に高い時間分解能を提供し、また、コンセンサスロープもトランザクションに全順列を提供できる。本願は、トランザクションの全順列を実現できるだけでなく、トランザクションがコンセンサスノードに到着する頻度の変化を精確に分析することもでき、さらに、トランザクションの到着時系列及びコンセンサス時系列に基づいてビッグデータ分析及び最適化処理を行うことができる。 In the present application, in a single-strand rope, one knotting time of the local arrival rope is approximately equal to one hash calculation time of the consensus node, and each knotting of the local arrival rope can be regarded as progressing time, so Local arrival ropes can be used as timers for transaction arrivals, and when designed in this way provide very high temporal resolution in timing transaction arrivals, and consensus ropes can also provide full permutation for transactions. The present application can not only realize the full permutation of transactions, but also accurately analyze the changes in the frequency of transactions arriving at the consensus node, and further, based on the arrival time series and consensus time series of transactions, perform big data analysis and An optimization process can be performed.

本願では、トランザクションのコンセンサスは、トランザクションの確認と同等であり、トランザクションのコンセンサスは、ビットコインスキームのように、ブロック生成間隔を周期としてバッチで完了される必要がなく、コンセンサスのスムーズな進行が実現され、トランザクションの確認遅延を大幅に短縮するため、人為的に1つの取引を確認することによって二重支払に攻撃されるセキュリティリスクを回避することができる。 In this application, transaction consensus is equivalent to transaction confirmation, and transaction consensus does not need to be completed in batches with a block generation interval as in the Bitcoin scheme, and consensus progresses smoothly. This greatly reduces the transaction confirmation delay, thus avoiding the security risk of double payment attacks by artificially confirming one transaction.

本願では、コンセンサスノードが持続的に到着ロープを構築し、このような設計で、コンセンサスノードが2つのトランザクションの到着時系列の記録を逆にしたい場合、同じ時間を費やして係るロープセグメントを再構築しなければならず、同時に、ロープセグメントを再構築する間に到着するトランザクションを処理する必要もあるため、コンセンサスノードが悪意を持ってトランザクションの時系列を改ざんする難度を極めて大きく増加させた。特に、マルチストランドロープ及びストランド変更ロープを用いる場合、トランザクションの到着時系列を偽造することがより困難になり、悪意を持ってコンセンサスロープ時間を改ざんする行為及びトランザクションの到着時系列を改ざんする行為は、コンセンサスノードの到着ロープ処理段階で認識されることにより、後続のコンセンサスロープの生成に影響を与えることができず、コンセンサスシステムの障害耐性(fault tolerance)が保証される。 In this application, if a consensus node builds an arrival rope persistently, and in such a design, the consensus node wishes to reverse the record of the arrival chronologies of two transactions, it will spend the same amount of time reconstructing such rope segments. This has greatly increased the difficulty for consensus nodes to maliciously tamper with the timeline of transactions, as they must also process incoming transactions while reconstructing rope segments. In particular, when using multi-strand ropes and strand-change ropes, it becomes more difficult to forge transaction arrival time series. , is recognized at the arrival rope processing stage of the consensus node, so that it cannot affect the generation of the subsequent consensus slope, and the fault tolerance of the consensus system is guaranteed.

本願では、コンセンサスノードは、トランザクションがコンセンサスノードに到着する時系列を客観的に分析することにより、トランザクションがネットワークに進入した時系列を復元して、トランザクションがネットワークに進入した時系列に対するコンセンサスを取り、コンセンサスの時系列に従ってトランザクションを実行し、このような設計により、トランザクションの実行時系列が、トランザクションがコンセンサスネットワークに進入した実際の時系列に近くなる。 In the present application, the consensus node restores the time series of transactions entering the network by objectively analyzing the time series of transactions arriving at the consensus node, and reaches consensus on the time series of transactions entering the network. , executes transactions according to the consensus timeline, and such a design makes the transaction execution timelines closer to the actual timelines of transactions entering the consensus network.

本願は、非中央集権化の時間がネットワーク自身によって生成されるメカニズムを基にして創出され、ここで、時間の進行は、リーダーノードによって完了されず、トランザクションシーケンスは、基準系を頻繁に変換する必要がなくなり、時間進行権を独占するために生じるノードの中央化傾向を回避することができる。単一のノードの到着時系列は、最終のコンセンサス時系列ではないため、単一のノードの到着時系列がコンセンサス時系列に直接進入することを回避することができる。 The present application builds on a mechanism in which decentralized time is generated by the network itself, where the progression of time is not completed by the leader node, and transaction sequences frequently transform the frame of reference. It eliminates the need and avoids the tendency of nodes to centralize to monopolize time progress. Since the arrival time series of a single node is not the final consensus time series, it can be avoided that the arrival time series of a single node directly enters the consensus time series.

本願の実施例や従来技術における技術的構成をより明確に説明するために、以下のように、実施例や従来技術の説明に必要な図面について簡単に説明するが、以下の説明における図面は、本願の一部の実施例にすぎず、当業者であれば、創造的な労働なしでこれらの図面に基づいて他の添付図面を取得することもできることは勿論である。
本願の実施例に係るトランザクションシーケンスコンセンサスシステムの概略構成図である。 本願の実施例に係る別のトランザクションシーケンスコンセンサスシステムの概略構成図である。 本願の実施例に係るコンセンサスノードの概略構成図である。 本願の実施例に係るさらに別のトランザクションシーケンスコンセンサスシステムの概略構成図である。 本願の実施例に係るトランザクション入力モジュールの概略構成図である。 本願の実施例に係る状態取得モジュールの概略構成図である。 本願の実施例に係るコンセンサスノード装置を含むトランザクションシーケンスコンセンサスシステムの概略構成図である。 本願の実施例に係るトランザクション入力モジュールの方法のフローチャートである。 本願の実施例に係るトランザクション入力モジュールがコンセンサス待ちトランザクションに対するエントリノードの割当を開始する方法の概略図である。 本願の実施例に係るトランザクションシーケンスコンセンサス方法のフローチャートである。 本願の実施例に係る別のトランザクションシーケンスコンセンサス方法のフローチャートである。 本願の実施例に係るコンセンサス待ちトランザクションを検証・解析する方法のフローチャートである。 本願の実施例に係るコンセンサスノードがローカルトランザクションを検証する方法の概略図である。 本願の実施例に係る到着ロープの概略構成図である。 本願の実施例に係る結び目を持続的に作成してローカル到着ロープを延長する方法の概略図である。 本願の実施例に係る別の結び目を持続的に作成してローカル到着ロープを延長する方法の概略図である。 本願の実施例に係るコンセンサスノードが予め設定の復元ルールに従ってトランザクションの到着時系列情報を処理して2つずつのトランザクションの復元時系列及び全てのトランザクションの復元時系列を出力する方法の概略図である。 本願の実施例に係るコンセンサスノードがローカル復元ロープを構築して復元時系列情報を格納する方法の概略図である。 本願の実施例に係るコンセンサスアプリケーションプログラムの概略構成図である。
In order to more clearly explain the technical configuration of the embodiments and the prior art of the present application, the drawings required for the description of the embodiments and the prior art will be briefly described below. Of course, these are just some examples of the present application, and those skilled in the art can also obtain other accompanying drawings based on these drawings without creative efforts.
1 is a schematic configuration diagram of a transaction sequence consensus system according to an embodiment of the present application; FIG. FIG. 4 is a schematic configuration diagram of another transaction sequence consensus system according to an embodiment of the present application; 1 is a schematic configuration diagram of a consensus node according to an embodiment of the present application; FIG. FIG. 4 is a schematic configuration diagram of yet another transaction sequence consensus system according to an embodiment of the present application; 1 is a schematic configuration diagram of a transaction input module according to an embodiment of the present application; FIG. 3 is a schematic configuration diagram of a state acquisition module according to an embodiment of the present application; FIG. 1 is a schematic configuration diagram of a transaction sequence consensus system including a consensus node device according to an embodiment of the present application; FIG. 4 is a flowchart of a method of a transaction entry module according to an embodiment of the present application; FIG. 4 is a schematic diagram of how a transaction entry module initiates allocation of entry nodes for consensus-pending transactions according to an embodiment of the present application; 4 is a flowchart of a transaction sequence consensus method according to an embodiment of the present application; 4 is a flowchart of another transaction sequence consensus method according to an embodiment of the present application; 4 is a flowchart of a method for validating and analyzing a consensus-pending transaction according to an embodiment of the present application; FIG. 4 is a schematic diagram of how a consensus node validates a local transaction according to an embodiment of the present application; 1 is a schematic configuration diagram of an arrival rope according to an embodiment of the present application; FIG. FIG. 4 is a schematic diagram of a method of persistently tying a knot to extend a local arrival rope according to an embodiment of the present application; FIG. 5 is a schematic diagram of another method of persistently tying a knot to extend a local arrival rope according to an embodiment of the present application; FIG. 2 is a schematic diagram of a method for a consensus node according to an embodiment of the present application to process transaction arrival time series information according to a preset restoration rule, and output a restoration time series for every two transactions and a restoration time series for all transactions; be. FIG. 4 is a schematic diagram of a method for a consensus node to build a local restoration rope and store restoration time series information according to an embodiment of the present application; 1 is a schematic configuration diagram of a consensus application program according to an embodiment of the present application; FIG.

以下、当業者にとって本願の技術的構成をより易く理解するために、本願の実施例の図面を参照しながら、本願の実施例における技術的構成について明確かつ完全に説明するが、説明された実施例は、本願の一部の実施例にすぎず、全ての実施例ではない。本願の実施例に基づいて、当業者が創造的な労働なしで得た他の実施例も本願の保護範囲に属する。 In order for those skilled in the art to understand the technical structure of the present application more easily, the technical structure of the embodiments of the present application will be clearly and completely described below with reference to the drawings of the embodiments of the present application. Examples are only some, but not all, implementations of the present application. Based on the embodiments of the present application, other embodiments obtained by persons skilled in the art without creative efforts also fall within the protection scope of the present application.

なお、本願の明細書、特許請求の範囲及び上記の図面における「第1」及び「第2」などの用語は、類似しているオブジェクトを区別するためのものであり、特定の順序や優先順位を説明するために使用されるものではない。このように使用されるデータは、適切な状況で交換されてもよいため、本明細書に記載の本願の実施例は、ここで図示や記載された順序以外の順序で実施されてもよいと理解することができる。また、用語「含む」や「有する」及びそれらのいかなる変形は、非排他的に含むことを意図する。 It should be noted that terms such as "first" and "second" in the specification, claims, and drawings of the present application are for distinguishing similar objects, and are not specified in a specific order or priority. It is not used to describe The data used in this manner may be interchanged in appropriate circumstances, and it is understood that the embodiments of the application described herein may be performed in an order other than that illustrated and described herein. I can understand. Also, the terms "including" and "having" and any variations thereof are intended to be non-exclusive.

トランザクションは、状態を変更する意志のキャリアであり、状態は、トランザクションが実行された現実的結果である。開始されるのはトランザクションであり、取得されるのは、状態である。状態は、新しいトランザクションを開始する根拠であり、トランザクションは、新しい状態を生成する動機(動因)である。実行されるトランザクションのみが状態を変更することができ、異なるトランザクションの実行順序により、異なる状態変化軌跡が生成される。1つの状態が変更されるチャンスは、一回性リソースである。1つの状態が生成された後、この状態が変更される絶好のチャンス(window of opportunity)があり、この状態が新しい状態に変更された後は、元の状態が変更される絶好のチャンスはなく、つまり、1つのトランザクションが元の状態から新しい状態に変更された後、別のトランザクションが元の状態に基づいて別の変更を行うことはない。 A transaction is a carrier of intent to change state, and state is the actual result of executing a transaction. It is the transaction that is started and the state that is obtained. A state is the basis for starting a new transaction, and a transaction is the motivation for creating a new state. Only executed transactions can change state, and different transaction execution orders produce different state change trajectories. A single chance to change state is a one-time resource. After a state is created, there is a window of opportunity for this state to change, and after this state changes to a new state, there is no window of opportunity for the original state to change. That is, after one transaction changes from the original state to the new state, another transaction will not make another change based on the original state.

意志は、必ずしも現実を変えることではなく、因果順序が決定されたトランザクションは、必ずしも実行されることではない。トランザクションが実行されるには、基となる状態が他のトランザクションによって変更されていないことと、トランザクションの所期実行結果が合理性を満足することとの2つの条件を満たす必要がある。2つのトランザクションが互いに矛盾する場合、トランザクションの因果順序を決定する必要があり、前位のトランザクションが実行され、後位のトランザクションは放棄され、2つのトランザクションに、基になる状態が予め設定されていない場合、後位のトランザクションは、未知の新しい状態を基にするため、予想される実行結果の合理性を失う可能性があって実行されず、何れかの主体は、自分の意志が放棄や抑制されることを望まないため、トランザクションは、因果順序を競争する需要があり、したがってトランザクションシーケンスメカニズムに要求を提出する。 Intention does not necessarily change reality, and transactions for which causal ordering is determined are not necessarily executed. In order for a transaction to be executed, two conditions must be satisfied: that the underlying state has not been changed by another transaction, and that the expected execution result of the transaction satisfies rationality. If two transactions contradict each other, the causal order of the transactions needs to be determined, the earlier transaction is executed, the later transaction is abandoned, and the underlying state is preset for the two transactions. If not, the subsequent transaction will not be executed because it is based on an unknown new state, and the expected execution result may lose rationality, and any subject may abandon or relinquish their will. Unwilling to be throttled, transactions need to contend for causal order and therefore submit requests to the transaction sequencing mechanism.

コンセンサスネットワークにおいて、データは、異なるノードにコピーが格納されており、各ノードは、トランザクションを受信して実行することによりデータコピーの状態を変更する。一致する同期の状態変化軌跡をデータコピーに持たせるために、ノードは、ランザクションの因果順序についてのコンセンサスを取る必要があり、コンセンサスが取られたトランザクションの因果順序に従ってトランザクションの実行順序を決定する。 In a consensus network, data is stored in copies on different nodes, and each node modifies the state of the data copy by receiving and executing transactions. In order for data copies to have consistent synchronous state change trajectories, nodes must reach consensus on the causal order of transactions, and determine the execution order of transactions according to the agreed causal order of transactions. .

しかしながら、ネットワーク空間には、物理的空間における天文現象を基準系とすることがないので、物理的空間に対する依存を脱するために、ネットワーク内の活動によって形成された状態変化軌跡を基準系とするしかない。ネットワーク空間は、人工的に作ったものであり、ネットワーク内の活動も、主観的に制御することができるものであり、ネットワーク時間の解釈、進行、発行の権利が単一のノードによって独占されるか又は特定の優勢を形成することを回避するために、少数のノードによって操作されない時間メカニズムの確立を必要とする。 However, in the network space, astronomical phenomena in the physical space are not used as a reference frame. I have to. The network space is artificially created, the activities within the network can also be subjectively controlled, and the right to interpret, process, and publish network time is monopolized by a single node. or to avoid forming a particular dominance requires the establishment of a time mechanism that is not operated by a small number of nodes.

従来技術には、次の問題も存在する。ブロック生成メカニズムは、1グループのトランザクションを同一の時刻にバインディングすることにより、このグループのトランザクションが同時に発生すると見なし、トランザクションの時系列の分解能を低下させ、トランザクションの実際の時系列と明らかに一致しない。ブロックが単一のノードからネットワーク全般にコピーされると、ブロックの同期が遅延され、システムは、ブロック生成の難易度を設定して、安定したブロック生成間隔を維持することにより、ブロックがネットワーク全般に同期されることを保証するために、十分な時間窓を確保し、これも、ネットワークコンセンサスの進行及びトランザクションの実行にスムーズ性が欠けていることになってしまい、このようなブロック生成間隔も攻撃者が悪を行うのに十分な時間窓を与えている。ブロックデータは、複数回のコンセンサス後こそ確率的に確認されるため、トランザクションの確認遅延が高いことになる。これは、ネットワーク状態データが長期間にわたって不確実性にあることを意味し、このよう不確実性は、主体の意思決定にリスクをもたらす。 The prior art also has the following problems. By binding a group of transactions to the same time, the block generation mechanism assumes that this group of transactions occurs at the same time, reducing the resolution of the transaction time series and obviously not matching the actual time series of the transactions. . When blocks are copied across the network from a single node, block synchronization is delayed, and the system sets the block generation difficulty to maintain a stable block generation interval to ensure that blocks are distributed across the network. ensure a sufficient window of time to ensure that it is synchronized with the It gives the attacker enough time window to do evil. Block data is only probabilistically confirmed after multiple rounds of consensus, resulting in high transaction confirmation delays. This means that the network state data is in uncertainty for a long period of time, and such uncertainty poses risks to the subject's decision making.

本願の関連用語に対する解釈は、次のとおりである。 Interpretations for related terms in this application are as follows.

状態:記憶があるシステムにおいて、1つ又は1グループの主体に複数の参照項目を設定してトランザクションを記述し、これらの参照項目の値が一定であると、このトランザクションが「ある状態にある」と称し、これらの参照項目のうちのいずれか1つの値が変化したか又は参照項目の数が変化すると、このトランザクションに「状態変化」が発生したと称する。 State: In a system with memory, when a transaction is described by setting multiple reference items to one or a group of subjects, and the values of these reference items are constant, this transaction is "in a certain state." , and when the value of any one of these reference items changes, or the number of reference items changes, we say that a "state change" has occurred for this transaction.

トランザクションの状態は、このトランザクションの直前の状態変化によって得られ、つまり、毎回の状態変化は、いずれも1つの「初期状態」から「最終状態」に変化する。Sを用いてこのような状態変化関係を表し、状態変化関係も、1種のトランザクションであるため、Sも、状態変化関係による状態を表すことができ、右上角の(n)は、状態の

Figure 0007288264000001
The state of a transaction is obtained by the state changes immediately preceding this transaction, ie each state change changes from one "initial state" to a "final state". Such a state change relationship is expressed using S, and the state change relation is also a type of transaction.
Figure 0007288264000001

状態変化軌跡:トランザクションの状態が変化していると、このトランザクションもこの変化に伴って新しい状態変化関係を生成し、過去に生成された状態変化関係は、その生成の順序に従って順列を形成し、この順列をこのトランザクションの「状態変化軌跡」と

Figure 0007288264000002
ける要素とで1対1のマッピング関係が確立し、自然数の大きさの順序は、状態変化軌跡における要素によって生成される順序と1対1に対応する。状態展開集合は、状態におけ
Figure 0007288264000003
は、軌跡における全ての要素の展開集合内の要素の集合であり、
Figure 0007288264000004
State change trajectory: when the state of a transaction is changing, this transaction also generates a new state change relation with this change, the state change relation generated in the past forms a permutation according to the order of its generation, This permutation is called the "state change trajectory" of this transaction.
Figure 0007288264000002
A one-to-one mapping relationship is established with the elements in the state change trajectory, and the order of magnitude of the natural numbers corresponds one-to-one with the order generated by the elements in the state change trajectory. The state expansion set is
Figure 0007288264000003
is the set of elements in the expanded set of all elements in the trajectory, and
Figure 0007288264000004

時間基準系:現実的には、いずれかの主体であっても全てのトランザクションの全ての状態変化を完全に認識することができないため、主体が時間変化を感知する難易度及び主体が時間感覚を記述する難易度を低減するために、1つ又は1グループの主体は、1つ又は複数のトランザクションの状態変化軌跡を時間基準系とすると協定するしかない。時間

Figure 0007288264000005
Time reference system: In reality, it is impossible for any entity to perceive all state changes in all transactions. To reduce the difficulty of writing, one or a group of entities can only agree that the state change trajectory of one or more transactions is the time reference system. time
Figure 0007288264000005

時刻:時間基準系を1つの全体とする場合、時間基準系にも状態変化軌跡があると、時間基準系の状態変化軌跡における各項目が1つの時刻となる。時間遅延:2つの時刻によって定義される時間区間の時間長である。 Time: When the time reference system is one whole, and if the time reference system also has a state change trajectory, each item in the state change trajectory of the time reference system becomes one time. Time Delay: The length of time of the time interval defined by two instants.

時系列:時間基準系の状態変化軌跡を利用して、イベントの発生時間又は予想される発生時間の順序をマークする。イベント0が時刻iと時刻mとの間で発生し、イベント1が時刻mと時刻nとの間で発生すること、及び時刻jが時刻mより早いことを知っていると、イベント0がイベント1よりも早く発生すると決定できる。

Figure 0007288264000006
Time series: Uses the state change trajectory of the time reference system to mark the sequence of event occurrence times or expected occurrence times. Knowing that event 0 occurs between time i and time m, event 1 occurs between time m and time n, and that time j is earlier than time m, event 0 is event It can be determined to occur earlier than 1.
Figure 0007288264000006

タイムスタンプ:書きと交流の便宜上、採用される符号は、時間基準系の時刻と1対1に対応し、符号がタイムスタンプである。時間基準系の状態変化軌跡が延長し続けるため、タイムスタンプも対応する生成方式を有する必要がある。 Timestamp: For the convenience of writing and communication, the code adopted corresponds one-to-one with the time in the time reference system, and the code is the time stamp. As the state change trajectory of the time reference system continues to extend, the timestamp also needs to have a corresponding generation scheme.

主体:状態取得能力及びトランザクション出力能力を持つ個体又は個体グループ全体である。1つの主体には、一般に、複数のトランザクション入力モジュール及び複数の状態取得モジュールが含まれ、かつ、取得したシステムデータを格納する1つのデータベースと、システムデータに対する処理結果を保存するための1つのバッファと、システム状態を分析理解してトランザクションの開始を決定するための1グループの決定モジュールと、を有する。Mは、主体を表し、Iは、トランザクション入力モジュールの集合を表し、Fは、状態取得モジュールの集合を表し、Σは、取得したシステム状態の集合を表し、Bは、バッファを表し、Dは、決定モジュールの集合を表す。

Figure 0007288264000007
Subject: An individual or an entire group of individuals with state acquisition and transaction output capabilities. One entity generally includes multiple transaction input modules and multiple status acquisition modules, and also includes one database for storing the acquired system data and one buffer for storing the processing results of the system data. and a group of decision modules for analyzing and understanding the system state to decide to start a transaction. M represents a subject, I represents a set of transaction input modules, F represents a set of state acquisition modules, Σ represents a set of acquired system states, B represents a buffer, and D is , represents the set of decision modules.
Figure 0007288264000007

コンセンサスノード:ノードと略称し、特別な主体であり、互いに直接的または間接的に接続されて1つのネットワークを形成し、ネットワーク内の1グループのトランザクションに対してシーケンスを行い、このグループのトランザクションの因果順序及び実行順序についてコンセンサスを取る。コンセンサスノードは、トランザクションを能動的に開始することもでき、他の主体からの委託を受けてネットワークにトランザクションを入力することもでき、他のノードから送信されたトランザクションを同期することもできる。 Consensus node: abbreviated as a node, it is a special subject, directly or indirectly connected with each other to form a network, perform a sequence for a group of transactions in the network, and Consensus on causal and execution order. Consensus nodes can actively initiate transactions, enter transactions into the network on behalf of other parties, and synchronize transactions sent by other nodes.

コンセンサスネットワーク:ネットワークと略称する。1グループの数が可変であるコンセンサスノードによるネットワーク構築によって形成され、コンセンサスノードは、予め設定されたルールに従ってコンセンサスネットワークに加入したり、退出したりすることができる。トランザクション入力モジュールは、コンセンサスネットワークにコンセンサス待ちトランザクションを入力し、具体的には、トランザクション入力モジュールは、コンセンサスネットワークにおけるコンセンサスノードにコンセンサス待ちトランザクションを入力する。1つのコンセンサスネットワークを構成するコンセンサスノード同士は、必ずしも2つずつ直接的に接続されることではないが、2つのコンセンサスノードの間には必ず少なくとも1つの経路がある。Gでコンセンサスネットワークトポロジを表し、Vでコンセンサスネットワークのノードの集合を表し、Eでノード接続関係の集合を表す。 Consensus network: abbreviated as network. A group is formed by building a network with variable number of consensus nodes, and consensus nodes can join or leave the consensus network according to preset rules. The transaction input module inputs consensus-pending transactions into the consensus network, specifically, the transaction input module inputs consensus-pending transactions into consensus nodes in the consensus network. Consensus nodes constituting one consensus network are not necessarily directly connected two by two, but there is always at least one path between two consensus nodes. G represents the consensus network topology, V represents the set of nodes of the consensus network, and E represents the set of node connection relations.

トランザクションのネットワークへの進入:あるトランザクションがエントリノードによって計時され署名された後、エントリノードから他のノードに送信されることを、当該トランザクションがコンセンサスネットワークに進入されと見なす。本願に係る実施例では、トランザクションがエントリノードによってタイムスタンプが付けられたのちに、直ちに署名されて送信されると仮定するため、トランザクションのコンセンサスタイムスタンプは、トランザクションがネットワークに進入された時間を表す。 Entry of a transaction into the network: A transaction is considered entered into the consensus network when it is timed and signed by an entry node and then transmitted from the entry node to another node. Since the embodiments of the present application assume that the transaction is signed and transmitted immediately after being timestamped by the entry node, the consensus timestamp of the transaction represents the time at which the transaction entered the network. .

トランザクション同期:なるべくネットワークにおける全てのノードがいずれもトランザクションを取得するように、トランザクションがノード間で転送される過程である。ノ

Figure 0007288264000008
れる。Transaction Synchronization: The process by which transactions are transferred between nodes so that preferably every node in the network gets the transaction. of
Figure 0007288264000008
be

トランザクションシーケンスコンセンサス:コンセンサスネットワークにおけるノードが、1グループのトランザクションの因果順序について一致する認識を達成することである。トランザクションの因果順序によって、トランザクションの実行順序が決定される一方、トランザクションの実行順序の違いによって、異なる状態変化軌跡が生成され、状態が一致する変化軌跡を有することを保証するために、コンセンサスネットワークは、トランザクションの実行順序についてコンセンサスを取る必要がある。 Transaction Sequence Consensus: The attainment of a consensus understanding of the causal order of a group of transactions by the nodes in a consensus network. While the causal order of transactions determines the order of execution of transactions, differences in the order of execution of transactions produce different state change trajectories, and to ensure that states have consistent change trajectories, the consensus network , we need to reach a consensus on the order of transaction execution.

コンセンサス待ちトランザクション:トランザクション番号、トランザクション入力モジュール標識、エントリノード標識、トランザクション入力モジュールの、システムが指定した状態データに対する変更請求の記述である。トランザクション入力モジュールは、ユーザクライアントであるってもよいし、他の装置であってもよい。システムは、暗号学手段によりトランザクション内容が改ざんされたか否かに対する検証可能性を実現する。ここで、トランザクションの実行待ち内容には、一般に、ユーザID、指定されたトランザクションエグゼキュータID、実行待ち状態の更新記述命令が含まれる。 Consensus pending transaction: transaction number, transaction entry module indicator, entry node indicator, transaction entry module description of change request to system specified state data. A transaction entry module may be a user client or other device. The system realizes verifiability whether the transaction content has been tampered with by cryptographic means. Here, the content of the transaction waiting to be executed generally includes a user ID, a designated transaction executor ID, and an update description command waiting to be executed.

真正時系列:トランザクション入力モジュールがそれぞれコンセンサスネットワークにトランザクションを入力して、トランザクションがコンセンサスネットワークに進入した時系列を生成し、この時系列を「真正時系列」と称する。コンセンサスネットワークは、分散型であり、トランザクション入力モジュールによって入力されたトランザクションは、コンセンサスネットワークにおける異なるコンセンサスノードをエントリとしてコンセンサスネットワークに進入し、従来技術の条件下で全てのトランザクションがネットワークに進入する時系列を直ちに記録できるクロックはなく、コンセンサスノードもいずれかの外部のタイムスタンプをトランザクションの順位付けの根拠としない。したがって、真正時系列は、トランザクションがネットワークに進入したのちに、直ちにコンセンサスネットワークにおける全てのコンセンサスノードによって取得されることはない。

Figure 0007288264000009
Authentic time series: Each transaction input module inputs a transaction into the consensus network to generate a time series of transactions entering the consensus network, which is referred to as an "authentic time series". The consensus network is decentralized, the transactions entered by the transaction entry module enter the consensus network with different consensus nodes in the consensus network as entries, and the time sequence in which all transactions enter the network under the conditions of the prior art. , and consensus nodes do not base their transaction ranking on any external timestamp. Therefore, the authentic time series will not be captured by all consensus nodes in the consensus network immediately after a transaction enters the network.
Figure 0007288264000009

到着時系列:コンセンサスネットワークにおける各コンセンサスノードは、トランザクションを取得し、他のコンセンサスノードにトランザクションを同期させることにより、客観的に、トランザクションが各コンセンサスノードに到着した時系列が生成され、この時系列を「到着時系列」と称する。各コンセンサスノードは、それぞれが構築したクロックで到着時系列を記録する。トランザクションが1つのコンセンサスノードに「到着」する方式には、トランザクションがコンセンサスノードをエントリコンセンサスノードとして、コンセンサスノードに到着すること、又はトランザクションがコンセンサスネットワークに進入した後同期メカニズムによりコンセンサスノードに伝播されることが含まれる。明らかに、各コンセンサスノードの記録した到着時系列が互いに異なる可能性があり、到着時系列が真正時系列と同等でもない。到着とは、一般に、初めて到着したことを

Figure 0007288264000010
Arrival time series: Each consensus node in the consensus network obtains a transaction and synchronizes the transaction with other consensus nodes to objectively generate a time series of the arrival of the transaction at each consensus node, and this time series is called the "arrival time series". Each Consensus Node records its arrival time series with a clock that it builds. The manner in which a transaction "arrives" at one consensus node includes the transaction arriving at the consensus node with the consensus node as the entry consensus node, or the transaction entering the consensus network and being propagated to the consensus nodes by a synchronization mechanism. is included. Clearly, the recorded arrival time series of each consensus node may be different from each other, nor is the arrival time series equivalent to the authentic time series. Arrival generally means first arrival
Figure 0007288264000010

復元時系列:コンセンサスノード同士は、それぞれの到着時系列記録を同期し、予め設定されたルールによって各到着時系列記録に含まれている一部の真正時系列情報を分析し、各一部の真正時系列情報を統合して、真正時系列に対する判断をそれぞれ復元する。コンセンサスノードが真正時系列に対する判断を復元することを、「復元時系列」と称し、

Figure 0007288264000011
Restoration time series: Consensus nodes synchronize their respective arrival time series records, analyze some authentic time series information contained in each arrival time series record according to preset rules, and Integrate the authentic time series information to restore each judgment for the authentic time series. The restoration of the judgment of the authentic time series by the consensus node is called "restored time series",
Figure 0007288264000011

コンセンサス時系列:コンセンサスネットワークが1グループのトランザクションの復元時系列に対する一致の認識である。コンセンサスノード同士は、それぞれの復元時系列を共有し、予め設定されたコンセンサス処理方法により、真正時系列に対する一致性判断を形成する。一般に、コンセンサス時系列は、一旦形成されると、逆行が不可であり、末端に新しいコンセンサストランザクションを追加して一方向に延長することのみが可能である。したがって、コンセンサスノードは、コンセンサス時系列の1回の一方向延長をコンセンサスネットワークの1回の時間進行とすることができ、即ち、コンセンサス時系列をコンセンサスネットワークの共通クロックとすることができ、コンセンサスノードは、コンセンサス時系列を利用して時間を記録することができる。コンセンサス時系列を

Figure 0007288264000012
ーク及びユーザとやり取りを行い、特定のアプリケーションシナリオの需要の主体を満たす。Consensus timeline: A consensus network is the recognition of a match against a reconstructed timeline of a group of transactions. Consensus nodes share their reconstructed time series and form consistency judgments for the authentic time series according to a preset consensus processing method. In general, once a consensus timeline is formed, it cannot be reversed and can only be extended in one direction by adding new consensus transactions at the end. Therefore, a consensus node can make one unidirectional extension of the consensus time series one time progress of the consensus network, i.e., make the consensus time series the common clock of the consensus network, and the consensus node can use consensus time series to record time. the consensus time series
Figure 0007288264000012
interact with the work and users to meet the demands of a particular application scenario.

ロープ:1グループの連続的に生成されるデータブロックを含むデータ構造であり、ここで、各データブロックは、直前のブロックが生成された直後に作成され、かつ、直前のブロックのデータ(一般には、直前のデータブロックのハッシュ値を当該ブロックに書き込む)に依存し、各データブロックには連続する番号がある。Φと記す。 Rope: A data structure containing a group of consecutively generated data blocks, where each data block is created immediately after the previous block is generated and contains the data of the previous block (generally , writing the hash value of the immediately preceding data block into that block), and each data block has a sequential number. It is written as Φ.

結び目:ロープにおける各データブロックを1つの結び目と称する。結び目の構造は、結び目番号と、前時系列結び目引用と、トランザクション引用と、検証項目と、検証ルール番号と、を含む。結び目番号は、一般に連続する自然数であり、同一の到着ロープにおいて後に生成された結び目の番号が前に生成された結び目の番号よりも大きい。前時系列結び目引用は、一般に、同一のローカル到着ロープにおいて自結び目にすぐ隣接する直前の結び目のデジタルダイジェスト値である。トランザクション引用は、一般に、コンセンサス待ちでありかつ検証済みのトランザクションのデジタルダイジェスト値であり、トランザクションが導入されたことを表すか、又は、ヌル値(null値)又は特定値であり、自結び目にトランザクションが導入されていないことを表す。検証項目について、到着ロープの再構築の難度を高めかつ改ざんされた結び目のチェックを容易にするために、0個又は複数個の検証項目が設定され、検証項目は、現在の結び目によって証明された一部の特徴状態値であることができる。検証ルール番号について、検証ルールの番号を設定し、各検証項目がどの検証ルールに従って検証されるかを指定することができる。プログラムの角度から、検証ルールは、検証コードの真偽を検証するプログラムセグメントであり、コンセンサスノードには1群の検証ルールが予め設定されており、各ルールに1つの番号を設定すると、結び目における検証ルール番号により、どのセグメントの検証ルールを実行するかを知ることができる。 Knot: Each data block in a rope is called a knot. The knot structure includes a knot number, a previous chronological knot citation, a transaction citation, a verification item, and a verification rule number. The knot numbers are generally consecutive natural numbers, with knots generated later on the same arrival rope having a higher number than knots generated earlier. A previous chronological knot citation is generally the digital digest value of the immediately preceding knot immediately adjacent to the self-knot on the same local arrival rope. A transaction citation is generally a digital digest value of a transaction that is pending consensus and has been verified, and represents that the transaction has been introduced, or is a null value or a specific value, indicating that the transaction is not installed. For verification items, zero or more verification items are set to increase the difficulty of reconstructing the arrival rope and facilitate checking for tampered knots, and the verification items are proved by the current knot. It can be some feature state value. As for the verification rule number, it is possible to set the verification rule number and specify which verification rule each verification item is to be verified according to. From the program angle, the verification rule is a program segment that verifies the truth of the verification code, and the consensus node is preset with a group of verification rules. With the verification rule number, it is possible to know which segment's verification rule is to be executed.

1つの結び目は、1つの構造体で表し、メモリに格納されてもよいし、JSON、XMLなどの形式でファイル、データベース、磁気ディスクに格納されてもよく、上記番号、前時系列結び目引用、トランザクション引用、検証項目などの内容を保存する予め設定されたフォーマットがあればよく、結び目のフォーマット及び格納位置は限定されない。結

Figure 0007288264000013
One knot is represented by one structure and may be stored in memory, or may be stored in a file, database, or magnetic disk in a format such as JSON or XML. The format and storage location of the knot are not limited as long as there is a preset format for storing the contents of transaction quotes, verification items, etc. tie
Figure 0007288264000013

時間ロープ:時間及びイベントの計時(イベントと1つのタイムスタンプとを関連付ける行為)を定義するためのロープであり、ロープの状態変化軌跡を時間基準系とする。本願の実施例では、到着ロープ及びコンセンサスロープとの2つの時間ロープがある。時間ロープに含まれる情報の本質は、タイムスタンプ集合、トランザクション集合、タイムスタンプの順序関係集合、トランザクションとタイムスタンプとのバインディング関係集合から構成されるクワドルプルであり、ここで、1つのタイムスタンプは、0個または1個以上のトランザクションをバインディングすることができる。ブロックチェーンは、時間ロープの特例であり、ここで、1つのブロックは、実際には、タイムスタンプと、このタイムスタンプがバインディングされたトランザクションとの集合である。 Time rope: A rope for defining time and event timing (an act of associating an event with one time stamp), and the status change trajectory of the rope is used as a time reference system. In our example, there are two temporal ropes, the arrival rope and the consensus rope. The essence of the information contained in the time rope is a quadruple consisting of a set of timestamps, a set of transactions, a set of ordered relations of timestamps, and a set of binding relations between transactions and timestamps, where one timestamp is: Zero or more transactions can be bound. A blockchain is a special case of a time rope, where a block is actually a collection of a timestamp and the transactions to which this timestamp is bound.

到着ロープ:到着情報を運ぶためのデータ及びデータ構造の実現可能な形態であり、コンセンサスノードによって構築され、ローカル時間を定義し、トランザクションの到着時系列を記録する時間ロープであり、コンセンサスノードがロープ方式で記録したトランザクションの到着時系列データである。ロープにトランザクションがコンセンサスノードに到着した時系列証拠が記録されているため、このロープを「到着ロープ」と称する。ここで、一般に、1つのコンセンサスノードは、1本の到着ロープのみを構築する。例えば、ノードn0によって構築された1本のローカル到着ロープは、

Figure 0007288264000014
省略され、トランザクション結び目のみを列挙する。ローカル到着ロープ:自ノードによって構築された到着ロープには、トランザクションが自コンセンサスノードに到着した時系列データが記録される。Arrival Rope: A feasible form of data and data structures for carrying arrival information, a temporal rope that is constructed by a consensus node to define local time and record the arrival timeline of transactions, and that the consensus node is a rope This is transaction arrival time-series data recorded by the method. We refer to this rope as the “arrival rope” because the rope records the chronological evidence that transactions have arrived at the consensus node. Here, in general, one consensus node builds only one arrival rope. For example, one local arrival rope built by node n0 is
Figure 0007288264000014
Omitted to enumerate transaction knots only. Local arrival rope: The arrival rope constructed by the own node records the time-series data of transactions arriving at the own consensus node.

以下、図面を参照しながら、本願についてさらに詳細に説明する。 The present application will be described in more detail below with reference to the drawings.

本願の一部の実施例では、メタバースにおいて、時間プロトコル及び価値転送プラットフォームとして適用されることができるトランザクションシーケンスコンセンサスシステムを提供する。 Some embodiments of the present application provide a transaction sequence consensus system that can be applied as a temporal protocol and value transfer platform in the Metaverse.

図1及び図2に示すように、システムには、複数のトランザクション入力モジュール、1つのコンセンサスネットワーク、複数の状態取得モジュールが含まれている。 As shown in FIGS. 1 and 2, the system includes multiple transaction input modules, a consensus network, and multiple state acquisition modules.

トランザクション入力モジュールは、コンセンサス待ちトランザクションを生成するために用いられ、コンセンサスネットワークは、コンセンサス待ちトランザクションを分析処理して、コンセンサス待ちトランザクションのコンセンサス時系列を取得するために用いられ、状態取得モジュールは、状態データの状態変化を表示するために用いられる。 The transaction input module is used to generate consensus-waiting transactions, the consensus network is used to analyze and process the consensus-waiting transactions to obtain a consensus time series of the consensus-waiting transactions, and the state acquisition module is used to obtain the state Used to display data state changes.

図3に示すように、コンセンサスネットワークには、N個のコンセンサスノードが含まれており、コンセンサスノードは、トランザクション処理サブモジュールと、到着ロープ処理サブモジュールと、復元ロープ処理サブモジュールと、コンセンサスロープ処理サブモジュールと、状態処理サブモジュールと、時間処理サブモジュールと、を含む。 As shown in FIG. 3, the consensus network includes N consensus nodes, which are a transaction processing sub-module, an arrival rope processing sub-module, a restoration rope processing sub-module, and a consensus rope processing sub-module. It includes a sub-module, a state processing sub-module, and a time processing sub-module.

トランザクション処理サブモジュールは、ローカルトランザクション及びノンローカルトランザクションを処理するために用いられ、トランザクション処理サブモジュールは、ローカルトランザクション処理ユニットと、ノンローカルトランザクション処理ユニットと、トランザクションマークユニットと、トランザクション格納ユニットと、を含み、ここで、ローカルトランザクション処理ユニットは、ローカルトランザクション取得サブユニットと、ローカルトランザクション検証サブユニットと、ローカルトランザクション解析サブユニットと、ローカルトランザクション同期サブユニットと、を含む。ノンローカルトランザクション処理ユニットは、ノンローカルトランザクション取得サブユニットと、ノンローカルトランザクション検証サブユニットと、ノンローカルトランザクション解析サブユニットと、ノンローカルトランザクション同期サブユニットと、を含む。 A transaction processing sub-module is used to process local transactions and non-local transactions, and the transaction processing sub-module includes a local transaction processing unit, a non-local transaction processing unit, a transaction mark unit and a transaction storage unit. wherein the local transaction processing unit includes a local transaction acquisition subunit, a local transaction verification subunit, a local transaction analysis subunit, and a local transaction synchronization subunit. The non-local transaction processing unit includes a non-local transaction acquisition sub-unit, a non-local transaction verification sub-unit, a non-local transaction analysis sub-unit and a non-local transaction synchronization sub-unit.

到着ロープ処理サブモジュールは、ローカル到着ロープ及びノンローカル到着ロープのデータを処理するために用いられ、到着ロープ処理サブモジュールは、ローカル到着ロープ処理ユニットと、ノンローカル到着ロープ処理ユニットと、到着時系列情報格納ユニットと、到着時系列情報分析ユニットと、到着ロープ処理最適化ユニットと、を含み、ここで、ローカル到着ロープ処理ユニットは、ローカル到着ロープ初期化サブユニットと、ローカル到着ロープノッティングサブユニットと、ローカル到着ロープ同期サブユニットと、ローカル到着ロープ格納サブユニットと、を含む。ノンローカル到着ロープ処理ユニットは、ノンローカル到着ロープ取得サブユニットと、ノンローカル到着ロープスティッチングサブユニットと、ノンローカル到着ロープ検証サブユニットと、ノンローカル到着ロープ解析サブユニットと、ノンローカル到着ロープ同期サブユニットと、ノンローカル到着ロープ格納サブユニットと、を含む。到着時系列情報格納ユニットは、ローカル及びノンローカルの到着時系列情報を格納するために用いられる。到着時系列情報分析ユニットは、到着時系列情報を分析するために用いられる。到着ロープ処理最適化ユニットは、外部入力に応答して到着ロープの処理を最適化するために用いられる。 The arrival rope processing sub-module is used to process the data of the local arrival rope and the non-local arrival rope, the arrival rope processing sub-module comprises a local arrival rope processing unit, a non-local arrival rope processing unit and an arrival time series. an information storage unit, an arrival time series information analysis unit, and an arrival rope processing optimization unit, wherein the local arrival rope processing unit comprises a local arrival rope initialization subunit and a local arrival rope notting subunit; , a local arrival rope synchronization subunit and a local arrival rope storage subunit. The non-local arrival rope processing unit comprises a non-local arrival rope acquisition sub-unit, a non-local arrival rope stitching sub-unit, a non-local arrival rope verification sub-unit, a non-local arrival rope analysis sub-unit, and a non-local arrival rope synchronization. and a non-local arrival rope storage subunit. The arrival time series information storage unit is used to store local and non-local arrival time series information. The arrival time series information analysis unit is used to analyze the arrival time series information. The arrival rope processing optimization unit is used to optimize the processing of arrival ropes in response to external inputs.

復元ロープ処理サブモジュールは、ローカル復元ロープ及びノンローカル復元ロープのデータを処理するために用いられ、復元ロープ処理サブモジュールは、到着時系列情報取得ユニットと、ローカル復元ロープ生成ユニットと、復元ロープ同期ユニットと、ローカル復元時系列情報格納ユニットと、ノンローカル復元ロープ同期ユニットと、ノンローカル復元ロープ解析ユニットと、ノンローカル復元ロープ検証ユニットと、ノンローカル復元時系列情報格納ユニットと、復元ロープコンセンサス時系列生成ユニットと、を含む。 A restoration rope processing sub-module is used to process the data of the local restoration rope and the non-local restoration rope, and the restoration rope processing sub-module includes an arrival time series information acquisition unit, a local restoration rope generation unit, and a restoration rope synchronization. a unit, a local restoration time series information storage unit, a non-local restoration rope synchronization unit, a non-local restoration rope analysis unit, a non-local restoration rope verification unit, a non-local restoration time series information storage unit, and a restoration rope consensus time. and a sequence generation unit.

コンセンサスロープ処理サブモジュールは、コンセンサスロープのデータを処理するために用いられ、コンセンサスロープ処理サブモジュールは、コンセンサスロープ初期化ユニットと、コンセンサスロープノッティングユニットと、コンセンサスロープトランザクション検証ユニットと、コンセンサスロープトランザクション解析ユニットと、コンセンサスロープトランザクション実行ユニットと、コンセンサスロープデータ分析ユニットと、コンセンサスロープ同期ユニットと、コンセンサスロープ検証ユニットと、コンセンサスロープ状態出力ユニットと、を含む。 A consensus slope processing sub-module is used to process the data of the consensus slope, and the consensus slope processing sub-module includes a consensus slope initialization unit, a consensus slope notting unit, a consensus slope transaction verification unit, and a consensus slope transaction analysis. a consensus slope transaction execution unit, a consensus slope data analysis unit, a consensus slope synchronization unit, a consensus slope verification unit, and a consensus slope status output unit.

状態処理サブモジュールは、状態データを処理して、状態取得モジュールとデータのやり取りを行うために用いられ、状態処理サブモジュールは、状態データ初期化ユニットと、状態データ更新ユニットと、状態データ検証ユニットと、状態データサービスユニットと、状態データ格納ユニットと、状態データ同期ユニットと、を含む。状態データサービスユニットは、状態データ購読管理サブユニットと、状態データアクティブプッシュサブユニットと、状態データ請求応答サブユニットと、状態データ権限管理サブユニットと、を含む。状態データ格納ユニットは、状態データを格納するために用いられる。状態データ同期ユニットは、状態データを同期するために用いられる。 A state processing sub-module is used to process state data and exchange data with the state acquisition module, and the state processing sub-module includes a state data initialization unit, a state data update unit, and a state data verification unit. , a state data service unit, a state data storage unit, and a state data synchronization unit. The state data service unit includes a state data subscription management subunit, a state data active push subunit, a state data request response subunit, and a state data rights management subunit. The state data storage unit is used to store state data. A state data synchronization unit is used to synchronize state data.

時間処理サブモジュールは、ユーザがタイムスタンプを取得して、タイムスタンプを検証するために用いられる。時間処理サブモジュールは、時間定義ユニットと、時間解釈ユニットと、時間検証ユニットと、時間マークユニットと、時間取得ユニットと、時間同期ユニットと、を含む。タイムスタンプは、ある挙動が発生した時間をマークするために用いられ、本願において、タイムスタンプは、人々が通常使用している年/月/日/時/分/秒での時間表示ではなく、コンセンサスシステム以外の時間源によって提供される時間表示でもなく、コンセンサスシステム内のある増加数量を基に形成される時間表示である。 The Time Processing sub-module is used by the user to obtain timestamps and to verify timestamps. The time processing sub-module includes a time definition unit, a time interpretation unit, a time verification unit, a time mark unit, a time acquisition unit and a time synchronization unit. Timestamps are used to mark the time that an action occurred, and in this application timestamps are not the year/month/day/hour/minute/second time display that people normally use, It is neither a time representation provided by a time source other than the consensus system, nor a time representation formed on the basis of some incremental quantity within the consensus system.

図4に示すように、一実施形態では、システムは、複数のトランザクション入力モジュール、1つのコンセンサスネットワーク、及び複数の状態取得モジュールを含む。ここで、コンセンサスネットワークは、N個のコンセンサスノードを含み、コンセンサスノードは、トランザクション処理と、到着時系列情報と、復元時系列情報と、コンセンサス時系列情報と、状態データと、時間情報と、を含む。図2は、図4の詳細的な具現であり、本願は、図2の形態を含むだけでなく、他の図4を具現することができる他の方式も含む。トランザクション処理サブモジュール、到着ロープ処理サブモジュール、復元ロープ処理サブモジュール、コンセンサスロープ処理サブモジュール、状態処理サブモジュール及び時間処理サブモジュールを介して、コンセンサスノードを詳細的な形態で具現化し、本願は、図2の具現方法のみを含むことではない。 As shown in FIG. 4, in one embodiment, the system includes multiple transaction entry modules, a consensus network, and multiple state acquisition modules. Here, the consensus network includes N consensus nodes, and the consensus nodes include transaction processing, arrival time series information, restoration time series information, consensus time series information, state data, and time information. include. FIG. 2 is a detailed implementation of FIG. 4, and the present application not only includes the form of FIG. 2, but also includes other ways that other FIG. 4 can be implemented. A consensus node is embodied in detailed form through a transaction processing sub-module, an arrival rope processing sub-module, a recovery rope processing sub-module, a consensus slope processing sub-module, a state processing sub-module and a time processing sub-module, and the present application: It does not include only the implementation method of FIG.

図5に示すように、トランザクション入力モジュールは、トランザクション開始サブモジュールと、トランザクションエントリノード割当サブモジュールと、トランザクション送信サブモジュールと、を含む。ここで、トランザクション開始サブモジュールは、トランザクショントリガ情報を取得するために用いられ、主体の意志入力を取得してトランザクションの開始を完了し、トランザクションをトランザクションエントリノード割当サブモジュールに提出する。トランザクションエントリノード割当サブモジュールは、コンセンサスネットワークからコンセンサスノード情報を取得し、予め設定されたエントリノード割当ルール、コンセンサス待ちトランザクション及びコンセンサスノードに基づいて、コンセンサス待ちトランザクションのエントリノードを決定し、トランザクションをトランザクション送信サブモジュールに提出するために用いられる。トランザクション送信サブモジュールは、コンセンサス待ちトランザクションをエントリノードに伝達するために用いられる。 As shown in FIG. 5, the transaction entry module includes a transaction initiation sub-module, a transaction entry node allocation sub-module, and a transaction transmission sub-module. Here, the transaction initiation sub-module is used to obtain the transaction trigger information, obtain the subject's will input to complete the transaction initiation, and submit the transaction to the transaction entry node assignment sub-module. The transaction entry node allocation sub-module obtains consensus node information from the consensus network, determines the entry node of the consensus-waiting transaction based on the preset entry node allocation rules, consensus-waiting transactions and consensus nodes, and executes the transaction. Used to submit to the Send submodule. The transaction sending sub-module is used to convey consensus-pending transactions to entry nodes.

図6に示すように、状態取得モジュールは、状態表示サブモジュールと、状態請求サブモジュールと、状態購読サブモジュールと、状態合成サブモジュールと、状態格納サブモジュールと、状態分析サブモジュールと、を含む。状態表示サブモジュールは、状態取得モジュールによって取得された現在または履歴の状態データを表示する。ここで、状態データをオフラインで利用し、データ要求回数を減らすために、状態表示モジュールは、毎回コンセンサスノードから状態データを取得する必要なく、取得した状態データを一時的に格納することができる。状態格納サブモジュールは、取得した状態データを格納するために用いられる。状態分析サブモジュールは、取得した状態データを分析して分析結果を出力するために用いられ、分析結果の出力は、一連の処理を経て主体の意志を形成して、トランザクション入力モジュールをトリガしてトランザクションを開始することができる。 As shown in FIG. 6, the status acquisition module includes a status display sub-module, a status request sub-module, a status subscription sub-module, a status synthesis sub-module, a status storage sub-module, and a status analysis sub-module. . The status display sub-module displays current or historical status data obtained by the status acquisition module. Here, in order to utilize the state data offline and reduce the number of data requests, the state display module can temporarily store the obtained state data without having to obtain the state data from the consensus node each time. The state storage sub-module is used to store the obtained state data. The state analysis sub-module is used to analyze the obtained state data and output the analysis result. The output of the analysis result forms the will of the subject through a series of processing and triggers the transaction input module. Transactions can be started.

本願の一部の実施例は、第1部分のコンセンサスネットワークに適用されるコンセンサスノードを提供し、図7に示すように、ここで、図7のコンセンサスノードに対応する装置は次のとおりである。コンセンサスノード装置は、エントリノード装置と、到着時系列ノード装置と、復元時系列ノード装置と、コンセンサス時系列ノード装置と、状態ノード装置と、時間ノード装置と、を含み、エントリノード装置は、到着時系列ノード装置及び状態ノード装置とデータ接続され、到着時系列ノード装置は、復元時系列ノード装置とデータ接続され、復元時系列ノード装置は、コンセンサス時系列ノード装置とデータ接続され、コンセンサス時系列ノード装置は、状態ノード装置とデータ接続され、時間ノード装置は、エントリノード装置、到着時系列ノード装置、復元時系列ノード装置、コンセンサス時系列ノード装置及び状態ノード装置とデータ接続され、フルノード装置は、エントリノード、到着時系列ノード、復元時系列ノード、コンセンサス時系列ノード、状態ノード及び時間ノードの機能を有する。 Some embodiments of the present application provide a consensus node applied to the consensus network of the first part, as shown in FIG. 7, where the devices corresponding to the consensus node in FIG. 7 are: . The consensus node device includes an entry node device, an arrival time series node device, a restoration time series node device, a consensus time series node device, a state node device, and a time node device. The time series node device and the state node device are data-connected, the arrival time-series node device is data-connected with the restoration time-series node device, the restoration time-series node device is data-connected with the consensus time-series node device, and the consensus time-series The node device is data connected with the state node device, the time node device is data connected with the entry node device, the arrival time series node device, the restoration time series node device, the consensus time series node device and the state node device, and the full node device is , entry node, arrival time series node, restoration time series node, consensus time series node, state node and time node.

トランザクションを開始し、予め設定された割当ルールに従ってトランザクションにエントリノードを割り当ててエントリノードへトランザクションを入力させ、エントリノードは、トランザクションを取得して同期し、トランザクションに対して一連の処理を行い、トランザクションを到着時系列ノードに送信する。ここで、エントリノードは、トランザクションが持っているエントリノード情報に基づいてトランザクションを区分し、到着時系列ノードは、エントリノードのトランザクションを取得し、予め設定された到着ルールに従って、自ノードの到着時系列を記録し、自ノードの到着時系列を復元時系列ノードに送信し、復元時系列ノードは、到着時系列ノードの到着時系列を取得し、予め設定された復元ルールに従って、到着時系列を自ノードの復元時系列に処理して、復元時系列をコンセンサス時系列ノードに送信し、コンセンサス時系列ノードは、復元時系列ノードの復元時系列を取得して同期し、予め設定されたコンセンサスルールに従って、復元時系列をコンセンサス時系列に処理し、コンセンサス時系列を状態ノードに送信し、状態ノードは、コンセンサス時系列に従って、コンセンサス時系列に関するトランザクションを取得して実行し、状態データのコピーを更新し、時間ノードは、コンセンサス時系列を利用して時間データを定義して、時間データの入力、出力、処理を行い、状態取得モジュールは、状態ノードから状態データを取得する。 A transaction is started, an entry node is assigned to the transaction according to a preset allocation rule, and the transaction is input to the entry node. The entry node acquires and synchronizes the transaction, performs a series of processing on the transaction, to the arrival time series node. Here, the entry node classifies the transaction based on the entry node information possessed by the transaction, and the arrival time-series node obtains the transaction of the entry node, and according to the preset arrival rule, The sequence is recorded, and the arrival time series of its own node is transmitted to the restoration time series node. process the restored time series of its own node, send the restored time series to the consensus time series node, and the consensus time series node acquires and synchronizes the restored time series of the restored time series node, and follows the preset consensus rule process the restored time series into a consensus time series according to, send the consensus time series to the state node, and the state node obtains and executes transactions on the consensus time series according to the consensus time series, and updates its copy of the state data The time node defines time data using the consensus time series to input, output and process the time data, and the state acquisition module acquires state data from the state node.

第1態様との異なる点は、コンセンサスネットワークにおけるコンセンサスノードは、担当して処理するトランザクションシーケンスコンセンサス流れの手順の異なりによって、1つ又は複数のノードアイデンティティを有する。ノードアイデンティティは、以下のことを含む。 The difference from the first aspect is that a consensus node in the consensus network has one or more node identities depending on the procedure of the transaction sequence consensus flow it is responsible for processing. A node identity includes:

エントリノードは、トランザクション入力モジュールからのトランザクションを受信して、客観的に「真正時系列」が生成される。エントリノードのトランザクション処理サブモジュールは、予め設定された割当ルールに従ってトランザクションを受信し、トランザクションを到着時系列ノード及び状態ノードに入力させる。エントリノード装置は、ローカルトランザクション処理モジュールを含むエントリノードを含み、ここで、ローカルトランザクション処理モジュールは、トランザクションを取得して同期し、トランザクションに対して一連の処理を行い、トランザクションを到着時系列ノードに送信し、ここで、ローカルトランザクション処理モジュールは、トランザクションが持っているエントリノード情報に基づいてトランザクションを区分する。 Entry nodes receive transactions from the transaction input module and objectively generate an "authentic time series". The transaction processing submodule of the entry node receives transactions according to preset allocation rules and causes the transactions to enter the arrival time series node and the state node. The entry node apparatus includes an entry node including a local transaction processing module, where the local transaction processing module obtains and synchronizes transactions, performs sequence processing on the transactions, and forwards the transactions to arrival timeline nodes. where the local transaction processing module partitions the transaction based on the entry node information that the transaction has.

到着時系列ノードのトランザクション処理サブモジュールは、エントリノードからのトランザクションを受信して、客観的に「到着時系列」が生成され、到着ロープ処理サブモジュールは、到着ロープを構築して到着時系列情報を記録し、到着ロープを復元時系列ノードに入力させる。到着時系列ノード装置は、ノンローカルトランザクション処理モジュール及びローカル到着ロープ処理モジュールを含む到着時系列ノードを含み、ここで、到着時系列ノードは、システムにおける到着時系列ノードであり、ここで、ノンローカルトランザクション処理モジュールは、エントリノードのトランザクションを取得し、ローカル到着ロープ処理モジュールは、予め設定された到着ルールに従って、自ノードの到着時系列を記録し、自ノードの到着時系列を復元時系列ノードに送信する。 The transaction processing sub-module of the arrival time series node receives transactions from the entry node to objectively generate an "arrival time series", and the arrival rope processing sub-module constructs the arrival rope to obtain the arrival time series information. , and input the arrival rope to the restored time series node. The arrival time series node device includes an arrival time series node including a non-local transaction processing module and a local arrival rope processing module, where the arrival time series node is an arrival time series node in the system, where the non-local The transaction processing module acquires the transaction of the entry node, and the local arrival rope processing module records the arrival time series of its own node according to the preset arrival rule, and transfers the arrival time series of its own node to the restoration time series node. Send.

復元時系列ノードは、到着時系列ノードからの到着ロープを受信し、復元ロープ処理サブモジュールは、到着ロープを処理し、復元ロープを構築して復元時系列情報を記録し、復元ロープをコンセンサス時系列ノードに入力させる。復元時系列ノード装置は、ノンローカル到着ロープ処理モジュール及びローカル復元ロープ処理モジュールを含む復元時系列ノードを含み、ここで、復元時系列ノードは、システムにおける復元時系列ノードであり、ここで、ノンローカル到着ロープ処理モジュールは、到着時系列ノードの到着時系列を取得し、ローカル復元ロープ処理モジュールは、予め設定された復元ルールに従って到着時系列を自ノードの復元時系列に処理し、この復元時系列をコンセンサス時系列ノードに送信する。 The restoration time series node receives the arrival rope from the arrival time series node, and the restoration rope processing submodule processes the arrival rope, constructs the restoration rope, records the restoration time series information, and converts the restoration rope to consensus time. Input to the series node. The restoration time series node device includes a restoration time series node including a non-local arrival rope processing module and a local restoration rope processing module, wherein the restoration time series node is a restoration time series node in the system, wherein the non The local arrival rope processing module acquires the arrival time series of the arrival time series node, and the local restoration rope processing module processes the arrival time series into the restoration time series of its own node according to the restoration rule set in advance. Send the series to the consensus time series node.

コンセンサス時系列ノードのコンセンサスロープ処理サブモジュールは、復元時系列ノードからの復元ロープを受信し、コンセンサス時系列ノード同士は、コンセンサス時系列を達成し、コンセンサスロープ処理サブモジュールは、コンセンサスロープを構築してコンセンサス時系列情報を保存し、コンセンサス時系列情報を状態ノード及び時間ノードに送信する。コンセンサス時系列ノード装置は、ノンローカル復元ロープ処理モジュール及びローカルコンセンサスロープ処理モジュールを含むコンセンサス時系列ノードを含み、ここで、コンセンサス時系列ノードは、システムにおけるコンセンサス時系列ノードであり、ここで、ノンローカル復元ロープ処理モジュールは、復元時系列ノードの復元時系列を取得して同期し、ローカルコンセンサスロープ処理モジュールは、予め設定されたコンセンサスルールに従って、復元時系列をコンセンサス時系列に処理し、このコンセンサス時系列を状態ノードに送信する。 The consensus slope processing submodule of the consensus time series node receives the restoration rope from the restoration time series node, the consensus time series nodes achieve a consensus time series, and the consensus slope processing submodule builds the consensus slope. to store the consensus time series information, and send the consensus time series information to the state node and the time node. The consensus time series node device includes a consensus time series node including a non-local restoration rope processing module and a local consensus rope processing module, where the consensus time series node is a consensus time series node in the system, wherein non The local restoration rope processing module obtains and synchronizes the restoration time series of restoration time series nodes, and the local consensus slope processing module processes the restoration time series into a consensus time series according to a preset consensus rule, and this consensus Send the time series to the state node.

状態ノードの状態処理サブモジュールは、エントリノードからのトランザクション及びコンセンサス時系列ノードからのコンセンサス時系列を取得し、コンセンサス時系列に従ってトランザクションを実行して、状態データに対する変更を完了する。状態ノード装置は、ノンローカルトランザクション処理モジュール及び状態処理モジュールを含む状態ノードを含み、ここで、状態ノードは、システムにおける時間ノードであり、ここで、ノンローカルトランザクション処理モジュールは、コンセンサス時系列に従ってコンセンサス時系列に関するトランザクションを取得し、状態処理モジュールは、コンセンサス時系列に従ってコンセンサス時系列に関するトランザクションを実行し、状態データのコピーを更新する。 A state processing sub-module of the state node obtains the transactions from the entry node and the consensus timeline from the consensus timeline node, and executes the transactions according to the consensus timeline to complete changes to the state data. The state node device includes a state node including a non-local transaction processing module and a state processing module, where the state node is a time node in the system, where the non-local transaction processing module performs consensus according to a consensus timeline Obtaining the transactions on the timeline, the state processing module executes the transactions on the consensus timeline according to the consensus timeline to update a copy of the state data.

時間ノードは、コンセンサス時系列ノードから時間ノードの時間処理サブモジュールにコンセンサス時系列ノードのコンセンサスロープ状態情報を入力させ、時間ノードは、コンセンサスロープ状態情報を時間情報に処理して、エントリノード、到着時系列ノード、復元時系列ノード、コンセンサス時系列ノード、状態ノード、及び時間ノードに時間情報を提供し、好ましくは、エントリノードは、時間情報を受信してトランザクションにタイムスタンプを追加し、到着時系列ノードは、時間情報を受信して到着ロープの現在の結び目にタイムスタンプを追加し、復元時系列ノードは、時間情報を受信して出力する復元ロープにタイムスタンプを追加し、コンセンサス時系列ノードは、コンセンサスロープの現在の結び目にタイムスタンプを追加し、状態ノードは、時間情報を受信して状態データにタイムスタンプを追加し、時間ノードは、時間情報を受信して自ノードの時間と比較する。時間ノード装置は、時間処理モジュールを含む時間ノードを含み、ここで、時間ノードは、システムにおける状態ノードであり、ここで、時間処理モジュールは、コンセンサス時系列を利用して時間データを定義して、時間データの入力、出力、処理を行う。 The time node causes the time processing submodule of the time node from the consensus time series node to input the consensus slope state information of the consensus time series node, the time node processes the consensus slope state information into time information, the entry node, the arrival provide time information to the time series node, the reconstruction time series node, the consensus time series node, the state node, and the time node, preferably the entry node receives the time information and adds a timestamp to the transaction, A series node receives time information and adds a timestamp to the current knot of the arrival rope, a restoration time series node receives time information and adds a timestamp to the output restoration rope, and a consensus time series node adds a timestamp to the current knot of the consensus slope, the state node receives the time information and adds the timestamp to the state data, the time node receives the time information and compares it with its own time do. The time node apparatus includes a time node including a time processing module, where the time node is a state node in the system, where the time processing module utilizes a consensus time series to define time data. , input, output, and process time data.

フルノード装置は、少なくとも、トランザクション処理サブモジュールと、到着ロープ処理サブモジュールと、復元ロープ処理サブモジュールと、コンセンサスロープ処理サブモジュールと、状態処理サブモジュールと、時間処理サブモジュールと、を含む。極端の場合、コンセンサスネットワークにおけるノードは、全てがフルノードであるか、又は、全てがフルノードでない。フルノード装置は、コンセンサスノードであり、フルノードは、トランザクション処理サブモジュールと、到着ロープ処理サブモジュールと、復元ロープ処理サブモジュールと、コンセンサスロープ処理サブモジュールと、状態処理サブモジュールと、時間処理サブモジュールと、を含み、ここで、フルノードは、システムにおけるコンセンサスノードであり、ここで、トランザクション処理サブモジュールは、トランザクションを取得して同期し、トランザクションに対して一連の処理を行い、ここで、コンセンサスノードは、トランザクションが持っているエントリノード情報に基づいてトランザクションを区分し、到着ロープ処理サブモジュールは、自ノードの到着時系列を記録して、自ノードの到着時系列を同期し、到着ロープ処理サブモジュールは、他のノードの到着時系列を取得して同期し、復元ロープ処理サブモジュールは、自ノードの到着時系列及び他のノードの到着時系列を自ノード復元時系列に処理し、自ノード復元時系列を同期し、復元ロープ処理サブモジュールは、他のノード復元時系列を取得して同期し、コンセンサスロープ処理サブモジュールは、自ノード復元時系列及び他のノード復元時系列をコンセンサス時系列に処理し、状態処理サブモジュールは、コンセンサス時系列に従ってコンセンサス時系列に関するトランザクションを取得して同期し、状態データのコピーを更新し、時間処理サブモジュールは、コンセンサス時系列を利用して時間データを定義して、時間データの入力、出力、処理を行う。 The full node device includes at least a transaction processing sub-module, an arrival rope processing sub-module, a restoration rope processing sub-module, a consensus rope processing sub-module, a state processing sub-module, and a time processing sub-module. In extreme cases, the nodes in the consensus network are either all full nodes or not all full nodes. The full node device is a consensus node, and the full node includes a transaction processing sub-module, an arrival rope processing sub-module, a recovery rope processing sub-module, a consensus slope processing sub-module, a state processing sub-module, and a time processing sub-module. , where the full node is the consensus node in the system, where the transaction processing submodule acquires and synchronizes the transaction and performs a series of operations on the transaction, where the consensus node is , the transaction is divided according to the entry node information possessed by the transaction, the arrival rope processing submodule records the arrival time series of the own node, synchronizes the arrival time series of the own node, and the arrival rope processing submodule acquires and synchronizes the arrival time series of other nodes, and the restoration rope processing submodule processes the arrival time series of its own node and the arrival time series of other nodes into its own node restoration time series, and restores its own node Synchronize the time series, the restoration rope processing sub-module acquires and synchronizes the restoration time series of other nodes, and the consensus slope processing sub-module converts the self-node restoration time series and the other node restoration time series into the consensus time series. processing, a state processing sub-module retrieving and synchronizing transactions on the consensus time series according to the consensus time series and updating a copy of the state data, and a time processing sub-module utilizing the consensus time series to define time data. to input, output, and process time data.

一実施形態では、トランザクションシーケンスコンセンサスシステムには、N個のトランザクション入力モジュールと、F個の状態取得モジュールと、1個のコンセンサスネットワークと、が含まれ、コンセンサスネットワークには、M個のエントリノードと、H個の到着時系列ノードと、K個の復元時系列ノードと、J個のコンセンサス時系列ノードと、L個の状態ノードと、T個の時間ノードと、が含まれる。1つのノードは、複数のアイデンティティ、さらには、フルノードアイデンティティを有する可能性があるため、コンセンサスネットワークにおけるノードの総数は、(M+H+K+J+L+T)以下であり、極端の場合は、コンセンサスネットワークの全部がフルノードであり、即ち、コンセンサスネットワークにおけるノードの総数がMであり、M=H=K=J=L=Tである。 In one embodiment, a transaction sequence consensus system includes N transaction entry modules, F state acquisition modules, and a consensus network, wherein the consensus network includes M entry nodes and , H arrival time series nodes, K reconstruction time series nodes, J consensus time series nodes, L state nodes, and T time nodes. Since one node can have multiple identities and even full node identities, the total number of nodes in the consensus network is less than or equal to (M+H+K+J+L+T), and in the extreme case all of the consensus networks are full nodes. Yes, ie the total number of nodes in the consensus network is M, and M=H=K=J=L=T.

コンセンサスロープによってトランザクションの実行順序が決定されているため、各コンセンサスノードがそれぞれ実行するトランザクションは、実際に重複計算になり、また、コンセンサスノードの実行効率が異なるため、各コンセンサスロープの長さも厳密に同期することができなくなり、各コンセンサスノードの状態データがリアルタイムに一致しないことにもなる。そのため、トランザクションの実行及び状態データの処理を担当する専用のノードを設立してもよく、コンセンサスノードは、トランザクションのコンセンサスの完了を担当する。 Since the execution order of transactions is determined by the consensus slope, the transactions executed by each consensus node are actually duplicated calculations, and the execution efficiency of each consensus node is different. Synchronization becomes impossible, and the state data of each consensus node also becomes inconsistent in real time. As such, dedicated nodes may be established that are responsible for executing transactions and processing state data, and consensus nodes are responsible for completing consensus transactions.

状態ノードは、コンセンサスノードから最新の実行されていないコンセンサスロープセグメント及び関連のトランザクションを取得して、トランザクションの実行、及び状態データの格納、更新、購読サービスなどの作業を完了する。状態ノードと複数のコンセンサスノードとの間に持続接続(persistent connection)を確立してもよいし、カスタム通信方式を使用してもよく、コンセンサスノードが実行ノードを監督してもよいし、実行ノード同士が互いに監督してもよい。 State nodes obtain the latest unexecuted consensus slope segment and associated transactions from consensus nodes to complete the execution of transactions and work such as storing, updating, and subscribing to state data. A persistent connection may be established between a state node and a plurality of consensus nodes, a custom communication scheme may be used, the consensus node may oversee the execution node, or the execution node may They may supervise each other.

複数のコンセンサスノードは、同一の状態ノードを共有することができるため、コンセンサスノードの計算及び格納圧力を軽減することができ、計算及び格納リソースの浪費も回避することができる。 Since multiple consensus nodes can share the same state node, the computation and storage pressure of the consensus nodes can be alleviated, and waste of computation and storage resources can also be avoided.

本願の一部の実施例では、トランザクションシーケンスコンセンサスシステムに適用されるトランザクションシーケンスコンセンサス方法を提供し、図8に示すように、まず、トランザクション入力モジュールにより以下のステップS0001~S0003を完了する。
ステップS0001では、トランザクショントリガ情報を取得する。主体の意志入力を取得して、トランザクションの開始を完了することにより、トランザクションをトランザクションエントリノード割当サブモジュールに提出することができる。
ステップS0002では、コンセンサスネットワークにおけるコンセンサスノード情報を取得する。
ステップS0003では、トランザクショントリガ情報及びコンセンサスノード情報に基づいて、コンセンサス待ちトランザクションのトランザクションエントリノード情報を決定する。
Some embodiments of the present application provide a transaction sequence consensus method applied in a transaction sequence consensus system, first complete the following steps S0001-S0003 by a transaction input module, as shown in FIG.
In step S0001, transaction trigger information is acquired. The transaction can be submitted to the Transaction Entry Node Assignment sub-module by obtaining the subject's will input and completing the initiation of the transaction.
In step S0002, consensus node information in the consensus network is acquired.
In step S0003, the transaction entry node information of the consensus waiting transaction is determined based on the transaction trigger information and the consensus node information.

図9に示すように、トランザクションエントリノード割当サブモジュールは、コンセンサスネットワークにおける、ノードアドレス、ポート及び通信プロトコルを含むコンセンサスノード情報を取得する。トランザクションエントリノード割当サブモジュールは、コンセンサスノードの機器の動作パラメータを取得する。トランザクションエントリノード割当サブモジュールは、トランザクション開始サブモジュールからトランザクションを取得する。トランザクションエントリノード割当サブモジュールは、予め設定されたエントリノード割当ルールに従って、ノード情報に基づいてトランザクションのエントリノードを決定する。例えば、方式1として、指定の原理に従って、トランザクションエントリノード割当サブモジュールは、ノード0をトランザクション1のエントリノードと指定し、方式2として、ポーリングの原理に従って、合計N個のノードがあると仮定し、トランザクションエントリノード割当サブモジュールは、第1のトランザクションに第1のノードを指定し、第2のトランザクションに第2のノードを指定し、第N+1のトランザクションに第1のノードを指定し、方式3として、ランダム原理のに従って、トランザクションエントリノード割当サブモジュールは、エントリノードをランダムに指定し、方式4として、近接の原理に従って、トランザクションエントリノード割当サブモジュールは、各ノードとの通信遅延情報を既に知っている前提下で、通信遅延がある閾値よりも小さいノードのうちの1つを選択してトランザクションのエントリノードとし、方式5として、負荷分散の原理に従って、トランザクションエントリノード割当サブモジュールは、各ノードとの動作負荷情報を既に知っている前提下で、動作負荷がある閾値よりも小さいノードのうちの1つを選択してトランザクションのエントリノードとする。 As shown in FIG. 9, the transaction entry node allocation sub-module obtains consensus node information including node address, port and communication protocol in the consensus network. The transaction entry node allocation sub-module obtains the operating parameters of the equipment of the consensus node. The transaction entry node allocation sub-module gets the transaction from the transaction initiation sub-module. The transaction entry node allocation sub-module determines the entry node of the transaction based on the node information according to preset entry node allocation rules. For example, as method 1, according to the designation principle, the transaction entry node allocation sub-module designates node 0 as the entry node of transaction 1, and as method 2, according to the polling principle, assume that there are a total of N nodes. , the transaction entry node allocation submodule designates the first node for the first transaction, the second node for the second transaction, the first node for the N+1th transaction, and method 3 , according to the random principle, the transaction entry node allocation sub-module randomly designates the entry node, and as method 4, according to the principle of proximity, the transaction entry node allocation sub-module already knows the communication delay information with each node. on the premise that one of the nodes whose communication delay is smaller than a certain threshold is selected as the transaction entry node, and as method 5, according to the principle of load balancing, the transaction entry node allocation submodule assigns each node Under the premise that the operation load information of and is already known, one of the nodes whose operation load is smaller than a certain threshold is selected as an entry node of the transaction.

次に、トランザクションシーケンスコンセンサス方法では、図10及び図11に示すように、ステップS1001~S1010を含む。 Next, the transaction sequence consensus method includes steps S1001 to S1010, as shown in FIGS. 10 and 11. FIG.

ステップS1001では、コンセンサス待ちトランザクションと、対応するトランザクション情報と、を取得し、トランザクション情報は、トランザクション番号、トランザクション入力モジュール情報、トランザクションエントリノード情報、トランザクション実行待ち情報、及びコンセンサス待ちトランザクションを取得する経路情報を含む。トランザクションエントリノード情報は、予め設定された割当ルールによってコンセンサス待ちトランザクションにエントリノードを割り当て、ここで、予め設定された割当ルールには、指定、ポーリング、ランダム、近接及び負荷分散が含まれ、トランザクションエントリノードに基づいてコンセンサス待ちトランザクションを区分する。 In step S1001, a consensus-waiting transaction and corresponding transaction information are acquired. The transaction information includes a transaction number, transaction input module information, transaction entry node information, transaction execution waiting information, and path information for acquiring the consensus-waiting transaction. including. The transaction entry node information assigns entry nodes to consensus-waiting transactions according to preset allocation rules, where the preset allocation rules include designated, polling, random, proximity and load balancing, and the transaction entry node information Partition consensus-waiting transactions based on node.

ステップS1002では、コンセンサス待ちトランザクションを取得する経路情報に基づいて、コンセンサス待ちトランザクションを、ローカルトランザクションとノンローカルトランザクションとに区分する。ここで、ローカルトランザクションは、あるコンセンサスノードにとって、自コンセンサスノードをエントリノードとしてネットワークに進入して、自コンセンサスノードによって取得されるトランザクションである。本願では、1つのトランザクションを指す場合もあり、1グループのトランザクションを指す場合もあり、文脈に応じて決定される。ノンローカルトランザクションは、あるコンセンサスノードにとって、他のコンセンサスノードをエントリノードとしてネットワークに進入して、自コンセンサスノードに同期されるトランザクションであり、本願では、1つのトランザクションを指す場合もあり、1グループのトランザクションを指す場合もあり、文脈に応じて決定される。ここで、コンセンサス待ちトランザクションを取得する経路情報は、トランザクション同期メッセージの経路リストを取得し、このトランザクション同期メッセージの経路リストの末尾に自ノードのIDを追加することによって取得される。 In step S1002, the consensus-waiting transaction is classified into a local transaction and a non-local transaction based on the route information for obtaining the consensus-waiting transaction. Here, a local transaction is a transaction acquired by a certain consensus node by entering the network with its own consensus node as an entry node. In this application, it may refer to a single transaction or a group of transactions, depending on the context. For a certain consensus node, a non-local transaction is a transaction that enters the network with another consensus node as an entry node and is synchronized with its own consensus node. It can also refer to a transaction and is determined depending on the context. Here, the route information for acquiring the consensus-waiting transaction is acquired by acquiring the route list of the transaction synchronization message and adding the ID of the own node to the end of the route list of this transaction synchronization message.

ステップS1003では、コンセンサス待ちトランザクションを検証、解析、同期する。ここで、図12に示すように、コンセンサス待ちトランザクションの検証、解析方法は、予め設定された検証項目に基づいて、コンセンサス待ちトランザクションを検証して検証結果を取得するステップS2001と、検証結果が合格である場合、コンセンサス待ちトランザクションを検証済みのコンセンサス待ちトランザクションとしてマークするステップS2002と、予め設定された解析ルールに従って、検証済みのコンセンサス待ちトランザクションを解析して解析結果を取得するステップS2003と、検証済みのコンセンサス待ちトランザクションを解析済みのコンセンサス待ちトランザクションとしてマークするステップS2004と、を含む。 In step S1003, the consensus-waiting transaction is verified, analyzed, and synchronized. Here, as shown in FIG. 12, the method of verifying and analyzing a consensus-waiting transaction consists of step S2001 of verifying a consensus-waiting transaction and acquiring a verification result based on preset verification items; , the step S2002 of marking the consensus-waiting transaction as a verified consensus-waiting transaction; the step S2003 of analyzing the verified consensus-waiting transaction to obtain an analysis result according to a preset analysis rule; marking S2004 the consensus-waiting transactions of the .

ここで、ステップS2001において、図13に示すように、ローカルトランザクションの検証方法の概略図であり、例えば、以下に列挙した検証項目の一部又は全部を含むが、以下に列挙した検証項目に限定されることではない。 Here, in step S2001, as shown in FIG. 13, it is a schematic diagram of a local transaction verification method, for example, including some or all of the verification items listed below, but limited to the verification items listed below. not to be

(1)検証待ちトランザクションが重複されて受信されたか否かをチェックする。例えば、トランザクションIDを取得した後、既に取得したトランザクションにIDが含まれているか否かを検索し、含まれている場合、重複されて受信されたとし、検証に不合格とする。
(2)検証待ちトランザクション署名が正しいかどうかをチェックする。例えば、デジタル署名の検証方法に従って、検証待ちトランザクションのデジタル署名が秘密キーとマッチングしないことを発見した場合、この項目の検証に失敗したと判定する。
(3)検証待ちトランザクションの構造が予め設定された所定構造に合致するか否かをチェックする。例えば、予め設定されたルールにおいて、トランザクションをキー値ペア(key‐value pair)フォーマットで表現するように規定されており、検証待ちトランザクションがキー値ペアフォーマットで表現されていないか、又はキー名と規定とが対応していないか、又はキー値ペアの排列順序に合致しないと、この項目の検証に不合格と判定する。
(4)検証待ちトランザクションの構成内容が予め設定された所定構造に合致するか否かをチェックする。例えば、予め設定されたルールにおいて、トランザクションIDが20桁の小文字であると規定されているが、検証待ちトランザクションのトランザクションIDが19桁であると、この項目の検証に不合格と判定する。例えば、検証待ちトランザクションの実行待ち内容が空である場合、この項目の検証に不合格と判定する。全てが検証に合格した場合のみが、検証に合格と判定し、そうでなければ、検証に不合格と判定し、上記の検証項目を並行して検証することもできる。
(1) Check whether a duplicate transaction pending verification has been received. For example, after obtaining a transaction ID, it is searched whether or not the ID is included in already obtained transactions.
(2) Check if the awaiting verification transaction signature is correct. For example, if it is found that the digital signature of the transaction pending verification does not match the private key according to the digital signature verification method, it is determined that the verification of this item has failed.
(3) Check whether or not the structure of the verification-waiting transaction matches a predetermined structure. For example, if a preset rule stipulates that a transaction should be expressed in key-value pair format, and a transaction pending verification is not expressed in key-value pair format, or If the rules do not correspond or if the sequence order of the key-value pairs does not match, the verification of this item is judged to have failed.
(4) Check whether or not the structure of the verification-waiting transaction conforms to a predetermined structure. For example, a preset rule stipulates that the transaction ID is 20 digits in lower case letters, but if the transaction ID of the verification pending transaction is 19 digits, it is determined that the verification of this item has failed. For example, if the waiting content of the verification waiting transaction is empty, it is determined that the verification of this item has failed. Only when all pass the verification, it is determined that the verification is passed, otherwise, it is determined that the verification is failed, and the above verification items can be verified in parallel.

ローカルトランザクション検証サブユニットは、検証結果に基づいて処理を完了し、即ち、検証に合格すると、トランザクションマークユニットを呼び出してコンセンサス待ちトランザクションを「検証済み」とマークし、トランザクションをローカルトランザクション解析サブユニットに提出し、検証に不合格すると、例えば、トランザクションをトランザクション格納ユニットから削除するか、又はトランザクションマークユニットを呼び出してトランザクションを「検証失敗」とマークし、関連するトランザクション入力モジュールを「信頼不可」とマークするように、トランザクションを処理する。 The local transaction verification sub-unit completes processing based on the verification result, i.e., upon passing the verification, calls the transaction mark unit to mark the consensus-waiting transaction as "verified", and passes the transaction to the local transaction analysis sub-unit. If submitted and fails validation, for example, delete the transaction from the transaction storage unit, or call the transaction mark unit to mark the transaction as "failed validation" and mark the associated transaction entry module as "untrusted". to process transactions.

ステップS2002において、ローカル到着ロープの同期トリガ条件が満たされた場合、他のコンセンサスノードにローカル到着ロープのうち同期されていないロープセグメントを同期する方法である。方法の具体的なステップは、次のとおりである。ローカル到着ロープは、ローカル到着ロープの同期条件が現在トリガされたか否かを判断し、Yesであれば、次のステップを実行し、そうでなければローカル到着ロープの次のノッティングが完了した後当該ステップを実行し、ローカル到着ロープの同期メッセージを生成し、ローカル到着ロープの同期策略を取得し、同期策略に従って同期する。ローカル到着ロープの同期メッセージに書き込まれたのは、圧縮後のローカル到着ロープセグメントであり、同期されたローカル到着ロープセグメントを同期済みとマークする。ローカル到着ロープの同期メッセージには、少なくとも、メッセージを発行する際のコンセンサスロープにおける末尾結び目の時系列番号及びハッシュ値であるメッセージ発行タイムスタンプと、圧縮済みのものであってもよい同期待ちローカル到着ロープと、メッセージの発行者のコンセンサスノードの署名と、が含まれる。 In step S2002, a method for synchronizing an unsynchronized rope segment of a local arrival rope to other consensus nodes if a synchronization trigger condition of the local arrival rope is met. The specific steps of the method are as follows. The local arrival rope determines whether the synchronization condition of the local arrival rope is currently triggered, and if yes, performs the next step, otherwise after the next knotting of the local arrival rope is completed. Execute a step to generate a local arrival rope synchronization message, obtain a local arrival rope synchronization strategy, and synchronize according to the synchronization strategy. The Local Arrival Rope Synchronization message is written with the local arrival rope segment after compression and marks the synchronized local arrival rope segment as synchronized. The local arrival rope synchronization message includes at least the message publication timestamp, which is the chronological number and hash value of the trailing knot in the consensus rope when issuing the message, and the synchronization waiting local arrival, which may be compressed. It contains the rope and the signature of the Consensus Node of the issuer of the message.

ノンローカルトランザクションを同期する方法は、ノンローカルトランザクション同期サブユニットが検証済みのノンローカルトランザクションを取得するステップと、ノンローカルトランザクションが検証されず、自コンセンサスノードによって他のノードに同期されるステップと、が含む。 A method for synchronizing non-local transactions comprises the steps of: a non-local transaction synchronization sub-unit obtaining a verified non-local transaction; the non-local transaction being unverified and synchronized to other nodes by its own consensus node; contains.

ステップS1004では、コンセンサスノードにおけるローカルトランザクションの到着時系列情報を取得し、持続的にノッティングするローカル到着ロープにローカルトランザクションを導入する。ステップS1005を実行中、異なるコンセンサスノード間のローカル到着ロープを同期する前に、ローカル到着ロープに対してセグメント化処理を行って、到着ロープセグメントを取得するステップと、予め設定された圧縮ルールに従って、到着ロープセグメントに対して圧縮処理を行うステップと、を含み、圧縮処理において、到着ロープセグメントにおけるトランザクション結び目を保留し、到着ロープセグメントの非マーク用の空の結び目を削除する。 In step S1004, the arrival time series information of the local transactions at the consensus node is obtained, and the local transactions are introduced into the persistently knotted local arrival rope. During step S1005, before synchronizing the local arrival ropes among different consensus nodes, performing a segmentation process on the local arrival ropes to obtain arrival rope segments; and C. performing a compression process on the arrival rope segment, in which the compression process suspends transaction knots in the arrival rope segment and removes empty knots for non-marking of the arrival rope segment.

以下、到着ロープの目的及び作用について具体的に紹介する。1つのコンセンサスノードが、受信したトランザクションを現在の結び目にできるだけ速く導入することができると、現在の結び目によって生成された時間は当該トランザクションがコンセンサスノードによって受信された時間に近似する。一般に、ノッティング頻度が高いほど、時間の近似誤差が小さくなる。そのため、当該コンセンサスノードによって結び目に先に入れ込まれたトランザクションは、当該コンセンサスノードに先に到着したか、又は当該コンセンサスノードによって先に受け入れられたと見なすことができる。したがって、ロープには、トランザクションが当該コンセンサスノードに到着した相対的な時系列の証拠情報が含まれている。ロープに、トランザクションがコンセンサスノードに到着した時系列証拠が記録されているため、このロープを「到着ロープ」と称する。到着ロープには、ビットコインスキームの取引バッファに比べ、少なくともトランザクションが到着したコンセンサスノード、トランザクションがコンセンサスノードに到着した時間、トランザクション入力モジュールの3つの情報次元が増加されており、情報表現能力を極めて大きく拡張した。到着ロープは、トランザクションがコンセンサスノードに到着した前後順序を反映するだけでなく、トランザクションがコンセンサスノードに到着した頻度変化をある程度反映することもでき、さらに、現在のネットワークの混雑状況を反映することもでき、異なるコンセンサスノードの相対的なノッティング頻度を近似的に反映することもでき、ローカルトランザクションがこの前に到着したノンローカルトランザクションよりも遅くネットワークに進入されたことも反映することができる。安全性の観点から、ロープの各結び目は、いずれも前のものに依存しているため、2つのトランザクションの順序を逆にしたい場合は、時間を費やして関連するロープセグメントを新たに構築しなければならず、構築中において、継続的に新たに受信したトランザクションをロープに導入する必要もあり、そうでなければ、導入待ちトランザクションが複数溜まって、トランザクションを連続的に導入しなければならず、このような偽造行為は、ロープにおいて痕跡を残してしまい、かつ、他のノードによって発見されやすい。しかしながら、単一のノードのトランザクションの到着時系列に対する偽造は、トランザクションがネットワークに進入した時系列に対するネットワーク全体の最終的なコンセンサスに影響を与えにくい。従って、ノードが到着ロープを偽造することは無用である。到着ロープを時系列データ流と見なすことができ、異なる階段の到着ロープを選択し、統計や確率知識を利用して、トランザクションの到着頻度の変化状況を分析できる。 The purpose and function of the arrival rope will be specifically introduced below. If one consensus node can introduce a received transaction into the current knot as quickly as possible, the time generated by the current knot approximates the time the transaction was received by the consensus node. In general, the higher the knotting frequency, the smaller the time approximation error. As such, a transaction inserted into a knot earlier by the consensus node can be considered to have arrived at or been accepted by the consensus node earlier. Thus, the rope contains evidence of the relative chronology of transactions arriving at that consensus node. We refer to this rope as the “arrival rope” because the rope records the chronological evidence that transactions have arrived at the consensus node. Compared to the transaction buffer of the Bitcoin scheme, the arrival rope has at least three additional information dimensions: the consensus node where the transaction arrived, the time when the transaction arrived at the consensus node, and the transaction input module. greatly expanded. The arrival rope not only reflects the order before and after transactions arrive at the consensus node, but can also reflect changes in the frequency with which transactions arrive at the consensus node to some extent, and can also reflect the current network congestion situation. It can also approximately reflect the relative notting frequency of different consensus nodes, and can also reflect that local transactions entered the network later than non-local transactions that arrived earlier. From a security point of view, each knot in the rope depends on the previous one, so if you want to reverse the order of two transactions, you have to spend time constructing the relevant rope segments anew. must also be continuously introduced new incoming transactions into the rope during construction, otherwise there will be multiple transactions waiting to be introduced, and transactions must be introduced continuously, Such counterfeiting activities leave a mark on the rope and are easy to detect by other nodes. However, falsification of a single node's transaction arrival timeline is less likely to affect the eventual network-wide consensus on the transaction's entry timeline into the network. Therefore, it is useless for nodes to forge arrival ropes. The arrival rope can be regarded as a time-series data stream, the arrival rope of different steps can be selected, and statistics and probabilistic knowledge can be used to analyze the changing situation of transaction arrival frequency.

ローカル到着ロープの初期化方法の具体的なステップは、次のとおりである。方法の目的は、ローカル到着ロープの初期結び目を決定することであり、コンセンサスノードは、同一のデジタルアイデンティティを用いてコンセンサスネットワークに複数回加入したり、退出したりし、コンセンサスネットワークから退出するたびに、ローカル到着ロープがノッティングを停止することによって途切れが発生するため、コンセンサスネットワークに加入するたびに、間もなく新しいローカル到着ロープを初期化するとコンセンサスネットワークに告知して、今回の初期結び目を決定する必要がある。プロセスには、以下の内容が含まれる。N個のコンセンサスノードがあるコンセンサスネットワークにおいて、1号のコンセンサスノードがコンセンサスネットワークに加入した後、コンセンサスネットワークの各コンセンサスノードに特定タイプの「ローカル到着ロープの初期化トランザクション」を発行し、トランザクションには、少なくとも、自コンセンサスノード署名、及び自コンセンサスノードが前回コンセンサスネットワークに加入して生成したローカルコンセンサスロープの末尾結び目を含み、ネットワークに初めて加入すると合、初めて加入したことを明記し、末尾結び目が空または特定値であり、コンセンサスネットワークがトランザクションについてコンセンサスを取り、コンセンサスノードは、トランザクションをコンセンサスロープに書き込んで、予め設定された方法に従ってトランザクションを実行し、実行結果は、トランザクションデータ及びトランザクションが存在するコンセンサスロープのデータに基づいて、1グループのコンセンサスノードを選択する選択策略を生成することである。 The specific steps of the local arrival rope initialization method are as follows. The purpose of the method is to determine the initial knot of the local arrival rope, a consensus node can join and leave the consensus network multiple times with the same digital identity, and each time it leaves the consensus network , the local arrival rope will stop knotting, causing a discontinuity, so every time you join the consensus network, you need to tell the consensus network that you will soon initialize a new local arrival rope to determine the initial knot this time. be. The process includes: In a consensus network with N consensus nodes, after the first consensus node joins the consensus network, each consensus node in the consensus network issues a specific type of "local arrival rope initialization transaction", the transaction includes , at least, the signature of its own consensus node, and the tail knot of the local consensus slope generated by its own consensus node when it joined the consensus network last time; or a specific value, the consensus network reaches consensus on the transaction, the consensus node writes the transaction into the consensus slope, executes the transaction according to a preset method, and the execution result is the transaction data and the consensus on which the transaction exists Generating a selection strategy that selects a group of consensus nodes based on rope data.

コンセンサスノードは、自コンセンサスノードが他のコンセンサスノードにローカル到着ロープのデータを送信したことがあるか否かを他のコンセンサスノードに照会し、大多数又は全てのコンセンサスノードが到着ロープのデータを受信したことがないと返信すると、ローカルコンセンサスノードはゼロからローカル到着ロープを生成する必要があることを説明し、残りのコンセンサスノードを不審なノードとマークする。大多数又は全てのノードが到着ロープのデータの最新ロープセグメントを返信し、かつ、ロープセグメント内の最新の結び目が同じであると、ローカル到着ロープがローカル到着ロープを生成したことがあることを説明し、前のローカル到着ロープに引き続いて生成する必要があり、最新の結び目を、今回の到着ロープを生成する初期結び目とし、残りのコンセンサスノードを不審なノードとマークする。 A consensus node inquires of other consensus nodes whether it has sent local arrival rope data to other consensus nodes, and the majority or all of the consensus nodes have received the arrival rope data. If it replies that it has never done so, it explains that the local consensus node must generate a local arrival rope from scratch, and marks the rest of the consensus nodes as suspicious nodes. State that a local arrival rope has generated a local arrival rope if most or all nodes return the latest rope segment of the arrival rope's data and the latest knots in the rope segment are the same , and should be generated following the previous local arrival rope, the latest knot is taken as the initial knot to generate this arrival rope, and the rest of the consensus nodes are marked as suspicious nodes.

ステップS1005では、異なるコンセンサスノード間のローカル到着ロープを同期して、同期後の各ノードの到着時系列情報を取得する。上記のステップS1004及びステップS1005には、コンセンサスノードのローカル到着ロープを初期化するステップと、結び目番号、導入結び目データ及び検証項目を含む結び目を持続的に作成してローカル到着ロープを延長するステップと、コンセンサスノードがローカルトランザクションを受信すると、ローカルトランザクションをローカル到着ロープの現在の結び目に導入するステップと、予め設定されたローカル到着ロープの同期トリガ条件を満たすと、ローカル到着ロープにおける同期されていない部分を自ノード以外のコンセンサスノードに同期するステップと、予め設定された到着ルールに従ってノンローカル到着ロープを受信、検証、同期するステップと、ローカル到着ロープ及びノンローカル到着ロープを解析して、同期後の各ノードの到着時系列情報を取得するステップと、が含まれる。 In step S1005, synchronize the local arrival ropes between different consensus nodes and acquire the arrival time series information of each node after synchronization. Steps S1004 and S1005 above include the steps of initializing the local arrival rope of the consensus node, and persistently creating a knot containing the knot number, introduction knot data and verification item to extend the local arrival rope. , when a consensus node receives a local transaction, introducing the local transaction into the current knot of the local arrival rope; and meeting a preset synchronization trigger condition of the local arrival rope, an unsynchronized portion of the local arrival rope. with a consensus node other than the self node; receiving, verifying, and synchronizing a non-local arrival rope according to a preset arrival rule; analyzing the local arrival rope and the non-local arrival rope; and obtaining arrival time series information for each node.

ここで、ローカル到着ロープを持続的にノッティングして延長し、自ノードに到着したローカルトランザクション又はノンローカルトランザクションを直ちに現在の結び目に引用する方法である。方法の具体的なステップは、次のとおりである。ローカル到着ロープ同期モジュールは、ローカル到着ロープの初期結び目が引用しようとするデータを確認した後、ローカル到着ロープノッティングモジュールがローカル到着ロープの初期結び目をノッティングして、初期結び目の番号を0と設定し、この時、初期結び目は、ローカル到着ロープの末尾結び目でもある。ローカル到着ロープノッティングモジュールは、直ちにローカル到着ロープの末尾結び目を取得し、末尾結び目データのデジタルダイジェストを直ちに計算する。ローカル到着ロープノッティングモジュールは、ローカル到着ロープに導入されていないコンセンサス待ちトランザクションがあるか否かをチェックし、ある場合、そのうちの1つのトランザクションをロックして、トランザクションのデジタルダイジェストを取得し、現在の結び目がトランザクション結び目であると決定し、導入されていないコンセンサス待ちトランザクションがない場合、現在の結び目が空の結び目であると決定し、現在の結び目を作成し、現在の結び目の番号は末尾結び目の番号に1を加算し、末尾結び目を現在の結び目の内容の1つとし、現在の結び目がトランザクション結び目である場合、トランザクションのデジタルダイジェストを現在の結び目の内容の1つとし、現在の結び目が空の結び目である場合、デフォルト値を現在の結び目の内容とする。初期ノードから自ノードまでのトランザクション結び目の数を統計して現在の結び目の内容の1つとする。現在の結び目の直前のトランザクション結び目の番号を取得して、現在内容の1つとする。2つの選択可能な手段で、到着ロープの再構築の難度を高めるための、到着ロープのデータを検証する方法を追加することはできるが、到着ロープのデータ量も増加されてしまう。作成された現在の結び目をローカル到着ロープのデータに格納する。コンセンサスノードが予め設定された理由によってローカル到着ロープのノッティングを停止するまで、次回のノッティングプロセスをトリガする。 Here, the local arrival rope is continuously knotted and extended, and the local transaction or non-local transaction arriving at the own node is immediately quoted to the current knot. The specific steps of the method are as follows. After the local arrival rope synchronization module confirms the data to be quoted by the initial knot of the local arrival rope, the local arrival rope knotting module knots the initial knot of the local arrival rope and sets the initial knot number to 0. , at this time, the initial knot is also the trailing knot of the local arrival rope. The local arrival rope knotting module immediately obtains the tail knot of the local arrival rope and immediately computes the digital digest of the tail knot data. The local arrival rope notting module checks whether there are consensus-waiting transactions that have not been introduced into the local arrival rope, and if so, locks one of them, obtains a digital digest of the transaction, and presents Determines that the knot is a transaction knot, and if there are no unintroduced consensus-waiting transactions, determines that the current knot is an empty knot, creates the current knot, and the number of the current knot is the number of the trailing knot. Add 1 to the number, make the trailing knot one of the contents of the current knot, and if the current knot is a transaction knot, take the digital digest of the transaction as one of the contents of the current knot, and make the current knot empty. knot, the default value is the content of the current knot. The number of transaction knots from the initial node to the self node is counted and used as one of the contents of the current knot. Get the number of the transaction knot immediately before the current knot and make it one of the current contents. Two alternative means can add a method of verifying the data of the arrival rope to increase the difficulty of reconstructing the arrival rope, but the amount of data of the arrival rope is also increased. Store the current knot created in the local arrival rope data. Trigger the next knotting process until the consensus node stops knotting the local arrival rope for some preconfigured reason.

図14に示すように、到着ロープの構造は、1グループの連続する前のものに依存するデータブロックから構成され、前のものに依存するデータブロックとは、一般に、N+1番目のデータブロックの作成が、N番目のデータブロックのデータを入力とすることに依存することを言う。前のものへの依存関係のあるデータブロックは、直列に作成されるため、データブロックの作成を利用して、一定期間の時間の経過を固定することができ、各データブロックの作成は時間の進行を意味する。 As shown in FIG. 14, the structure of the arrival rope consists of a group of consecutive predecessor-dependent data blocks, where the predecessor-dependent data blocks generally refer to the creation of the N+1th data block. depends on the data of the Nth data block as input. Data blocks with dependencies on previous ones are created serially, so data block creation can be used to fix the passage of time for a period of time, and each data block creation is means progress.

結び目の概略構造図であり、結び目の構造には、一般に連続する自然数であり、かつ、同一の到着ロープにおける後に生成された結び目の番号が前に生成された結び目の番号よりも大きい結び目番号と、一般に、同一のローカル到着ロープにおける自結び目に隣接する直前の結び目のデジタルダイジェスト値である前時系列結び目引用と、一般に、コンセンサス待ちでありかつ検証済みのトランザクションのデジタルダイジェスト値であり、トランザクションが導入されたことを表すか、又は、ヌル(null値)又は特定値でありかつ自結び目にトランザクションが導入されていないことを表すトランザクション引用と、到着ロープの再構築の難度を高めかつ改ざんされた結び目のチェックを容易にするために、ゼロ又は複数設定されてもよく、現在の結び目によって証明された一部の特徴状態値であってもよい検証項目と、が含まれ、実施形態では、現在の結び目まで存在するローカル到着ロープに導入されたトランザクションの総数と、現在の結び目の直前のトランザクションが導入された結び目の番号と、現在の結び目から一定数前の結び目に導入されたトランザクションの総数と、現在の結び目に導入されたトランザクションのエントリコンセンサスノードのIDと、現在の結び目から前にN個目の特徴を満たす結び目のデジタルダイジェスト値と、他の予め設定された特徴値とである。検証ルール番号は、異なる結び目内の検証項目を柔軟に増減、変更するために、ルールを検証する番号を設定してもよく、各検証項目がどの検証ルールに従って検証するかを指定できる。プログラムの角度から見ると、検証コードの真偽を検証するプログラムセグメントであり、コンセンサスノードには検証ルールセットが予め設定されており、各ルールに1つの番号を設定すると、結び目における検証ルール番号により、どのセグメントの検証ルールを実行するかを知ることができる。 It is a schematic structural diagram of a knot, and the knot structure generally includes a knot number that is a continuous natural number, and the number of knots generated later in the same arrival rope is greater than the number of knots generated earlier. , the previous chronological knot citation, which is typically the digital digest value of the immediately preceding knot adjacent to the self-knot on the same local arrival rope, and the digital digest value of the transaction, typically pending consensus and validated, where the transaction is A transaction quote that indicates that it has been introduced, or is null (null value) or a specific value and indicates that no transaction has been introduced to its own knot, and the difficulty of reconstructing the arrival rope has been increased and tampered and a verification item, which may be set to zero or more, and which may be some characteristic state value evidenced by the current knot, to facilitate knot checking; the total number of transactions introduced in the local arrival rope existing up to the knot of , the number of the knot in which the transaction immediately before the current knot was introduced, and the total number of transactions introduced in the knot a certain number before the current knot, and , the ID of the entry consensus node of the transaction introduced into the current knot, the digital digest value of the knot that satisfies the Nth feature before the current knot, and other preset feature values. For the verification rule number, a number for verifying rules may be set in order to flexibly increase, decrease, or change verification items in different knots, and it is possible to specify which verification rule each verification item is to be verified according to. From the program angle, it is a program segment that verifies the authenticity of the verification code, and the consensus node has a set of verification rules in advance. , to know which segment's validation rule to run.

一実施形態では、図15に示すように、N個の実行待ちノッター及びスケジューラに適用される結び目を持続的に作成してローカル到着ロープを延長するステップは、空っているノッターを非同期的に順次呼び出して、ノッティング操作を行うステップと、結び目番号を生成し、前時系列結び目及び導入待ちトランザクションを決定して、導入結び目を作成するステップと、を含む。 In one embodiment, as shown in FIG. 15, the step of persistently creating knots applied to the N pending knotters and the scheduler to extend the local arrival rope asynchronously It includes the steps of sequentially calling to perform knotting operations, generating knot numbers, determining previous chronological knots and transactions waiting to be introduced, and creating introductory knots.

図16に示すように、別の実施形態では、N個の実行待ちノッターに適用される結び目を持続的に作成してローカル到着ロープを延長するステップであって、N個のノッターのそれぞれが、唯一の番号を有し、持続的に1つのミューテックスを競争し、ミューテックスが、結び目番号を生成するための整数変数aと、最近の競争でミューテックスを得たノッターの番号を記録するための変数bとを所持しているステップは、ノッターが競争でミューテックスを得た後、ミューテックスが所持している整数変数aに1を加算して現在の結び目番号を生成するステップと、ミューテックスの変数bを読み取って競争でミューテックスを得た直前のノッターの番号を取得するステップと、変数bを自ノッターの番号に設定して、導入待ち結び目のトランザクションがあるか否かを判断するステップと、導入待ち結び目のトランザクションがある場合、ローカル到着ロープにトランザクション結び目をノッティングするステップと、導入待ち結び目のトランザクションがない場合、ミューテックスを直ちに解放して空の結び目をノッティングするステップと、を含み、ここで、トランザクション結び目は、自ノッターの番号と、競争でミューテックスを得た直前のノッターの番号と、を含み、空の結び目は、トランザクションが導入されていない作成済みの結び目である。 As shown in FIG. 16, in another embodiment, persistently creating knots applied to N pending knotters to extend the local arrival rope, each of the N knotters: Contend for a mutex that has a unique number and persists, an integer variable a for the mutex to generate the knot number, and a variable b for recording the number of the knotter that obtained the mutex in the most recent contend. After the notter obtains the mutex in competition, the step of adding 1 to the integer variable a possessed by the mutex to generate the current knot number, and the step of reading the variable b of the mutex a step of obtaining the number of the knotter immediately before the mutex was obtained by competition; a step of setting a variable b to the number of the own knotter to determine whether or not there is a transaction of the knot waiting to be introduced; knotting the transaction knot on the local arrival rope if there is a transaction; and immediately releasing the mutex and knotting the empty knot if there is no transaction on the introduction pending knot, wherein the transaction knot is , the number of the own knotter and the number of the previous knotter that obtained the mutex in the race, and empty knots are created knots with no transaction introduced.

上記の2つの実施形態では、ローカル到着ロープのノッティングは、ローカル到着ロープから現在の結び目を含むロープセグメントを取得するステップと、現在の結び目が含まれているロープセグメントにおける結び目の総数に対する現在の結び目が含まれているロープセグメントにおけるトランザクション結び目の数の比率を統計するステップと、比率が予め設定された閾値を超える場合、ローカル到着ロープのノッターを増加させるステップと、比率が予め設定された閾値よりも低い場合、ローカル到着ロープのノッターを減少させるステップと、を含む。 In the above two embodiments, the knotting of the local arrival rope consists of obtaining the rope segment containing the current knot from the local arrival rope and calculating the current knot for the total number of knots in the rope segment containing the current knot. and increasing the knotter of the local arrival rope if the ratio exceeds a preset threshold; is also low, reducing the knotter of the local arrival rope.

ステップS1006では、予め設定された復元ルールに従って各ノードの到着時系列情報を分析して、自ノードにおける2つずつのトランザクションの復元時系列及び1グループのトランザクションの連続的な復元時系列情報を取得し、ローカル復元ロープを構築する。ここで、2つずつのトランザクションの復元時系列及び1グループのトランザクションの連続的な復元時系列情報を取得するステップは、到着時系列情報のうち関連するトランザクション情報を取得するステップと、到着時系列情報のうち関連するトランザクションから2つのトランザクションを選択するステップと、2つのトランザクションの復元時系列を判断し、2つのトランザクションの復元時系列情報と、2つのトランザクションの復元時系列情報に対する信頼度とを出力するステップと、到着時系列情報から1グループのトランザクションが連続する復元時系列を取得するまで繰り返すステップと、を含む。異なるコンセンサスノード間でローカル復元ロープを交換するステップは、コンセンサスノード情報を取得し、到着ロープ、復元ロープ及びコンセンサスロープを取得して初期値とするステップと、初期値に基づいて乱数(random number)を生成するステップと、コンセンサスノード情報及び乱数に基づいて、復元時系列情報を交換するノード組合せを生成するステップと、を含む。 In step S1006, the arrival time-series information of each node is analyzed according to a preset restoration rule, and the restoration time-series information of each two transactions and the continuous restoration time-series information of one group of transactions at the own node are obtained. and build a local restoration rope. Here, the step of obtaining the restoration time series of each two transactions and the continuous restoration time series information of one group of transactions includes the step of obtaining related transaction information among the arrival time series information, a step of selecting two transactions from related transactions in the information; determining restoration time series of the two transactions; outputting; and repeating until obtaining a restoration time series in which one group of transactions is continuous from the arrival time series information. The step of exchanging local restoration ropes between different consensus nodes includes obtaining consensus node information, obtaining arrival ropes, restoration ropes and consensus slopes as initial values, and generating a random number based on the initial values. and based on the consensus node information and the random number, generating a node combination that exchanges the restored time series information.

一実施形態では、さらに、コンセンサスノードが復元ロープのデータと2つずつのトランザクションの復元時系列とを並行して処理する方法を提出する。この方法は、具体的には、N個のコンセンサス待ちトランザクションについて、M=N*(N-1)/2対のトランザクション、すなわちM個の時系列分析タスクを生成するステップと、マルチコアリソースを利用して、M個の時系列分析タスクを並行して処理し、各コアがそれぞれ1つのタスクを処理してもよいし、複数のコアを呼び出して、M個のタスクを共同で処理してもよいステップと、1対のトランザクションの時系列分析結果を得るたびに、直ちに復元ロープに書き込むステップと、を含む。 In one embodiment, we further present a method for consensus nodes to process the data of the restoration rope and the restoration time series of two transactions in parallel. Specifically, the method generates M=N*(N−1)/2 pairs of transactions, that is, M time series analysis tasks, for N consensus-waiting transactions, and utilizes multi-core resources. , M time-series analysis tasks may be processed in parallel, with each core processing one task, or multiple cores may be called to jointly process M tasks. and writing to the restore rope immediately each time we get the time-series analysis result of a pair of transactions.

ステップS1007では、異なるコンセンサスノード間でのローカル復元ロープを交換、同期して、同期後の各ノードの復元時系列情報を取得する。 In step S1007, local restoration ropes are exchanged and synchronized between different consensus nodes, and restoration time-series information of each node after synchronization is obtained.

ステップS1008、予め設定されたコンセンサスルールに従って自ノードの復元時系列情報に対してコンセンサス処理を行って、コンセンサス時系列情報を取得し、コンセンサス済みトランザクションを含むコンセンサスロープを構築する。ステップS1007及びステップS1008のステップにおいて、予め設定されたコンセンサスルールに従って自ノードの復元時系列情報に対してコンセンサス処理を行って、コンセンサス時系列情報を取得し、コンセンサスロープを構築するステップは、自ノード復元ロープにおけるコンセンサスが取られずかつ安定している復元ロープセグメントを取得するステップと、他のN個のコンセンサスノードの対応するコンセンサスが取られずかつ安定している復元ロープセグメントを受信するステップと、取得した到着時系列情報及び復元時系列情報に基づいてノンローカル復元ロープをチェックするステップと、受信したコンセンサスが取られずかつ安定している復元ロープセグメントを自ノードに対応するコンセンサスが取られかつ安定している復元ロープセグメントと比較し、異なるロープセグメントにおいて同じ部分が3分の2超である時系列関係を保留するステップと、同じ時系列関係を取得するまで、コンセンサスが取られずかつ安定している複数の復元ロープセグメントと繰り返して比較して、コンセンサス時系列情報を取得し、コンセンサスロープを構築するステップと、を含む。 Step S1008: perform consensus processing on the restoration time-series information of the own node according to a preset consensus rule to acquire consensus time-series information, and construct a consensus slope including consensus-completed transactions. In steps S1007 and S1008, the step of performing consensus processing on the restoration time-series information of the own node according to a preset consensus rule, acquiring consensus time-series information, and constructing a consensus slope includes: obtaining a non-consensus stable restored rope segment in the restored rope; receiving corresponding non-consensus stable restored rope segments of the other N consensus nodes; checking the non-local restored rope based on the received arrival time series information and restored time series information; Retaining a time series relationship that is more than two-thirds the same in a different rope segment compared to the reconstructed rope segment in which consensus is not reached and is stable until the same time series relationship is obtained. and repeatedly comparing multiple reconstructed rope segments to obtain consensus time series information and build a consensus slope.

ステップS1009では、コンセンサスロープに対する解析に基づいて、コンセンサスロープにおけるコンセンサス済みトランザクションを取得する。 In step S1009, based on the analysis on the consensus slope, obtain a consensus transaction on the consensus slope.

ステップS1010では、コンセンサス済みトランザクションに基づいて状態データを更新する。コンセンサス済みトランザクション基づいて状態データを更新するステップは、コンセンサス時系列情報に基づいてコンセンサスロープにおけるコンセンサス済みトランザクションを解析するこステップと、コンセンサス済みトランザクションに基づいて、トランザクション実行キューを作成するステップと、コンセンサス済みトランザクションをトランザクション実行キューに書き込むステップと、キュー処理ルールに従って、コンセンサス済みトランザクション実行キューにおけるトランザクションをエグゼキュータで処理するステップと、を含む。 In step S1010, state data is updated based on the consensus transaction. The step of updating state data based on the consensus transactions includes: analyzing the consensus transactions on the consensus slope based on the consensus time series information; creating a transaction execution queue based on the consensus transactions; writing completed transactions to a transaction execution queue; and processing transactions in the consensus transaction execution queue with an executor according to queue processing rules.

ローカルコンセンサスロープにおけるトランザクションを解析して、トランザクション実行キューを作成し、実行可能なトランザクションをトランザクション実行キューに書き込む方法である。この方法は、具体的には、コンセンサスロープトランザクション解析モジュールがコンセンサスロープにおける解析されて実行されていないロープセグメント内の最初の結び目を取得し、コンセンサス結び目におけるトランザクション引用に基づいて対応するトランザクションを検索し、トランザクションをpushして実行キューに進入させ、全てのロープにおけるトランザクション実行タスクがいずれもpushされて実行キューに進入されるまで当該ステップを重複して実行するステップと、コンセンサスロープトランザクション実行モジュールが先入れ先出しの順序に従って、実行キューの先頭にあるトランザクションTを取得するステップと、コンセンサスロープトランザクション実行モジュールが、トランザクションTの実行待ち内容を取得し、実行待ち内容によって指定されたエグゼキュータIDに基づいてトランザクションTを実行するためのエグゼキュータEを取得するステップと、を含む。ここで、エグゼキュータEは、本質的には、トランザクションを実行可能なプログラムセグメントであり、1つのエグゼキュータであってもよいし、複数のエグゼキュータが一定の構造によって構成されたエグゼキュータ組合せであってもよい。トランザクションTの実行待ち内容をエグゼキュータEにロードし、エグゼキュータEは、予め設定された実行ルールに従って、実行待ち内容を実行して、状態データを変更するかまたは状態データを変更しない。ここで、トランザクションTの実行待ち内容が予め設定された実行条件に適合しないと、エグゼキュータEは、実際的にトランザクションTの実行を拒否し、つまり、トランザクションには、トランザクション開始側の状態データに対する変更請求が所持されているが、請求が応答されるか及びどのように応答されるかは、トランザクションに対応するエグゼキュータが判断して実行する必要がある。エグゼキュータEが実行を完了した後、トランザクションTを「実行済み」とマークし、コンセンサスロープトランザクション実行モジュールは、実行済みのトランザクションを実行キューから移出する。 This method analyzes transactions in the local consensus slope, creates a transaction execution queue, and writes executable transactions to the transaction execution queue. Specifically, the method involves the consensus slope transaction analysis module obtaining the first knot within a parsed and unexecuted rope segment in the consensus slope and searching for the corresponding transaction based on the transaction citations in the consensus knot. , pushing the transaction into the execution queue, and repeatedly executing the steps until all the transaction execution tasks in all ropes are pushed into the execution queue; a step of obtaining the transaction T at the head of the execution queue according to the order of , and the consensus slope transaction execution module obtains the execution waiting contents of the transaction T, and executes the transaction T based on the executor ID specified by the execution waiting contents and obtaining an executor E for executing Here, the executor E is essentially a program segment capable of executing transactions, and may be one executor, or an executor combination in which a plurality of executors are configured with a certain structure. There may be. The pending content of the transaction T is loaded into the executor E, and the executor E executes the pending content according to the preset execution rules, changing the state data or not changing the state data. Here, if the contents of the transaction T waiting to be executed do not meet the preset execution conditions, the executor E actually refuses to execute the transaction T. A change request is present, but it is up to the executor corresponding to the transaction to decide if and how the request is responded to. After executor E completes execution, it marks transaction T as "executed" and the consensus slope transaction execution module pops the executed transaction from the execution queue.

エグゼキュータがトランザクション実行キュー中のトランザクションを処理するステップは、エグゼキュータがコンセンサス済みトランザクションの実行待ち内容を取得するステップと、実行待ち内容をチェックするステップと、実行待ち内容を実行可能な命令に変換するステップと、対応するトランザクションが実行可能な命令の実行条件を満たすと、実行可能な命令に従って状態データを変更するステップと、を含む。 The steps for the executor to process the transactions in the transaction execution queue include the step for the executor to acquire the execution pending contents of the consensus transaction, the step for checking the execution waiting contents, and the step for converting the execution waiting contents into executable instructions. and modifying the state data according to the executable instruction when the corresponding transaction satisfies the execution condition of the executable instruction.

ステップS1010で状態データを更新した後、トランザクションシーケンスコンセンサス方法は、さらに、コンセンサスノードがコンセンサスロープの状態変化軌跡に基づいてコンセンサス時間を取得するステップを含む。コンセンサス時間の現在時間には、現在時刻値と、現在時刻値の検証値とが含まれ、現在時刻値は、コンセンサス時系列のうち、現在コンセンサス済みトランザクションの数であり、コンセンサス時間の現在時間を取得してタイムスタンプとする。 After updating the state data in step S1010, the transaction sequence consensus method further includes the consensus node obtaining a consensus time based on the state change trajectory of the consensus slope. The current time of consensus time includes the current time value and the verification value of the current time value, where the current time value is the number of currently consensus transactions in the consensus time series, and the current time of consensus time Get it and use it as a timestamp.

本実施例に係るトランザクションシーケンスコンセンサス方法をトランザクションシーケンスコンセンサスシステムに適用する具体的なプロセスは、次の通りである。トランザクション入力モジュールがそれぞれコンセンサスネットワークにトランザクションを入力して、客観的に「真正時系列」を生成する。 A specific process of applying the transaction sequence consensus method according to the present embodiment to the transaction sequence consensus system is as follows. Each transaction input module inputs a transaction into the consensus network to objectively generate an “authentic time series”.

(トランザクション処理モジュールプロセス)
コンセンサスノードがトランザクションを受信して同期し、客観的に「到着時系列」を生成する。ここで、コンセンサスノードのトランザクション処理サブモジュールが、ローカルトランザクション及びノンローカルトランザクションを受信し、ローカルトランザクション及びノンローカルトランザクションを検証、解析、格納、同期する。
(transaction processing module process)
Consensus nodes receive and synchronize transactions to objectively generate an "arrival timeline". Here, the transaction processing sub-module of the consensus node receives the local and non-local transactions, verifies, analyzes, stores and synchronizes the local and non-local transactions.

(到着ロープ処理モジュールプロセス)
コンセンサスノードは、それぞれ互いに理解できる方式で到着時系列情報を記録する。ここで、コンセンサスノードの到着ロープ処理サブモジュールが、ローカル到着ロープを初期化した後、ローカル到着ロープを持続的にノッティングして延長し、自ノードに到着したローカルトランザクション又はノンローカルトランザクションを直ちに現在の結び目に引用することにより、ローカル到着時系列の証拠を形成し、予め設定されたローカル到着ロープの同期トリガ条件を満たすと、ローカル到着ロープにおける同期されていない部分を他のコンセンサスノードに同期し、ノンローカル到着ロープを受信、検証、格納、同期し、ノンローカル到着ロープを解析してノンローカル到着時系列を取得する。ここで、予め設定されたローカル到着ロープ同期トリガ条件には、一般に、現在の結び目に導入されたのが、ローカルトランザクションであること、同期されていないロープセグメントのトランザクション結び目又は空の結び目の数が一定値に達すること、現在の結び目のハッシュ値が一定の特徴に適合すること等が含まれ、ここで、ローカル及びノンローカル到着ロープからトランザクション到着時系列を取得する方法は、

Figure 0007288264000015
(Arrival Rope Handling Module Process)
Consensus Nodes record arrival time series information in a mutually understandable manner. where, after initializing the local arrival rope, the arrival rope processing submodule of the consensus node continuously notates and extends the local arrival rope, and immediately transfers the local or non-local transactions arriving at the node to the current forming evidence of the local arrival time series by citing the knot, and synchronizing the unsynchronized portion of the local arrival rope to other consensus nodes when a preset local arrival rope synchronization trigger condition is met; Receive, validate, store and synchronize non-local arrival ropes, and parse non-local arrival ropes to obtain non-local arrival time series. Here, the preset local arrival rope synchronization trigger conditions generally include that a local transaction was introduced into the current knot, the number of transaction knots or empty knots in the unsynchronized rope segment. including reaching a certain value, the hash value of the current knot conforming to certain characteristics, etc., where the method of obtaining the transaction arrival time series from the local and non-local arrival ropes is:
Figure 0007288264000015

(復元ロープ処理モジュールプロセス)
コンセンサスノード同士が、各ノードによって記録された到着時系列情報を受信、同期し、各到着時系列の記録に含まれている一部の真正時系列情報を予め設定されたルールで分析して、各一部の真正時系列情報を統合することにより、それぞれ「復元時系列」を復元する。ここで、コンセンサスノードの復元ロープ処理サブモジュールは、予め設定されたルールに従って、既に取得したローカル及びノンローカル到着ロープからトランザクション到着時系列情報を取得し、予め設定された復元ルールに従ってトランザクション到着時系列情報を処理して、2つずつのトランザクションの復元時系列及び全てのトランザクションの復元時系列を出力しながら、ローカル復元ロープを構築して復元時系列情報を格納する。好ましくは、処理効率を向上するために、コンセンサスノードの復元ロープ処理サブモジュールは、復元ロープのデータを並行して処理する。好ましくは、格納負担を軽減するために、コンセンサスノードは、復元ロープにおける冗長な時系列データをタイムリーに削除する。
(restored rope processing module process)
Consensus nodes receive and synchronize the arrival time series information recorded by each node, analyze some authentic time series information contained in each arrival time series record according to preset rules, A "restored time series" is restored by integrating each part of the genuine time series information. Here, the restoration rope processing submodule of the consensus node obtains the transaction arrival time series information from the already obtained local and non-local arrival ropes according to the preset rules, and obtains the transaction arrival time series information according to the preset restoration rules. While processing the information to output the restored time series for every two transactions and the restored time series for all transactions, build a local restoration rope to store the restored time series information. Preferably, the restoration rope processing sub-module of the consensus node processes the data of the restoration rope in parallel to improve processing efficiency. Preferably, the consensus nodes timely remove redundant time-series data in the restoration rope to reduce the storage burden.

(コンセンサスロープ処理モジュールプロセス)
各コンセンサスノード同士は、各ノードの復元時系列情報を受信、同期し、予め設定された処理方法で復元時系列情報を処理し、コンセンサス時系列を形成する。ここで、コンセンサスノードのコンセンサスロープ処理サブモジュールは、復元時系列情報を複数回交換し、ローカル及びノンローカル復元ロープに対してコンセンサス処理を行って、コンセンサス時系列を形成する。コンセンサスロープ処理サブモジュールは、ローカルコンセンサスロープ格納コンセンサス時系列情報を構築する。好ましくは、コンセンサスノードが、復元時系列情報を交換するノード組合せを主観的に選択することを回避するために、コンセンサスロープ処理サブモジュールは、復元時系列情報を交換するノード組合せをランダムに生成する。好ましくは、コンセンサスロープ処理サブモジュールは、コンセンサスロープのデータを検証して、コンセンサスロープが改ざんされず、他のコンセンサスノードのコンセンサスロープとの状態同期をできるだけ維持することを保証する。
(Consensus slope processing module process)
Each consensus node receives and synchronizes the restored time-series information of each node, processes the restored time-series information with a preset processing method, and forms a consensus time-series. Here, the consensus slope processing sub-module of the consensus node exchanges the restoration time series information multiple times and performs consensus processing on the local and non-local restoration ropes to form a consensus time series. The consensus slope processing sub-module builds a local consensus slope storing consensus time series information. Preferably, the consensus slope processing sub-module randomly generates node combinations for exchanging restoration time series information, in order to avoid consensus nodes subjectively selecting node combinations for exchanging restoration time series information. . Preferably, the consensus slope processing sub-module verifies the data of the consensus slope to ensure that the consensus slope has not been tampered with and maintains as much state synchronization as possible with the consensus slopes of other consensus nodes.

(状態処理モジュールプロセス)
コンセンサスノードが、コンセンサス時系列に従ってトランザクションを実行することにより、各状態データのコピーによって一致する状態変化軌跡を生成する。ここで、コンセンサスノードの状態処理サブモジュールは、状態データを格納、検証、同期し、コンセンサス時系列に従ってローカルコンセンサスロープにおけるトランザクションを解析して、トランザクション実行キューを作成し、実行可能なトランザクションをトランザクション実行キューに書き込み、トランザクションに対応するエグゼキュータを呼び出してトランザクション実行キューにおけるトランザクションを実行して、状態データの状態変化を完了し、状態取得モジュールと協定したルールに従って、状態取得モジュールに状態データを出力する。好ましくは、トランザクションの実行効率を向上するために、状態処理サブモジュールは、トランザクションを並行して実行し、ここで、状態処理サブモジュールは、状態取得モジュールに購読の状態データを能動的にプッシュすることができ、状態取得モジュールの状態取得請求に応答することもできる。
(state handling module process)
A consensus node generates a state change trajectory that is consistent with each state data copy by executing transactions according to the consensus timeline. Here, the state processing submodule of the consensus node stores, verifies, and synchronizes state data, analyzes the transactions in the local consensus slope according to the consensus time series, creates a transaction execution queue, and executes the executable transactions. Write to the queue, call the executor corresponding to the transaction to execute the transaction in the transaction execution queue, complete the state change of the state data, and output the state data to the state acquisition module according to the rules agreed with the state acquisition module. . Preferably, in order to improve transaction execution efficiency, the state processing sub-module executes transactions in parallel, where the state processing sub-module actively pushes state data of subscriptions to the state acquisition module. and can respond to status acquisition requests of the status acquisition module.

(時間処理モジュールプロセス)
コンセンサスノードが、コンセンサス時系列の状態変化軌跡を利用して、1種の時間を定義、解釈、進行する。好ましくは、トランザクションシーケンスシステム1において時間が生成された後、コンセンサスノードが、時間情報を入力、出力、処理することができる。ここで、コンセンサスノードの時間処理サブモジュールは、ローカルコンセンサスロープの状態変化軌跡を時間基準系としてコンセンサス時間を定義し、全てのコンセンサスノードは、一致するルールに従ってコンセンサス時間を解釈、進行し、現在コンセンサス時間を取得してネットワークにおけるイベントにコンセンサスタイムスタンプを付け、他のコンセンサスノードからのコンセンサスタイムスタンプを検証し、コンセンサス時間情報を分析して応答最適化処理を行う。
(temporal processing module process)
A consensus node defines, interprets, and progresses a kind of time using the state change trajectory of the consensus time series. Preferably, after the time is generated in the transaction sequence system 1, consensus nodes can input, output and process the time information. Here, the time processing submodule of the consensus node defines the consensus time by taking the state change trajectory of the local consensus slope as the time reference system, and all consensus nodes interpret and progress the consensus time according to the matching rule to reach the current consensus It acquires time and puts consensus timestamps on events in the network, verifies consensus timestamps from other consensus nodes, and analyzes consensus time information for response optimization processing.

(状態取得モジュールプロセス)
状態取得モジュールは、コンセンサスネットワークから状態データを取得する。ここで、状態取得モジュールは、コンセンサスノードと状態取得ルールを協定して、コンセンサスノードから状態データを取得し、状態データを格納、処理する。状態取得モジュールは、同時に複数のコンセンサスノードから状態データを取得してその中の複数の結果を受け入れることができ、その中の最新結果を受け入れることもでき、複数の結果を1つの結果に合成することもできる。
(state acquisition module process)
A state acquisition module acquires state data from the consensus network. Here, the state acquisition module agrees state acquisition rules with the consensus nodes to acquire state data from the consensus nodes, and stores and processes the state data. The state acquisition module can simultaneously acquire state data from multiple consensus nodes and accept multiple results therein, and can also accept the latest result therein, and synthesizes multiple results into one result. can also

一実施形態では、コンセンサスノードが自己適応型ローカル時間分解能を提供してローカル到着ロープを並行して構築する方法を提供し、到着ロープにおける全ての結び目は、シングルストランドのロープのような一本鎖構造を構成し、シングルストランドロープと称する。シングルストランドロープにおいて、結び目は、同期して連続的(serial)に生成されるしかないので、トランザクションの書き込み速度及び処理リソースの利用率が制限される。 In one embodiment, consensus nodes provide self-adaptive local time resolution to provide a way to build local arrival ropes in parallel, and all knots in the arrival rope are single-strand like a single-strand rope. construct the structure and call it a single-strand rope. In a single-strand rope, knots can only be generated synchronously and serially, which limits transaction write speed and processing resource utilization.

マルチコア処理リソースを十分に利用し、かつ、到着ロープの時間分解能及び到着トランザクションに対する処理効率を向上するために、マルチコア並行ノッティング方法が提案され、方式1と方式2を含む。方式1として、マルチコアリソース上でN個の実行待ちのノッター及び1つのスケジューラを実施し、スケジューラは、毎回において、1つの空っているノッターを非同期的に順次呼び出してノッティング操作を行い、毎回呼び出す前に、スケジューラは、結び目番号を生成し、前時系列結び目を決定し、導入待ち結び目のトランザクションがあるか否かを決定し、スケジューラは、結び目番号、前時系列結び目、導入待ちトランザクションをノッターに入力させ、ノッターは、スケジューラの入力に従ってノッティングを行う。方式2として、マルチコアリソース上でN個の実行待ちノッターを実施し、N個のノッターのそれぞれは、唯一の番号を有し、持続的に1つのミューテックスを競争し、ミューテックスは、結び目番号を生成するための整数変数aと、最近の競争でミューテックスを得たノッターの番号を記録するための変数bとを所持しており、そのうちの1つのノッターが競争でミューテックスを得た後、ミューテックスが所持している整数変数aに1を加算して現在の結び目番号を生成し、その後、ミューテックスの変数bを読み取って競争でミューテックスを得た直前のノッターの番号を取得し、その後、変数bを自ノッターの番号に設定し、その後、導入待ち結び目のトランザクションがあるか否かをチェックし、ある場合、トランザクションをロックしてトランザクション結び目にノッティングすることを決定し、ない場合、空の結び目にノッティングすることを決定し、その後、ミューテックスを直ちに解放してノッティングし始め、ノッティングされた結び目の前時系列結び目は、自ノッターが前回ノッティングした結び目であり、ノッティングされた結び目は、自ノッターの番号、競争でミューテックスを得た直前のノッターの番号をさらに含む。ノッティングが完了した後、ミューテックスを継続して競争する。 In order to make full use of multi-core processing resources and improve the time resolution of arrival ropes and the processing efficiency for incoming transactions, multi-core parallel knotting methods are proposed, including method 1 and method 2. Method 1 implements N notters waiting to be executed and one scheduler on the multi-core resource, and the scheduler asynchronously sequentially calls one idle notter each time to perform the notting operation, and calls each time. Before, the scheduler generates a knot number, determines a previous chronological knot, determines whether there is a transaction waiting to be introduced, the scheduler notters the knot number, the previous chronological knot, and the transaction waiting to be introduced and the knotter performs knotting according to the scheduler's input. Method 2: Implement N pending knotters on the multi-core resource, each of the N knotters has a unique number and continuously contends for a mutex, and the mutex generates a knot number. and a variable b to record the number of knotters that obtained the mutex in the most recent competition, and after one of them has obtained the mutex in the competition, the mutex possesses Add 1 to the integer variable a that is running to generate the current knot number, then read the variable b of the mutex to get the number of the knotter just before it got the mutex in competition, and then set the variable b to itself. Set to the number of the knotter, then check whether there is a transaction in the knot waiting to be introduced, if there is, decide to lock the transaction and knot to the transaction knot, otherwise knot to the empty knot , then immediately release the mutex and start knotting, the previous chronological knot of the knotted knot is the knot previously knotted by the own knotter, the knotted knot is the own knotter's number, the competition Also contains the number of the last notter that got the mutex in . Continuing to race the mutex after notting is complete.

上記方法によれば、N個のノッターがNストランドのロープを生成し、Nをロープの並行度と称し、並行度がNであるロープをNストランドロープと称することができる。さらに、ロープが再構築される難度を高くするために、2つの前時系列結び目を設定し、一方の前時系列結び目は、自ノッターが最後にノッティングした結び目であり、他方の前時系列結び目は、前回ノッティング権利を取得したノッターが、自ノッターのノッティング権利取得前に最後にノッティングした結び目である。上記方式1において、ノッターがスケジューラによって呼び出されると、ノッターがノッティング権利を取得したと見なされることができる。方式2において、ノッターが競争でミューテックスを得ると、ノッティング権利を取得したと見なされることができる。さらに、異なる並行度のノッティングによって占用される計算リソースが異なるため、実現される時間分解能も異なる。到着頻度が高くない場合、高すぎるノッティングの並行度は浪費になり、トランザクション到着頻度が高い場合、低いノッティングの並行度は時系列の分解能を満たすことができない。トランザクション到着頻度に基づいて自己適応的にノッティングの並行度を調整するために、自己適応的変更可能な並行度の到着ロープのノッティング方法及び到着ロープの検証方法を提出し、この方法は、モニターがローカル到着ロープから現在の結び目が含まれているロープセグメントを取得し、ロープセグメント結び目の総数に対するロープセグメントにおけるトランザクション結び目の数の比率を統計し、比率がある予め設定された値を超えると、ローカル到着ロープの並行度を高くし、比率がある予め設定された値よりも低いと、ローカル到着ロープの並行度を低くするステップを含む。並行度が変化するロープをストランド変更ロープと称し得る。 According to the above method, N knotters produce a rope of N strands, N can be called the parallelism of the rope, and a rope with a parallelism of N can be called an N-strand rope. Furthermore, in order to increase the difficulty of reconstructing the rope, we set two previous time series knots, one of which is the last knot knotted by the own knotter, and the other is the previous time series knot. is the last knot knotted by the knotter who obtained the knotting right last time before his own knotter got the knotting right. In scheme 1 above, when the notter is called by the scheduler, it can be considered that the notter has obtained the notting right. In Scheme 2, when a notter wins a mutex in a race, it can be considered to have acquired the notting right. In addition, different degrees of parallelism occupy different computational resources, so different temporal resolutions are achieved. If the arrival frequency is not high, too high knotting parallelism is wasted, and if the transaction arrival frequency is high, low knotting parallelism cannot meet the time series resolution. In order to adjust the knotting parallelism in a self-adaptive manner based on the transaction arrival frequency, a self-adaptive changeable parallelism arrival rope knotting method and an arrival rope verification method are presented, in which the monitor Get the rope segment containing the current knot from the local arrival rope, statistic the ratio of the number of transaction knots in the rope segment to the total number of rope segment knots, and if the ratio exceeds some preset value, the local Increasing the parallelism of the arrival ropes and decreasing the parallelism of the local arrival ropes when the ratio is below some preset value. Ropes with varying degrees of parallelism may be referred to as strand-changing ropes.

一実施形態では、コンセンサスノードがそれぞれローカル到着ロープのデータに対して圧縮処理を行う方法である。ここで、方式1として、初期結び目、トランザクション結び目、末尾結び目、一部の空の結び目を保留する。方式2として、初期結び目、トランザクション結び目、同期されていないロープセグメント全部を保留する。方式3として、初期結び目、トランザクション結び目、末尾結び目、及び番号がある整数の整数倍の結び目を保留する。また、基本情報を保留し、基本情報から導出可能なデータを削除することを目的とする他の方式もあり得る。 In one embodiment, each consensus node performs a compression process on the data of its local arrival rope. Here, as method 1, the initial knot, the transaction knot, the tail knot, and some empty knots are reserved. As method 2, all initial knots, transaction knots, and unsynchronized rope segments are withheld. Method 3 reserves initial knots, transaction knots, tail knots, and knots whose number is an integral multiple of a given integer. There may also be other schemes aimed at withholding the basic information and deleting data derivable from the basic information.

一実施形態では、コンセンサスノードが統計学方法を利用してローカル及びノンローカルの到着ロープのデータを分析して、トランザクション入力モジュール、コンセンサスネットワーク、コンセンサスノードに関する特徴変化軌跡を取得し、特徴を利用して対応する応答を最適化する方法である。 In one embodiment, the consensus node uses statistical methods to analyze the data of the local and non-local arrival ropes to obtain feature change trajectories for the transaction input module, the consensus network, and the consensus node, and use the features. is a method of optimizing the corresponding response.

一実施形態では、ローカル及びノンローカルの到着ロープを介してトランザクションがコンセンサスノードに到着する頻度を了解する分析項目を予め設定するステップを含み、このステップには、1セグメントの到着ロープ(ローカル到着ロープでも、ノンローカル到着ロープでもよい)を選択するステップと、当該セグメントの到着ロープに含まれている結び目数aを取得し、具体的には、当該セグメントの到着ロープの末尾結び目番号から先頭結び目番号を減算して結び目数aを取得するステップと、当該セグメントの到着ロープにおけるトランザクション結び目の数b0、当該到着ロープを作成するコンセンサスノードに対するローカルトランザクション結び目の数b1、及び到着ロープを作成するコンセンサスノードに対するノンローカルトランザクションb2を統計するステップと、を含み、当該到着ロープを作成するコンセンサスノードに比べ、当該セグメントの到着ロープが代表する履歴時間内で、トランザクションがコンセンサスノードに到着する頻度はb0/aであり、ローカルトランザクションがコンセンサスノードに到着する頻度はb1/aであり、ノンローカルトランザクションがコンセンサスノードに到着する頻度はb2/aである。 In one embodiment, this includes preconfiguring an analysis term that understands how often transactions arrive at a consensus node via local and non-local arrival ropes, which step includes a segment of arrival ropes (local arrival ropes). and obtaining the number a of knots included in the arrival rope of the segment, specifically, from the end knot number to the beginning knot number the number of transaction knots in the arrival rope of the segment b0, the number of local transaction knots b1 for the consensus node creating the arrival rope, and the number of local transaction knots b1 for the consensus node creating the arrival rope statistically comparing non-local transactions b2 to the consensus node creating the arrival rope, the frequency with which transactions arrive at the consensus node within the historical time represented by the arrival rope of the segment is b0/a. , the frequency at which local transactions arrive at the consensus node is b1/a, and the frequency at which non-local transactions arrive at the consensus node is b2/a.

一実施形態では、ローカル到着ロープが、並行度可変のノッティング延長形式である場合、到着時系列情報分析ユニットは、一定期間内のトランザクション到着頻度の変化状況を統計して分析結果を形成し、到着ロープ処理最適化ユニットが分析結果を取得し、予め設定された関連付けによって分析項目が到着ロープの並行度変化応答ルールに対応するため、応答ルールを実行し、応答ルールの実行過程は、分析結果を取得し、トランザクションの到着頻度がある閾値を超えたことを発見すると、応答結果はローカル到着ロープの並行度を高くすることである。 In one embodiment, if the local arrival rope is a knotting extension form with variable parallelism, the arrival time series information analysis unit forms an analysis result by statistically changing the transaction arrival frequency within a certain period of time, and The rope processing optimization unit obtains the analysis result, and the analysis item corresponds to the parallelism change response rule of the arrival rope according to the preset association, so that the response rule is executed. When it gets and finds that the transaction arrival frequency exceeds a certain threshold, the response result is to increase the parallelism of the local arrival ropes.

一実施形態では、コンセンサスノードが予め設定されたルールに従って、取得したローカル及びノンローカル到着ロープからトランザクション到着時系列情報を取得する方法である。ローカル到着時系列情報は、ノンローカル到着時系列情報と構造が同じであるが、異なるのは、ローカル到着時系列情報におけるノードが自ノードであり、トランザクションが自ノードに到着するトランザクションである点であり、ここで、ローカル及びノンローカル到着ロープからトランザクション到着時系列情報を取得する原理は、同一の到着ロープにおいて、トランザクションが存在する結び目の番号の大きさの順序は、トランザクションが到着ロープのローカルノードに到着する到着時系列と同じである。

Figure 0007288264000016
In one embodiment, a consensus node obtains transaction arrival time series information from obtained local and non-local arrival ropes according to preset rules. The local arrival time series information has the same structure as the non-local arrival time series information, but differs in that the node in the local arrival time series information is the self node, and the transaction is the transaction that arrives at the self node. where the principle of obtaining transaction arrival time series information from local and non-local arrival ropes is that in the same arrival rope, the order of the number of knots where transactions exist is the local node of the arrival rope is the same as the arrival time series arriving at
Figure 0007288264000016

図17に示すように、一実施形態では、コンセンサスノードが予め設定された復元ルールに従ってトランザクションの到着時系列情報を処理して2つずつのトランザクションの復元時系列及び全てのトランザクションの復元時系列を出力する方法である。 As shown in FIG. 17, in one embodiment, the consensus node processes the transaction arrival time series information according to the preset restoration rules to generate the restoration time series of every two transactions and the restoration time series of all transactions. It is a method of output.

予め設定された復元ルールは、以下の例示により、コンセンサスネットワークG、複数のトランザクション入力モジュールI及び複数の状態取得モジュールFを含むトランザクションシーケンスコンセンサスシステムを説明する。ここで、

Figure 0007288264000017
Figure 0007288264000018
The preset restoration rule describes a transaction sequence consensus system including a consensus network G, a plurality of transaction input modules I and a plurality of state acquisition modules F, by way of example below. here,
Figure 0007288264000017
Figure 0007288264000018

ノード0、1、2、3がコンセンサスネットワークを構成し、図4に示すように、次のように記す。

Figure 0007288264000019
Nodes 0, 1, 2, 3 constitute a consensus network, and as shown in FIG.
Figure 0007288264000019

計算及び説明の便宜上、各ノード間の遅延Dは、それぞれ固定値であると仮定し、具体的には、次のとおりである。

Figure 0007288264000020
For convenience of calculation and explanation, it is assumed that the delay D between each node is a fixed value, specifically as follows.
Figure 0007288264000020

コンセンサスネットワーク中で1グループのトランザクションのコンセンサスが取られる過程を実演するために、真正時系列が客観的に存在すると仮定し、

Figure 0007288264000021
そして、絶対時間が存在すると仮定し、絶対時間及び真正時系列に従ってトランザクションがネットワークに進入するスケジュール表を設計する。ここで、真正時系列におけるトランザクションはト、ランザクション入力モジュールによって、指定された時刻で指定されたノードに入力される。例えば、時刻10で、トランザクション入力モジュール1がノード0をエントリノードとしてトランザクションT0を入力し、以下のように類推する。
Figure 0007288264000022
To demonstrate the process by which consensus is reached for a group of transactions in a consensus network, assuming the objective existence of a true time series,
Figure 0007288264000021
Then, assuming the existence of absolute time, we design a schedule in which transactions enter the network according to absolute time and true time series. Here, the transaction in the true time series is input to the designated node at the designated time by the transaction input module. For example, at time 10, transaction input module 1 inputs transaction T0 with node 0 as the entry node, and the following is analogized.
Figure 0007288264000022

計時の開始後、指定されたトランザクション入力モジュールは、スケジュール表に従って、指定されたトランザクションをコンセンサスネットワークの指定されたエントリノードに入力させる。t=0であると仮定すると、各ノードのローカル到着ロープは、ノッティングし始め、それぞれ次のとおりである。

Figure 0007288264000023
After timing begins, the designated transaction entry module causes the designated transaction to be entered into the designated entry node of the consensus network according to the schedule. Assuming t=0, each node's local arrival rope begins to knot, respectively:
Figure 0007288264000023

各ノードのノッティング頻度が異なるため、t=10である場合、各ノードのローカル到着ロープは次の通りである。

Figure 0007288264000024
Since each node has a different notting frequency, for t=10, the local arrival rope for each node is:
Figure 0007288264000024

このとき、トランザクションT0がエントリノード0によって取得され、ノード0は、トランザクションT0がローカルトランザクションであると判断し、ローカルトランザクションT0を検証、解析、格納及び同期する。ノード0は、トランザクションT0をローカル到着ロープの1001号の結び目にノッティングし、次のように記する。

Figure 0007288264000025
このとき、ノード0は、ローカル到着ロープの同期されていないセグメントを同期する。At this time, transaction T0 is captured by entry node 0, node 0 determines that transaction T0 is a local transaction, and verifies, parses, stores and synchronizes local transaction T0. Node 0 notates transaction T0 to the 1001 knot of the local arrival rope and notates it as follows.
Figure 0007288264000025
Node 0 then synchronizes the unsynchronized segment of the local incoming rope.

t=11である場合、ノード0によって同期されたトランザクションT0がノード1に到着し、ノード1は、トランザクションT0がノンローカルトランザクションであると判断し、ノンローカルトランザクションT0を検証、解析、格納及び同期する。このとき、ノード1のローカル到着ロープの末尾番号は2200であるため、ノード1は、トランザクションT0をローカル到着ロープの2201号の結び目にノッティングし、

Figure 0007288264000026
このとき、ノード1は、ローカル到着ロープの同期されていないセグメントを同期する。When t=11, transaction T0 synchronized by node 0 arrives at node 1, node 1 determines that transaction T0 is a non-local transaction, verifies, parses, stores and synchronizes non-local transaction T0. do. At this time, since the end number of the local arrival rope of node 1 is 2200, node 1 notates the transaction T0 to the knot 2201 of the local arrival rope,
Figure 0007288264000026
Node 1 then synchronizes the unsynchronized segment of the local incoming rope.

一定期間を経た後、各トランザクションが、いずれもコンセンサスネットワークに入力され、かつ、各ノードに同期されており、各ノードのローカル到着ロープも全部コンセンサスネットワークの他のノードに同期された。 After a certain period of time, each transaction is entered into the consensus network and synchronized to each node, and the local arrival ropes of each node are also synchronized to other nodes in the consensus network.

計算を簡略化するために、ノードがトランザクションを同期するためにローカルで生成した処理時間を無視することができ、ノード間の遅延設定に基づいて、トランザクションが各ノードに到着する「絶対時間」が次の通りであることが分かる。

Figure 0007288264000027
各ノードの到着ロープのデータは、次のとおりである。
Figure 0007288264000028
For simplicity of computation, we can ignore the locally generated processing time that nodes have for synchronizing transactions, and the "absolute time" for a transaction to arrive at each node, based on the delay settings between nodes. It turns out that it is as follows.
Figure 0007288264000027
The arrival rope data for each node is as follows.
Figure 0007288264000028

各ノードは、ノンローカル到着ロープを受信した後、復元ロープ処理を行い始める。ノード0を例とすると、ローカル及びノンローカル到着ロープに従って、トランザクションが各ノードに到着する時系列を取得し、次の通りである。

Figure 0007288264000029
After each node receives the non-local arrival rope, it begins the restoration rope process. Taking node 0 as an example, we obtain the time series of transactions arriving at each node according to the local and non-local arrival ropes, as follows.
Figure 0007288264000029

復元ルール1(コンセンサス待ちトランザクションの復元がコンセンサス済みトランザクションの復元よりも遅い)によれば、現在、コンセンサス済みトランザクションが未だないので、ルール1を利用することはできない。 According to Restoration Rule 1 (restoration of consensus-waiting transactions is slower than restoration of consensus transactions), rule 1 cannot be used because there are currently no consensus transactions yet.

復元ルール2(同一のノードにおける両ローカルトランザクションの到着時系列と復元時系列とが同じ)によれば、ノード0のローカルトランザクションにはT0及びT4があり、ノード1のローカルトランザクションにはT1及びT5があり、ノード2のローカルトランザクションにはT2があり、ノード3のローカルトランザクションにはT3があることが既知であると、次の通りである。

Figure 0007288264000030
According to restoration rule 2 (same arrival and restoration time series for both local transactions at the same node), node 0's local transaction has T0 and T4, and node 1's local transaction has T1 and T5. , and it is known that node 2's local transaction has T2 and node 3's local transaction has T3.
Figure 0007288264000030

復元ルール3(比較される2つのトランザクションが同一の到着ロープにおける結び目番号の差が大きいほど)によれば、次の通りである。

Figure 0007288264000031
According to Restoration Rule 3 (the greater the knot number difference in the arrival ropes where the two transactions being compared are the same), it is as follows.
Figure 0007288264000031

復元ルール5(トランザクションの復元時系列が伝達性を満たす)によれば、ルール2及び3と組み合わせた結果は次の通りである。

Figure 0007288264000032
According to restoration rule 5 (restored time series of transactions satisfy transferability), the result in combination with rules 2 and 3 is as follows.
Figure 0007288264000032

今の所、T0とT1、T1とT2、T1とT3、T2とT3、T2とT4、T3とT4、T4とT5の復元時系列関係をまだ確定することができない。 At present, the reconstructed chronological relationships of T0 and T1, T1 and T2, T1 and T3, T2 and T3, T2 and T4, T3 and T4, T4 and T5 cannot be established yet.

復元ルール4(比較される2つのトランザクションが先に到着されるノードの数の差が大きいほど)によれば、T0とT1とについて、ノード0、2、3においてはT0がT1よりも早く到着し、ノード1のみにおいてT1がT0よりも早いと、T0がT1よりも早くネットワークに進入したと判断し、同原理によって、T1がT3よりも早く、T2がT3よりも早く、T2がT4よりも早く、T3がT4よりも早く、T4がT5よりも早いと判断でき、このとき、再度ルール5によれば、以下の通りである。

Figure 0007288264000033
According to restoration rule 4 (the greater the difference in the number of nodes where the two transactions being compared arrive first), for T0 and T1, T0 arrives earlier than T1 at nodes 0, 2, and 3. However, if T1 is earlier than T0 only in node 1, it is determined that T0 entered the network earlier than T1, and by the same principle, T1 is earlier than T3, T2 is earlier than T3, and T2 is earlier than T4. As soon as possible, it can be determined that T3 is earlier than T4, and T4 is earlier than T5. At this time, again according to Rule 5, it is as follows.
Figure 0007288264000033

しかし、T1及びT2は、それぞれ到着時系列が相手よりも早いノードが2つあり、今の所、T1とT2との復元時系列関係をまだ確定することができない。 However, T1 and T2 each have two nodes whose arrival time series are earlier than their counterparts, and so far, the restored time series relationship between T1 and T2 cannot be determined yet.

復元ルール6(同一のノードにおける2つのトランザクションの到着時系列間の間隔がある閾値よりも大きい)によれば、T0及びT1のローカル及びノンローカルの到着ロープにおける結び目番号を取得して計算する。

Figure 0007288264000034
According to Restoration Rule 6 (the interval between the arrival time series of two transactions at the same node is greater than some threshold), we obtain and compute knot numbers in the local and non-local arrival ropes of T0 and T1.
Figure 0007288264000034

これまでになると、ノード0は、復元時系列を取得でき、

Figure 0007288264000035
So far, node 0 can get the restored time series,
Figure 0007288264000035

同原理によって、ノード1、2、3は、同じ方法に従って復元時系列を取得でき、

Figure 0007288264000036
By the same principle, nodes 1, 2, 3 can obtain the restored time series according to the same method,
Figure 0007288264000036

ノード0は、ローカル復元時系列を他のノードに送信し、他のノードは、自ノードのローカル復元時系列を返信し、ノード0は、受信したノンローカル復元時系列を比較して、完全に一致することを発見すると、復元時系列がコンセンサス時系列を達成したと判定する。 Node 0 sends the local reconstruction time series to other nodes, other nodes return their own local reconstruction time series, and node 0 compares the received non-local reconstruction time series to complete Upon finding a match, it is determined that the reconstructed time series has achieved the consensus time series.

ノード0がコンセンサス時系列を順序に従ってコンセンサスロープに書き込んで取得したコンセンサスロープは以下の通りである。

Figure 0007288264000037
The consensus slope obtained by node 0 writing the consensus time series into the consensus slope in order is as follows.
Figure 0007288264000037

ノード0は、コンセンサス時系列に従ってコンセンサスロープにおけるトランザクションを解析して、トランザクション実行キューに書き込み、トランザクションに対応するトランザクションエグゼキュータを1つずつ呼び出して、トランザクション実行キューにおけるトランザクションを実行して、状態データの変更を完了する。他のノードも同じ操作を行う。例えば、前記トランザクションの実行待ち内容は、それぞれ、変数Aに対して1を加算することを要求するT0、変数Aに対して2を加算することを要求するT1、変数Bに対して2に3を加算することを要求するT2、変数Aに対して3を減算することを要求するT3、変数Aに対して2を減算することを要求するT4、変数Bに対して2に1を加算することを要求するT5であり、A及びBが0未満になってはいけないとの拘束条件があり、
トランザクションがネットワークに入力される前において、ノードの状態データには、Aの値が1、Bの値が2であるとのことが含まれる。
Node 0 analyzes the transactions in the consensus slope according to the consensus time series, writes them into the transaction execution queue, calls the transaction executors corresponding to the transactions one by one, executes the transactions in the transaction execution queue, and outputs the state data. Complete your changes. Other nodes do the same. For example, the contents of the transaction waiting to be executed are T0 requesting that the variable A be incremented by 1, T1 requesting that the variable A be incremented by 2, and 2 and 3 for the variable B, respectively. T2 requires adding 3 to variable A; T3 requires subtracting 3 from variable A; T4 requires subtracting 2 from variable A; There is a constraint that A and B must not be less than 0,
Before the transaction enters the network, the node's state data includes that A has a value of 1 and B has a value of 2.

コンセンサス時系列が実行され始めると、T0が実行されて、Aの値が1+1=2になり、T1が実行されて、Aの値が2+2=4になり、T2が実行されて、Bの値が2であり、2に3を加算して5になり、T3が実行されて、Aの値が4-3=1になり、T4が実行されて、Aの値が1-2<0になって、拘束条件に適合しないので、T4を放棄し、T5が実行されて、Bの値が5であり、2に1を加算することができないので、T5を放棄する。 When the consensus time series starts running, T0 runs and the value of A becomes 1+1=2, T1 runs and the value of A becomes 2+2=4, T2 runs and the value of B is 2, adds 3 to 2 to get 5, T3 is executed and the value of A becomes 4-3=1, T4 is executed and the value of A becomes 1-2<0 Then T4 is discarded because the constraint is not met, and T5 is discarded because T5 has been executed and the value of B is 5 and 1 cannot be added to 2.

同時に、状態取得モジュールは、任意のノードから状態データを取得する。例えば、状態取得モジュール0がノード0からAの値を請求し、Aがノード0にこの時のAの値を返信し、状態取得モジュール1がノード2からBの値をすでに購読しており、Bの値を更新する度に、ノード2が状態取得モジュール1にBの値をプッシュし、状態取得モジュール2が同時にノード0、1、2、3からAの値を請求し、状態取得モジュール3が同時にノード1、2からAの値を購読する。 At the same time, the state acquisition module acquires state data from any node. For example, get state module 0 requests the value of A from node 0, A sends back to node 0 the value of A at this time, get state module 1 has already subscribed to the value of B from node 2, Each time it updates the value of B, node 2 pushes the value of B to Get State Module 1, Get State Module 2 simultaneously solicits the value of A from Nodes 0, 1, 2, 3, and Get State Module 3. simultaneously subscribe to the value of A from nodes 1 and 2.

一実施形態では、ローカル復元ロープを構築して復元時系列情報を格納する方法である。トポロジマップデータ構造を構築し、トポロジマップデータ構造は、自コンセンサスノードが、受信した到着ロープから分析復元したコンセンサス待ちトランザクションがネットワークに進入する時系列関係を格納、表示するために用いられ、このマップを「復元ロープ」と呼ぶ。ここで、復元ロープにおける「ポイント」は、エンティティを代表し、「エッジ」は、エンティティ間の関係を代表し、ポイント及びエッジは、いずれもタイプ及び属性を有する。ポイントのタイプには、トランザクション及びコンセンサスノードが含まれ、エッジのタイプには、発行関係(トランザクションエンティティと当該トランザクションを発行するコンセンサスノードエンティティとを接続する1本のエッジ)、時系列関係(2つのトランザクションA及びBを接続する1本のエッジ、属性は、AトランザクションがBトランザクションよりも早くネットワークに進入したと判断するコンセンサスノードの確信スコアであり、確信スコアの計算により得られる)が含まれる。コンセンサスノードは、コンセンサス待ちトランザクション集合から2つのトランザクションA及びBを選択し、分析ルールに従ってAがBよりも早くネットワークに進入した確信スコアを取得し、分析結果を復元ロープに書き込みながら、冗長な時系列関係エッジを削除する。コンセンサスノードは、復元ロープにおける安定しかつコンセンサスが達成されていないと想定される部分を、他のコンセンサスノードとコンセンサス処理を行うとともに、トランザクションがネットワークに進入したコンセンサス時系列に従って、コンセンサスが達成された部分をコンセンサスロープに書き込み、コンセンサスが達成されたトランザクションを復元ロープに「コンセンサス済み」とマークする。格納空間を節約するために、コンセンサスが達成されたトランザクション、発行関係及び時系列関係を復元マップから削除する。 In one embodiment, a method for building a local restoration rope to store restoration timeline information. Constructing a topology map data structure, the topology map data structure is used to store and display the time-series relationship of consensus-waiting transactions that are analyzed and restored from the received arrival rope by their own consensus node and enter the network, and this map is called the “restoration rope”. Here, "points" in the restoration rope represent entities, "edges" represent relationships between entities, and both points and edges have types and attributes. Point types include transactions and consensus nodes, and edge types include issuing relationships (a single edge connecting a transaction entity and a consensus node entity that issues the transaction), chronological relationships (two One edge connecting transactions A and B, the attribute is the belief score of the consensus node that determines that the A transaction entered the network earlier than the B transaction, obtained by computing the belief score. The consensus node selects two transactions A and B from the set of consensus-waiting transactions, obtains the confidence score that A entered the network earlier than B according to the analysis rules, and writes the analysis results to the restoration rope while redundant time Remove lineage edges. The consensus node performs consensus processing with other consensus nodes on the portion of the restoration rope that is assumed to be stable and consensus has not been achieved, and consensus is achieved according to the consensus time series of transactions entering the network. Write the part to the consensus slope, and mark transactions for which consensus was achieved as "consensus completed" on the restore rope. To save storage space, transactions, issue relationships and chronological relationships for which consensus has been reached are deleted from the restoration map.

図18に示すように、一実施形態では、コンセンサスノードが復元時系列情報を複数回交換し、ローカル及びノンローカル復元ロープに対してコンセンサス処理を行って、コンセンサス時系列を形成する方法であって、具体的なステップは、次の通りである。コンセンサスノードは、復元ロープから、コンセンサスが取られずかつ安定している復元ロープセグメント及び現在のコンセンサスロープの末尾結び目を取って、N個のコンセンサスノードにランダムに送信する。コンセンサスノードが復元ロープからコンセンサスが取られずかつ安定している復元ロープセグメントを取る方法には、受信した到着ロープに含まれているトランザクション全部の分析が完了したことを確認するステップと、冗長な関係を削除した後、復元ロープにおける比較的早くネットワークに進入したトランザクションの時系列関係が一本の単一のチェーンを形成することにより、新しいトランザクションが単一のチェーンの比較的早い部分に挿入する可能性がないことが確認され、この部分の単一のチェーンが安定した時系列であるステップと、コンセンサスノードがN個のコンセンサスノードに、安定している復元ロープセグメント及びコンセンサスロープ末尾結び目をランダムに請求するステップと、コンセンサスノードが、他のノードから送信されたコンセンサス待ちロープセグメントを受信した後、自コンセンサスノードの対応するロープセグメントと比較して、そのうちの異なる時系列関係について、そのうちの複数の結果を受け入れるステップとが、含まれる。 As shown in FIG. 18, in one embodiment, a method for consensus nodes to exchange restoration time series information multiple times and perform consensus processing on local and non-local restoration ropes to form a consensus time series, comprising: , the specific steps are as follows. The consensus node takes the non-consensus and stable restored rope segment and the tail knot of the current consensus rope from the restored rope and randomly sends them to the N consensus nodes. The method by which a consensus node takes non-consensual and stable restored rope segments from the restored rope includes the steps of ensuring that all transactions included in the received incoming rope have been analyzed, and redundant relationships. After deleting , the chronological relationship of transactions that entered the network earlier in the restoration loop will form a single chain, so that new transactions can be inserted into the earlier part of the single chain. A step in which a single chain in this part is a stable time series, and a consensus node has N consensus nodes, and a stable restored rope segment and a consensus rope trailing knot are randomly a step of claiming, wherein after a consensus node receives a consensus-waiting rope segment transmitted from another node, it compares with the corresponding rope segment of its own consensus node for a different time-series relationship thereof, a plurality of the and accepting the result.

コンセンサスノードが復元時系列情報を交換するノード組合せをランダムに生成する方法を提供し、具体的には、ノード情報を取得し、到着ロープ、復元ロープ及びコンセンサスロープのデータに基づいて、初期値を取得するステップと、初期値に基づいて乱数を生成するステップと、ノード情報及び乱数に基づいてノード組合せを生成するステップと、を含む。 Provide a method for randomly generating a node combination for consensus nodes to exchange restored time-series information, specifically, obtain node information, and set an initial value based on the arrival rope, restoration rope and consensus slope data generating a random number based on the initial value; and generating a node combination based on the node information and the random number.

コンセンサスノードが、復元ロープの冗長な時系列データをリアルタイムに削除する方法である。具体的なステップは、コンセンサス待ちトランザクションにおける冗長な時系列関係エッジを判断して削除することである。 Consensus nodes are a real-time way to remove redundant time-series data in the restoration rope. A specific step is to determine and remove redundant chronological relationship edges in consensus-waiting transactions.

一実施形態では、コンセンサスノードがローカルコンセンサスロープを構築してコンセンサス時系列情報を格納する方法である。具体的には、コンセンサスノードがコンセンサスネットワークに加入した後、コンセンサスロープ初期化モジュールがコンセンサスロープの初期化同期を開始することをトリガするステップと、コンセンサスロープ初期化同期モジュールが他の複数のコンセンサスノードに、現在の最新のコンセンサス結び目の取得を目的とするコンセンサスロープ同期請求を送信し、他のコンセンサスノードが最新のコンセンサス結び目を返信するステップと、請求を受信したノードが、請求を送信したノードと一定期間の持続接続を確立して、請求を送信したノードに最新のコンセンサス結び目を持続的にプッシュするステップと、コンセンサスロープ初期化同期モジュールが他の複数のコンセンサスノードに、指定のコンセンサスロープセグメントをダウンロードする請求を送信し、コンセンサスネットワークに生成されているがローカルに格納されていないコンセンサスロープを補足することを目的とするステップと、を含む。コンセンサスロープノッティングモジュールは、コンセンサスが取られた安定している復元ロープセグメントと、ロープセグメントに対応するコンセンサス結び目とを取得する。すでにコンセンサスロープに入れ込まれたトランザクションは、対応して、自コンセンサスノードで「コンセンサス済み」とマークされ、1つのトランザクションを入れ込むたびに、1つのトランザクションをマークしてもよいし、バッチでマークしてもよい。 In one embodiment, a method for consensus nodes to build local consensus slopes and store consensus time series information. Specifically, after the consensus node joins the consensus network, triggering the consensus slope initialization module to start synchronization for initialization of the consensus slope; , sending a consensus slope synchronous request for the purpose of obtaining the current latest consensus knot, and other consensus nodes replying with the latest consensus knot; establishing a persistent connection for a period of time to persistently push the latest consensus knot to the node that submitted the request; and C. sending requests to download, aimed at supplementing consensus slopes that have been generated in the consensus network but not stored locally. The consensus rope knotting module obtains a consensus stable restored rope segment and a consensus knot corresponding to the rope segment. Transactions that have already entered the consensus slope are correspondingly marked as "consented" at the own consensus node, one transaction per entry may be marked, or marked in batches. You may

コンセンサスノードがローカル時間を定義、解釈、進行する方法である。具体的なステップは、次の通りである。コンセンサスノードが、ローカル到着ロープをコンセンサスノードの内部クロックとし、ローカル到着ロープの結び目数の増加を時間進行の根拠とし、ローカル到着ロープの結び目をコンセンサスノードの内部時間スケールとする。 It is the way consensus nodes define, interpret and progress local time. The specific steps are as follows. The consensus node takes the local arrival rope as the internal clock of the consensus node, the increase in the number of knots of the local arrival rope as the basis for time progression, and the knot of the local arrival rope as the internal time scale of the consensus node.

本願に係るトランザクションシーケンスコンセンサス方法は、本質的には、各コンセンサスノードが1グループのトランザクションが自コンセンサスノードに到着するローカル時間をローカル時間によって記録し、トランザクション到着コンセンサスネットワークの時系列についてコンセンサスを取り、トランザクションがコンセンサスネットワークに到着するコンセンサス時系列を利用してコンセンサスネットワークのコンセンサス時間を定義し、コンセンサス時間及びローカル時間の両方でシーケンス能力を強化する。 The transaction sequence consensus method according to the present application is essentially that each consensus node records the local time when a group of transactions arrives at the consensus node according to the local time, reaches consensus on the time series of the transaction arrival consensus network, The consensus timeline of transactions arriving at the consensus network is used to define the consensus time of the consensus network, enhancing sequencing capabilities in both consensus time and local time.

また、異なるコンセンサスノードのノッティング頻度は異なる可能性があり、形成されたローカル時間の進行速度も異なる可能性がある。 Also, the knotting frequency of different consensus nodes may differ, and the rate of progress of the formed local time may also differ.

タイムスタンプは、ある行為が発生する時間をマークするために用いられ、本願において、タイムスタンプは、人々が通常使用している年/月/日/時/分/秒での時間表示ではなく、コンセンサスシステム以外の時間源によって提供される時間表示でもなく、コンセンサスシステム内のある増加数量を基に形成される時間表示である。 Timestamps are used to mark the time when an action occurs, and in this application, timestamps are not the year/month/day/hour/minute/second time display that people normally use, It is neither a time representation provided by a time source other than the consensus system, nor a time representation formed on the basis of some incremental quantity within the consensus system.

一実施形態では、コンセンサスノードが他のコンセンサスノードからのコンセンサスタイムスタンプを検証する方法である。具体的なステップは次のとおりである。コンセンサス時間及び検証コードを含む提供されるタイムスタンプを取得し、検証コードに基づいて自コンセンサスノードのコンセンサスロープから対応する結び目を検索して、結び目番号及び結び目のhash値を取得し、対応するコンセンサス時間及び検証コードを算出し、提供されたタイムスタンプと等しいか否かをチェックし、等しくない場合、検証に失敗とし、等しい場合、検証に合格とする。 In one embodiment, a method for a consensus node to verify consensus timestamps from other consensus nodes. The specific steps are as follows. Obtain the provided timestamp containing the consensus time and verification code, search the corresponding knot from the consensus slope of the own consensus node based on the verification code, obtain the knot number and hash value of the knot, and obtain the corresponding consensus Calculate the time and verification code and check if it is equal to the provided timestamp, fail verification if not, pass verification if equal.

一実施形態では、コンセンサスノードがコンセンサス処理を誠実に行うように奨励する方法を提案し、エントリコンセンサスノードが、受信したローカルトランザクションTに対してコンセンサスロープ時間t0を付けるステップと、トランザクションTがコンセンサスロープに書き込まれると、現在のコンセンサスロープ時間t1を取得し、コンセンサスをΔt=t1-t0遅延させるステップと、トランザクションTに近い1グループのコンセンサス済みトランザクションのコンセンサス遅延区間[t]を取得し、Δtと[t]とのある種の関係の特徴値xを判断し、システムがトランザクションTのエントリコンセンサスノードに対するボーナス又はペナルティを決定するステップと、を含み、ボーナス及びペナルティの程度は、xの値に関連する。 In one embodiment, we propose a method to encourage consensus nodes to perform consensus processing conscientiously, wherein an entry consensus node attaches a consensus slope time t0 to a received local transaction T; , obtaining the current consensus slope time t1 and delaying the consensus by Δt=t1−t0; determining a characteristic value x of some relationship with [t] so that the system determines a bonus or penalty for the entry consensus node of transaction T, wherein the degree of bonus and penalty is related to the value of x. do.

一実施形態では、順位付け不要のトランザクションのコンセンサス方法であって、トランザクション入力モジュールがコンセンサスノードに順位付け不要のトランザクションを入力するステップと、コンセンサスノードがトランザクションを受信した後、トランザクションをローカル到着ロープにノッティングして、トランザクション結び目にコンセンサスタイムスタンプを付けた後、同期処理するステップと、コンセンサスノードがコンセンサス時間の順序に従って、トランザクションを配列してコンセンサスを取るステップと、を含み、順位付け不要のトランザクションとは、投票間の前後順序が投票結果に影響を与えないことを言う。しかし、「二重支払」の問題を回避するために、競合投票シーンでは、1人が2人に投票する状況が発生する可能性があり、同一の投票者のトランザクションを順位付けする必要が依然としてあり、この場合、トランザクションのコンセンサス時間を利用して配列し、後で書き込まれた二重支払トランザクションを削除すればよい。順位付けする必要がないため、同一適用シーンのトランザクションの手数料は一般的に厳密に同じであり、コンセンサスノードがトランザクションにタイムスタンプを付けるときにも時間を改ざんする必要がなく、本願のトランザクションシーケンスコンセンサス方法によって形成されたコンセンサス時間は、ネットワーク自身によって生成された時間であり、外部時間源に依存しない。そのため、直接トランザクションのコンセンサスタイムスタンプを用いて順位付けすることもできる。 In one embodiment, a method for unranked transaction consensus, comprising: a transaction input module inputting a rank unranked transaction to a consensus node; a step of synchronous processing after notting and attaching a consensus time stamp to the transaction knot; says that the forward-backward order between votes does not affect the vote outcome. However, in order to avoid the problem of "double spending", a situation where one votes for two may occur in a competitive voting scene, and it is still necessary to rank transactions of the same voter. Yes, in this case, we can order by using the consensus time of the transactions and remove the double-spending transactions that were written later. Because there is no need to rank, transactions in the same application scene generally have exactly the same fees, and there is no need to falsify the time when consensus nodes timestamp transactions, so the transaction sequence consensus of the present application The consensus time formed by the method is the time generated by the network itself and does not depend on external time sources. Therefore, it is also possible to rank using the consensus timestamp of direct transactions.

順位付け不要のトランザクションの適用シーンでは、一般に、開始時間と終了時間を設定しておき、トランザクションのコンセンサスを取った後にコンセンサスネットワークに到着したトランザクションに対して同期及びコンセンサス処理を行わないように、コンセンサスノードに要求してもよいため、開始と終了需要がある順位付け不要のトランザクションの適用シーンについて、コンセンサスノードは、トランザクションに対して同期及びコンセンサス処理を行うか否かを決定するために、開始及び終了時間を比較するオプションを到着トランザクションの検証に追加することができる。 In the application scene of transactions that do not need to be ranked, it is common to set the start time and end time so as not to perform synchronization and consensus processing for transactions that arrive at the consensus network after reaching consensus on the transaction. For the application scene of unranked transactions with start and end demands, the consensus node may request the node to start and An option to compare end times can be added to the validation of incoming transactions.

一実施形態では、コンセンサスノードがコンセンサス処理を誠実に行うように奨励する方法であって、エントリコンセンサスノードが、受信したローカルトランザクションTに対してコンセンサスロープ時間t0を付けるステップと、トランザクションTがコンセンサスロープに書き込まれると、現在のコンセンサスロープ時間t1を取得し、コンセンサスをΔt=t1-t0遅延させるステップと、トランザクションTに近い1グループのコンセンサス済みトランザクションのコンセンサス遅延区間[t]を取得し、Δtと[t]とのある種の関係の特徴値xを判断し、システムがトランザクションTのエントリコンセンサスノードに対するボーナス又はペナルティを決定するステップと、を含みし、ボーナス及びペナルティの程度は、xの値に関する。 In one embodiment, a method of encouraging consensus nodes to conscientiously perform consensus processing, comprising the steps of: an entry consensus node marking a received local transaction T with a consensus slope time t0; , obtain the current consensus slope time t1 and delay the consensus by Δt=t1−t0, obtain the consensus delay interval [t] of a group of consensus-completed transactions close to transaction T, determining a characteristic value x of some relationship with [t] so that the system determines a bonus or penalty for the entry consensus node of transaction T, wherein the degree of bonus and penalty is related to the value of x. .

一実施形態では、コンセンサスノードのマルチレベルアクセス方法であって、コンセンサスノードのロイヤリティ度を向上させ、かつ、コンセンサスネットワークの安全性を向上させることを目的とし、コンセンサスノードがコンセンサスノードのアイデンティティ状態データを維持することを含む。コンセンサスノードのアイデンティティ状態には、シードノード、公式ノード、準備ノード、育成ノードが含まれ、また、ノードは、一時的にパトロールノード及び紹介ノードとなることができる。ここで、シードノードは、一般に、最初にネットワークを構成するのに用いられ、コンセンサスネットワークにおいて長期間安定に動作し、コンセンサスに参加し、ボーナスを取得できる。公式ノードは、コンセンサスに参加し、エントリコンセンサスノードとして使用でき、ボーナスを取得でき、ボーナスがロックされない。シードノードは、特別な公式ノードである。全ての公式ノードは、毎回、システムに一定の費用を納入する必要があり、費用は、コンセンサスネットワークに貢献のある者を奨励するのに使用される。準備ノードは、コンセンサスに参加し、エントリコンセンサスノードとして使用されることができ、ボーナスを取得できるが、ボーナスがロックされ、コンセンサスに誠実に参加した経歴が一定のアイデンティティ変更条件を満たすと、公式ノードにアイデンティティ変更申請を送信して公式ノードに変更されることができ、公式ノードに変更されると、取得したボーナスのロックが解除される。ボーナスがロックされるというのは、ボーナスを取得することができるが、ボーナスを実行することはできないことを言う。育成ノードは、コンセンサスに参加し、エントリコンセンサスノードとして使用されることができ、ボーナスを取得できず、コンセンサスに誠実に参加した経歴が一定のアイデンティティ変更条件を満たすと、公式ノードにアイデンティティ変更申請を送信して準備ノードに変更されることができる。紹介ノードは、シードノード及び公式ノードが紹介ノードとして使用されることができる。ノードがアイデンティティ変更条件を満たすと、予め設定されたルールに従ってアイデンティティ変更申請を複数(一般に6個以上)のノードにランダムに送信し、申請を受信したノードが、アイデンティティ変更を提出したノードがアイデンティティ変更を行う紹介ノードと呼ばれる。紹介ノードがアイデンティティ変更申請を審査し、アイデンティティ変更申請を提出したノード(申請ノードと略称)に審査結果を返信し、申請ノードは、全ての審査結果を集計した後、最終的に審査通過となったか否かを判断し、集計結果を1つのトランザクションとしてネットワーク全体に同期し、トランザクションの実行結果は、状態データにおける申請ノードのアイデンティティを変更するか又は変更しないことである。パトロールノードは、コンセンサスノードが予め設定された条件を満たすと、一回のパトロール権利を取得し、パトロール権利の実行とは、コンセンサスノードが1つ又は複数のコンセンサスノードに1つ又は複数の「パトロールトランザクション」をランダムに入力し、パトロールトランザクショも、同様に、コンセンサス処理によってコンセンサスロープに書き込まれる。パトロールトランザクションを利用して、到着時系列を逆にする行為を破壊し、また、パトロールトランザクションのエントリコンセンサスノードがパトロールトランザクションの要求に従って対応する検証を実行することを目的とする。 In one embodiment, a multi-level access method for a consensus node, for the purpose of improving the loyalty of the consensus node and improving the security of the consensus network, wherein the consensus node accesses the identity state data of the consensus node Including maintaining. The identity states of consensus nodes include seed nodes, official nodes, preparation nodes, breeding nodes, and nodes can temporarily become patrol nodes and referral nodes. Here, seed nodes are generally used to initially configure the network, and can operate stably in the consensus network for a long time, participate in the consensus, and obtain bonuses. Official nodes participate in consensus, can be used as entry consensus nodes, can get bonuses, and bonuses are not locked. A seed node is a special official node. All official nodes are required to commit a certain fee to the system each time, and the fee is used to encourage contributors to the consensus network. Preliminary nodes participate in the consensus, can be used as entry consensus nodes, and can get bonuses, but if the bonuses are locked and the history of participating in the consensus in good faith meets certain identity change conditions, the official nodes You can change to an official node by submitting an identity change application to , and once changed to an official node, the bonuses you have obtained will be unlocked. A locked bonus means that the bonus can be obtained but not executed. If a breeding node participates in consensus and can be used as an entry consensus node, and does not get a bonus and has a history of faithfully participating in consensus and meets certain identity change conditions, it can apply for identity change to the official node. It can be submitted and changed to a ready node. Seed nodes and official nodes can be used as referral nodes. When a node satisfies the identity change conditions, it randomly sends an identity change request to multiple (generally 6 or more) nodes according to a preset rule, and the node that received the request sends the identity change request to the node that submitted the identity change request. is called an referral node that performs The referral node examines the identity change application and returns the examination result to the node that submitted the identity change application (application node for short), and the application node finally passes the examination after totaling all the examination results. and synchronize the aggregate result as one transaction across the network, and the result of executing the transaction is to change or not change the identity of the applying node in the state data. A patrol node acquires a single patrol right when a consensus node satisfies a preset condition, and execution of the patrol right means that the consensus node sends one or more "patrol" to one or more consensus nodes. Transactions” are entered randomly, and patrol transactions are similarly written to the consensus slope by the consensus process. The goal is to use patrol transactions to break the act of reversing the arrival time sequence, and to make the patrol transaction entry consensus node perform corresponding verification according to the patrol transaction's requirements.

本願の一部の実施例は、トランザクションシーケンスコンセンサスシステムに適用される、複数のトランザクション入力モジュール、複数の状態取得モジュール、及びアプリケーションデプロイモジュールを含むコンセンサスアプリケーションプログラムを提供し、アプリケーションデプロイモジュールは、コンセンサスアプリケーションに関連するトランザクションエグゼキュータ及び状態データのコンセンサスノードにおけるデプロイを管理するために用いられる。図19に示すように、トランザクションシーケンスコンセンサスシステム1は、1つのコンセンサスネットワーク及び複数のコンセンサスアプリケーションから構成され、ここで、コンセンサスアプリケーションは、複数のトランザクション入力モジュール、複数の状態取得モジュール、及びアプリケーションデプロイモジュールが組み合わせられて構成され、コンセンサスネットワークは、コンセンサスノードから構成される。アプリケーションデプロイモジュールは、当該アプリケーションの使用可能なノード情報を管理し、当該アプリケーションのデプロイリソースマッチングを処理し、当該アプリケーションをデプロイするか又はデプロイを停止し、使用可能ノード管理サブモジュール、デプロイリソースマッチングサブモジュールを含む。
Some embodiments of the present application provide a consensus application program applied to a transaction sequence consensus system, including a plurality of transaction input modules, a plurality of state acquisition modules, and an application deployment module, wherein the application deployment module comprises a consensus application It is used to manage the deployment of transaction executors and state data associated with the consensus node. As shown in FIG. 19, the transaction sequence consensus system 1 is composed of a consensus network and multiple consensus applications, where the consensus applications include multiple transaction input modules, multiple state acquisition modules, and application deployment modules. are combined, and the consensus network is composed of consensus nodes. The application deployment module manages available node information for the application, processes deployment resource matching for the application, deploys the application or stops deployment, and includes an available node management submodule and a deployment resource matching submodule. Contains modules.

本願は、トランザクションシーケンスコンセンサス方法及びシステムを提供し、コンセンサスネットワークにおける各ノードが外部時間を信頼せず、ネットワーク内の計算及び通信手段のみにより、少数によって操作されない時間メカニズムを形成し、ネットワークに進入された1グループのトランザクションの因果順序について不可逆的の一致性コンセンサスを取り、それにより、各データのコピー状態が一致する変化軌跡を有し、ここで、コンセンサスを取ったトランザクションの因果順序は、トランザクションが実際にネットワークに進入した時系列と同じであるべきである。
The present application provides a transaction sequence consensus method and system, in which each node in the consensus network does not trust the external time, only the calculation and communication means in the network form a time mechanism that is not operated by a minority, and is entered into the network. an irreversible consistency consensus on the causal order of a group of transactions, so that the copy states of each data have a consistent change trajectory, where the causal order of the consensus transactions is the It should be the same as the time series that actually entered the network.

以上の内容は、本願の技術構想を説明するためのものにすぎず、本願の保護範囲を限定するものではなく、本願に提案された技術構想に従って、技術案を基に行われたいずれの変更は、いずれも本願の特許請求の保護範囲に含まれる。 The above content is only for explaining the technical concept of the present application, and does not limit the scope of protection of the present application. are within the scope of protection of the claims of the present application.

Claims (15)

コンセンサス待ちトランザクションと、対応するトランザクション情報と、を取得するステップであって、前記トランザクション情報は、トランザクション番号、トランザクション入力モジュール情報、トランザクションエントリノード情報、トランザクション実行待ち情報及びコンセンサス待ちトランザクションを取得する経路情報を含むステップと、
前記コンセンサス待ちトランザクションを取得する経路情報に基づいて、前記コンセンサス待ちトランザクションを、ローカルトランザクションとノンローカルトランザクションとに区分するステップと、
前記コンセンサス待ちトランザクションを検証、解析、同期するステップと、
コンセンサスノードにおける前記ローカルトランザクションの到着時系列情報を取得し、持続的にノッティングするローカル到着ロープにローカルトランザクションを導入するステップと、
異なるコンセンサスノード間のローカル到着ロープを同期して、同期後の各ノードの到着時系列情報を取得するステップと、
予め設定された復元ルールに従って、前記各ノードの到着時系列情報を分析して、自ノードにおける2つずつのトランザクションの復元時系列及び1グループのトランザクションの連続的な復元時系列情報を取得し、ローカル復元ロープを構築するステップと、
異なるコンセンサスノード間のローカル復元ロープを交換、同期して、同期後の各ノードの復元時系列情報を取得するステップと、
予め設定されたコンセンサスルールに従って自ノードの復元時系列情報に対してコンセンサス処理を行って、コンセンサス時系列情報を取得し、コンセンサス済みトランザクションを含むコンセンサスロープを構築するステップと、
前記コンセンサスロープに対する解析に基づいて、コンセンサスロープにおけるコンセンサス済みトランザクションを取得するステップと、
コンセンサス済みトランザクションに基づいて状態データを更新するステップと、を含む、
ことを特徴とするトランザクションシーケンスコンセンサス方法。
obtaining a consensus-waiting transaction and corresponding transaction information, wherein the transaction information includes a transaction number, transaction input module information, transaction entry node information, transaction execution waiting information, and path information for obtaining the consensus-waiting transaction; a step comprising
dividing the consensus-waiting transaction into a local transaction and a non-local transaction based on path information to obtain the consensus-waiting transaction;
verifying, parsing and synchronizing the consensus-pending transaction;
obtaining the arrival time series information of the local transaction at a consensus node and introducing the local transaction into a persistently knotting local arrival rope;
synchronizing the local arrival ropes between different consensus nodes to obtain the arrival time series information of each node after synchronization;
Analyzing the arrival time-series information of each node according to a preset restoration rule to obtain restoration time-series information of two transactions at the node and continuous restoration time-series information of one group of transactions; building a local restoration rope;
exchanging and synchronizing local restoration ropes between different consensus nodes to obtain restoration time series information of each node after synchronization;
performing consensus processing on the restoration time-series information of its own node according to a preset consensus rule to obtain consensus time-series information and constructing a consensus slope including consensus transactions;
obtaining a consensus transaction on a consensus slope based on the analysis on the consensus slope;
updating state data based on the consensus transaction;
A transaction sequence consensus method, characterized by:
状態データを更新した後に、
コンセンサスノードが、コンセンサスロープの状態変化軌跡に基づいてコンセンサス時間を取得するステップをさらに含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
After updating the state data,
the consensus node obtaining a consensus time based on the state change trajectory of the consensus slope;
The transaction sequence consensus method of claim 1, characterized by:
前記コンセンサス時間の現在時間には、現在時刻値と、前記現在時刻値の検証値とが含まれ、
現在時刻値は、前記コンセンサス時系列情報のうち、現在コンセンサス済みトランザクションの数であり、
前記コンセンサス時間の現在時間を取得してタイムスタンプとする、
ことを特徴とする請求項2に記載のトランザクションシーケンスコンセンサス方法。
the current time of the consensus time includes a current time value and a verification value of the current time value;
The current time value is the number of currently consensus transactions in the consensus time series information ,
Obtaining the current time of the consensus time as a timestamp;
3. The transaction sequence consensus method of claim 2, wherein:
コンセンサス待ちトランザクションと、対応するトランザクション情報と、を取得する前に、
トランザクショントリガ情報を取得するステップと、
コンセンサスネットワークにおけるコンセンサスノード情報を取得するステップと、
前記トランザクショントリガ情報及びコンセンサスノード情報に基づいて、コンセンサス待ちトランザクションのトランザクションエントリノード情報を決定するステップと、をさらに含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
Before obtaining consensus-pending transactions and corresponding transaction information,
obtaining transaction trigger information;
obtaining consensus node information in a consensus network;
determining transaction entry node information for a consensus-waiting transaction based on the transaction trigger information and consensus node information;
The transaction sequence consensus method of claim 1, characterized by:
前記トランザクションエントリノード情報が、予め設定された割当ルールによって前記コンセンサス待ちトランザクションにエントリノードを割り当て、ここで、前記予め設定された割当ルールには、指定、ポーリング、ランダム、近接及び負荷分散が含まれ、
前記トランザクションエントリノード情報に基づいて、前記コンセンサス待ちトランザクションを区分する、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The transaction entry node information assigns entry nodes to the consensus-waiting transaction according to preset allocation rules, wherein the preset allocation rules include designated, polling, random, proximity and load balancing. ,
segmenting the consensus-waiting transaction based on the transaction entry node information;
The transaction sequence consensus method of claim 1, characterized by:
前記コンセンサス待ちトランザクションを検証、解析するステップは、
予め設定された検証項目に基づいて、前記コンセンサス待ちトランザクションを検証して検証結果を取得するステップと、
検証結果が合格である場合、前記コンセンサス待ちトランザクションを検証済みのコンセンサス待ちトランザクションとしてマークするステップと、
予め設定された解析ルールに従って、前記検証済みのコンセンサス待ちトランザクションを解析して、解析結果を取得するステップと、
前記検証済みのコンセンサス待ちトランザクションを解析済みのコンセンサス待ちトランザクションとしてマークするステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The step of verifying and analyzing the consensus-waiting transaction includes:
obtaining a verification result by verifying the consensus-waiting transaction based on preset verification items;
if the verification result is pass, marking the consensus-waiting transaction as a verified consensus-waiting transaction;
analyzing the verified consensus-waiting transaction according to a preset analysis rule to obtain an analysis result;
marking the validated consensus-waiting transaction as a parsed consensus-waiting transaction;
The transaction sequence consensus method of claim 1, characterized by:
コンセンサスノードにおける前記ローカルトランザクションの到着時系列情報を取得し、持続的にノッティングするローカル到着ロープに前記ローカルトランザクションを導入し、異なるコンセンサスノード間のローカル到着ロープを同期するステップは、
コンセンサスノードのローカル到着ロープを初期化するステップと、
結び目番号、導入結び目データ及び検証項目を含む結び目を持続的に作成して前記ローカル到着ロープを延長するステップと、
前記コンセンサスノードがローカルトランザクションを受信すると、前記ローカルトランザクションを前記ローカル到着ロープの現在の結び目に導入するステップと、
予め設定されたローカル到着ロープの同期トリガ条件を満たすと、前記ローカル到着ロープにおける同期されていない部分を自ノード以外のコンセンサスノードに同期するステップと、
予め設定された到着ルールに従ってノンローカル到着ロープを受信、検証、同期するステップと、
前記ローカル到着ロープ及び前記ノンローカル到着ロープを解析して、同期後の各ノードの到着時系列情報を取得するステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
obtaining the arrival time series information of the local transaction at a consensus node, introducing the local transaction into a persistently knotted local arrival rope, and synchronizing the local arrival rope between different consensus nodes;
initializing a local arrival rope of a consensus node;
persistently creating a knot including a knot number, an introduction knot data and a verification item to extend the local arrival rope;
when the consensus node receives a local transaction, introducing the local transaction into the current knot of the local arrival rope;
synchronizing an unsynchronized portion of the local arrival rope to a consensus node other than the self node when a preset local arrival rope synchronization trigger condition is satisfied;
receiving, validating and synchronizing non-local arrival ropes according to preset arrival rules;
analyzing the local arrival rope and the non-local arrival rope to obtain arrival time series information of each node after synchronization;
The transaction sequence consensus method of claim 1, characterized by:
N個の実行待ちのノッター及びスケジューラに適用される結び目を持続的に作成して前記ローカル到着ロープを延長するステップは、
空っているノッターを非同期的に順次呼び出して、ノッティング操作を行うステップと、
結び目番号を生成し、前時系列結び目及び導入待ちトランザクションを決定して、導入結び目を作成するステップと、を含む、
ことを特徴とする請求項に記載のトランザクションシーケンスコンセンサス方法。
persistently creating knots applied to N pending notters and a scheduler to extend the local arrival rope;
asynchronously sequentially calling available knotters to perform a knotting operation;
generating a knot number, determining a previous timeline knot and pending transactions to create an introductory knot;
The transaction sequence consensus method of claim 7 , characterized by:
N個の実行待ちノッターに適用される、結び目を持続的に作成してローカル到着ロープを延長するステップにおいて、N個のノッターのそれぞれが、唯一の番号を有し、持続的に1つのミューテックスを競争し、前記ミューテックスが、結び目番号を生成するための整数変数aと、最近の競争でミューテックスを得たノッターの番号を記録するための変数bとを所持しているステップは、
ノッターが競争でミューテックスを得た後、ミューテックスが所持している整数変数aに1を加算して現在の結び目番号を生成する前記ステップと、
ミューテックスの変数bを読み取って競争でミューテックスを得た直前のノッターの番号を取得するステップと、
変数bを自ノッターの番号に設定して、導入待ち結び目のトランザクションがあるか否かを判断するステップと、
導入待ち結び目のトランザクションがある場合、前記ローカル到着ロープにトランザクション結び目をノッティングするステップと、
導入待ち結び目のトランザクションがない場合、ミューテックスを直ちに解放して空の結び目をノッティングするステップと、を含み、
前記トランザクション結び目は、自ノッターの番号と、競争でミューテックスを得た直前のノッターの番号とを含み、前記空の結び目は、トランザクションが導入されていない作成済みの結び目である、
ことを特徴とする請求項に記載のトランザクションシーケンスコンセンサス方法。
In the step of persistently creating knots and extending local arrival ropes applied to the N pending knotters, each of the N knotters has a unique number and persistently holds one mutex. competing and said mutex possessing an integer variable a for generating a knot number and a variable b for recording the number of the knotter who obtained the mutex in the most recent competition;
adding 1 to an integer variable a held by the mutex to generate a current knot number after the knotter has obtained the mutex in the competition;
reading the variable b of the mutex to obtain the number of the last notter who obtained the mutex in competition;
setting the variable b to the number of the own knotter and determining whether or not there is a knot transaction waiting to be introduced;
knotting a transaction knot on the local arrival rope if there is a transaction on the introduction pending knot;
immediately releasing the mutex and notting the empty knot if there are no transactions in the knot waiting to be introduced;
The transaction knot contains the own knot number and the number of the previous notter that obtained the mutex in competition, and the empty knot is a created knot with no transaction introduced.
The transaction sequence consensus method of claim 7 , characterized by:
前記ローカル到着ロープのノッティングは、
ローカル到着ロープから現在の結び目を含むロープセグメントを取得するステップと、
前記現在の結び目が含まれているロープセグメントにおける結び目の総数に対する前記現在の結び目が含まれているロープセグメントにおけるトランザクション結び目の数の比率を統計するステップと、
前記比率が予め設定された閾値を超える場合、ローカル到着ロープのノッターを増加させるステップと、
前記比率が予め設定された閾値よりも低い場合、ローカル到着ロープのノッターを減少させるステップと、を含む、
ことを特徴とする請求項又はに記載のトランザクションシーケンスコンセンサス方法。
The knotting of the local arrival rope is
obtaining a rope segment containing the current knot from the local arrival rope;
statisticizing the ratio of the number of transaction knots in the rope segment in which the current knot is included to the total number of knots in the rope segment in which the current knot is included;
increasing the knotter of the local arrival rope if said ratio exceeds a preset threshold;
reducing the knotter of the local arrival rope if the ratio is below a preset threshold;
The transaction sequence consensus method according to claim 8 or 9 , characterized by:
異なるコンセンサスノード間のローカル到着ロープを同期する前に、
前記ローカル到着ロープに対してセグメント化処理を行って、到着ロープセグメントを取得するステップと、
予め設定された圧縮ルールに従って、前記到着ロープセグメントに対して圧縮処理を行うステップと、を含み、
前記圧縮処理において、前記到着ロープセグメントにおけるトランザクション結び目を保留し、前記到着ロープセグメントの非マーク用の空の結び目を削除する、
ことを特徴とする請求項に記載のトランザクションシーケンスコンセンサス方法。
Before synchronizing the local arrival ropes between different consensus nodes,
performing a segmentation process on the local arrival rope to obtain arrival rope segments;
performing a compression process on the arriving rope segment according to preset compression rules;
suspending transaction knots in the arrival rope segment and deleting empty knots for non-marking of the arrival rope segment in the compression process;
The transaction sequence consensus method of claim 7 , characterized by:
2つずつのトランザクションの復元時系列及び1グループのトランザクションの連続的な復元時系列情報を取得するステップは、
前記到着時系列情報のうち関連するトランザクション情報を取得するステップと、
前記到着時系列情報のうち関連するトランザクションから2つのトランザクションを選択するステップと、
前記2つのトランザクションの復元時系列を判断し、前記2つのトランザクションの復元時系列情報と、前記2つのトランザクションの復元時系列情報に対する信頼度とを出力するステップと、
前記到着時系列情報から1グループのトランザクションが連続する復元時系列を取得するまで繰り返すステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The step of obtaining restoration time series of two transactions and continuous restoration time series information of a group of transactions,
obtaining relevant transaction information among the arrival time series information;
selecting two transactions from related transactions in the arrival time series information;
determining the restoration time series of the two transactions, and outputting the restoration time series information of the two transactions and the reliability of the restoration time series information of the two transactions;
repeating until a group of transactions obtains a consecutive recovery time series from the arrival time series information;
The transaction sequence consensus method of claim 1, characterized by:
異なるコンセンサスノード間でローカル復元ロープを交換するステップは、
コンセンサスノード情報を取得し、到着ロープ、復元ロープ及びコンセンサスロープを取得して初期値とするステップと、
前記初期値に基づいて乱数を生成するステップと、
コンセンサスノード情報及び前記乱数に基づいて、復元時系列情報を交換するノード組合せを生成するステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The step of exchanging local restoration ropes between different consensus nodes is
obtaining consensus node information, obtaining an arrival rope, a restoration rope and a consensus slope as initial values;
generating a random number based on said initial value;
generating a node combination that exchanges restored time series information based on the consensus node information and the random number;
The transaction sequence consensus method of claim 1, characterized by:
予め設定されたコンセンサスルールに従って自ノードの復元時系列情報に対してコンセンサス処理を行って、コンセンサス時系列情報を取得し、コンセンサスロープを構築するステップは、
自ノード復元ロープにおけるコンセンサスが取られずかつ安定している復元ロープセグメントを取得するステップと、
他のN個のコンセンサスノードの対応するコンセンサスが取られずかつ安定している復元ロープセグメントを受信するステップと、
取得した到着時系列情報及び復元時系列情報に基づいてノンローカル復元ロープをチェックするステップと、
受信したコンセンサスが取られずかつ安定している復元ロープセグメントを、自ノードに対応するコンセンサスが取られかつ安定している復元ロープセグメントと比較し、異なるロープセグメントにおいて同じ部分が3分の2超である時系列関係を保留するステップと、
同じ時系列関係を取得するまで、コンセンサスが取られずかつ安定している複数の復元ロープセグメントと繰り返して比較して、コンセンサス時系列情報を取得し、コンセンサスロープを構築するステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The step of performing consensus processing on the restoration time-series information of the own node according to a preset consensus rule, acquiring consensus time-series information, and constructing a consensus slope,
obtaining a non-consensus and stable restored rope segment in the self-node restored rope;
receiving the corresponding unconsensus and stable restored rope segment of the other N consensus nodes;
checking the non-local restoration rope based on the obtained arrival time series information and restoration time series information;
Comparing the received non-consensual and stable restored rope segment with the consensus and stable restored rope segment corresponding to the own node and finding that more than two-thirds of the same portion is the same in different rope segments. suspending a time series relationship;
obtaining consensus time series information and building a consensus slope by repeatedly comparing multiple non-consensus and stable restored rope segments until obtaining the same time series relationship;
The transaction sequence consensus method of claim 1, characterized by:
コンセンサス済みトランザクションに基づいて状態データを更新するステップは、
コンセンサス時系列情報に基づいてコンセンサスロープにおけるコンセンサス済みトランザクションを解析するステップと、
前記コンセンサス済みトランザクションに基づいて、トランザクション実行キューを作成するステップと、
前記コンセンサス済みトランザクションを前記トランザクション実行キューに書き込むステップと、
キュー処理ルールに従って、前記コンセンサス済みトランザクション実行キューにおけるトランザクションをエグゼキュータで処理するステップと、を含む、
ことを特徴とする請求項1に記載のトランザクションシーケンスコンセンサス方法。
The step of updating state data based on the consensus transaction includes:
analyzing the consensus transactions on the consensus slope based on the consensus time series information;
creating a transaction execution queue based on the consensus transaction;
writing the consensus transaction to the transaction execution queue;
and processing transactions in the consensus transaction execution queue with an executor according to queue processing rules.
The transaction sequence consensus method of claim 1, characterized by:
JP2022021394A 2021-04-16 2022-02-15 Transaction sequence consensus method and system Active JP7288264B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110414298.0 2021-04-16
CN202110414298.0A CN113157805B (en) 2021-04-16 2021-04-16 Transaction sequencing consensus method and system

Publications (2)

Publication Number Publication Date
JP2022164563A JP2022164563A (en) 2022-10-27
JP7288264B2 true JP7288264B2 (en) 2023-06-07

Family

ID=76868498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022021394A Active JP7288264B2 (en) 2021-04-16 2022-02-15 Transaction sequence consensus method and system

Country Status (2)

Country Link
JP (1) JP7288264B2 (en)
CN (1) CN113157805B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761006A (en) * 2021-09-10 2021-12-07 南京星邺汇捷网络科技有限公司 Event time sequence guaranteeing method based on multiple queues
CN114422086A (en) * 2022-01-25 2022-04-29 南京航空航天大学 Unmanned aerial vehicle ad hoc network self-adaptive MAC protocol method based on flow prediction and consensus algorithm
CN115665164A (en) * 2022-09-30 2023-01-31 蚂蚁区块链科技(上海)有限公司 Transaction processing method and device in blockchain system and blockchain system
CN115604354B (en) * 2022-12-09 2023-03-28 北京百度网讯科技有限公司 Transaction processing method, device and equipment based on block chain and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020504920A (en) 2018-11-07 2020-02-13 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Managing private transactions on a blockchain network based on workflow
WO2021052769A1 (en) 2019-09-17 2021-03-25 International Business Machines Corporation Off-chain notification of updates from a private blockchain

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
CN109218348B (en) * 2017-06-29 2020-12-01 华为技术有限公司 Method for determining blocks in block chain and node equipment
CN107579848B (en) * 2017-08-30 2020-08-25 上海保险交易所股份有限公司 Method for dynamically changing consensus node in practical Byzantine fault-tolerant consensus mechanism
US20190095879A1 (en) * 2017-09-26 2019-03-28 Cornell University Blockchain payment channels with trusted execution environments
US20190238316A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment
CN108717630B (en) * 2018-05-19 2020-12-22 上海分布信息科技有限公司 Block output method and implementation system thereof
CN109241362B (en) * 2018-09-18 2020-12-01 百度在线网络技术(北京)有限公司 Block generation method, device, equipment and storage medium
WO2020113545A1 (en) * 2018-12-07 2020-06-11 北京大学深圳研究生院 Method for generating and managing multimodal identified network on the basis of consortium blockchain voting consensus algorithm
US20200394183A1 (en) * 2019-06-12 2020-12-17 Subramanya R. Jois System and method of executing, confirming and storing a transaction in a serverless decentralized node network
CN110266655B (en) * 2019-05-30 2021-11-12 中国工商银行股份有限公司 Cross-chain interconnection method, device and system based on block chain
FR3098972B1 (en) * 2019-07-15 2022-06-10 Dupont Sebastien Method of atomic validation of chains of messages through a decentralized network
CN114401150B (en) * 2019-09-05 2023-10-20 创新先进技术有限公司 Method for adding node in blockchain network and blockchain system
CN110659907B (en) * 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 Method and device for executing intelligent contracts
CN111736963B (en) * 2020-06-08 2022-10-11 中国科学院计算技术研究所 Transaction processing system and method for backbone-free multi-partition block chain
CN111723406B (en) * 2020-06-08 2023-04-28 上海朝夕网络技术有限公司 Block chain consensus algorithm and system
CN112541758A (en) * 2020-12-01 2021-03-23 鲁静 Multi-round voting type fault-tolerant sequencing consensus mechanism and method based on block chain
CN112507393B (en) * 2020-12-10 2024-01-30 浙商银行股份有限公司 Method for guaranteeing consistency of block chain cross-chain transaction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020504920A (en) 2018-11-07 2020-02-13 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Managing private transactions on a blockchain network based on workflow
WO2021052769A1 (en) 2019-09-17 2021-03-25 International Business Machines Corporation Off-chain notification of updates from a private blockchain

Also Published As

Publication number Publication date
CN113157805A (en) 2021-07-23
JP2022164563A (en) 2022-10-27
CN113157805B (en) 2024-05-03

Similar Documents

Publication Publication Date Title
JP7288264B2 (en) Transaction sequence consensus method and system
Yakovenko Solana: A new architecture for a high performance blockchain v0. 8.13
CN109885264B (en) Logic slicing method and system for block chain link points
US20190354518A1 (en) Chain mesh network for decentralized transaction systems
Carrara et al. Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking
CN111382456B (en) Proposal message processing method, device, equipment and storage medium
CN112104482B (en) Consensus method based on parallel voting
Müller et al. Tangle 2.0 leaderless nakamoto consensus on the heaviest dag
US11100086B2 (en) Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system
Yadav et al. A comparative study on consensus mechanism with security threats and future scopes: Blockchain
US20230017790A1 (en) Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof
Gupta et al. Reliable transactions in serverless-edge architecture
JP2022553701A (en) Decentralized network with consensus mechanism
Wels Guaranteed-TX: The exploration of a guaranteed cross-shard transaction execution protocol for Ethereum 2.0.
KR102396433B1 (en) Blockchain network and method for preprocessing by using an agent in a blockchain network
Huang et al. Design and analysis of a distributed consensus protocol for real-time blockchain systems
Bhat et al. Apollo-Optimistically Linear and Responsive SMR.
Yin Scaling the Infrastructure of Practical Blockchain Systems
Ramseyer et al. Fair ordering via social choice theory
Conchon et al. Formally documenting tenderbake
Zhang et al. UCC: universal and committee-based cross-chain framework
Oh et al. Graph learning BFT: A design of consensus system for distributed ledgers
An et al. Research on Byzantine Fault Tolerant algorithm based on Node Weights
Sniatala et al. Decentralization of Data-source Using Blockchain-Based Brooks–Iyengar Fusion
KR102447289B1 (en) Peer terminal and method for processing a block data at a peer terminal

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230517

R150 Certificate of patent or registration of utility model

Ref document number: 7288264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150