DE112018005348T5 - Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain - Google Patents

Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain Download PDF

Info

Publication number
DE112018005348T5
DE112018005348T5 DE112018005348.2T DE112018005348T DE112018005348T5 DE 112018005348 T5 DE112018005348 T5 DE 112018005348T5 DE 112018005348 T DE112018005348 T DE 112018005348T DE 112018005348 T5 DE112018005348 T5 DE 112018005348T5
Authority
DE
Germany
Prior art keywords
key
blockchain
transaction
newly proposed
value pair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112018005348.2T
Other languages
English (en)
Inventor
Nitin Guar
Konstantinos Christidis
Yun Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018005348T5 publication Critical patent/DE112018005348T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Ein beispielhafter Vorgang kann ein Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain, ein Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll, ein Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares, ein Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, und/oder ein Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain aufweisen, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.

Description

  • Technisches Gebiet
  • Diese Erfindung betrifft im Allgemeinen eine Transaktionsverwaltung auf einer Blockchain und im Besonderen eine Optimierung der Durchführung einer hohen Anzahl von Transaktionen auf einer Blockchain.
  • Hintergrund
  • Eine Blockchain kann als öffentliches Register (public ledger) zum Speichern jedes beliebigen Typs von Informationen verwendet werden. Obwohl eine Blockchain in erster Linie für Finanztransaktionen verwendet wird, kann sie jeden beliebigen Typ von Informationen speichern, die Assets enthalten (d.h. Produkte, Pakete, Dienstleistungen, Status usw.). Ein dezentralisiertes Schema überträgt Berechtigungen und Vertrauensbeziehungen auf ein dezentralisiertes Netzwerk und ermöglicht es seinen Knoten, ihre Transaktionen kontinuierlich und sequenziell in einem öffentlichen „Block“ aufzuzeichnen, wodurch eine einzigartige „Kette“ (chain) entsteht, die als Blockchain bezeichnet wird. Es wird eine Kryptografie mittels Hash-Codes verwendet, um den Identitätsnachweis einer Transaktionsquelle abzusichern, und dies beseitigt einen zentralen Vermittler.
  • In vielen Anwendungsfällen erfordert die hohe Anzahl von zeitkritischen Transaktionen wie zum Beispiel der Handel von Wertpapieren und Aktien eine optimale Zeitsteuerung. Damit eine Blockchain eine hohe Anzahl von Transaktionen angehen kann, benötigt eine Blockchain-Netzwerkinfrastruktur Komponenten, um nicht nur die zeitliche Anordnung der Transaktionen sicherzustellen, sondern auch um ein Verarbeiten von Transaktionen mit Geschwindigkeit und einem fälschungssicheren Herkunftsnachweis sicherzustellen, was für bestimmte Entitäten wie zum Beispiel Clearinghäuser und andere, die derartige Funktionen durchführen, eine Komponente ist. Im Allgemeinen sollten Blockchain-bezogene Transaktionen ordnungsgemäß angeordnet und ohne Verzögerung festgeschrieben werden.
  • Kurzdarstellung
  • Eine Ausführungsform der Erfindung kann ein Verfahren bereitstellen, das ein Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain, ein Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll, ein Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares, ein Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, und/oder ein Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain umfasst, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  • Eine andere Ausführungsform der Erfindung umfasst eine Vorrichtung, die einen Prozessor enthält, der konfiguriert ist zum Durchführen eines Identifizierens einer neu vorgeschlagenen Transaktion einer Blockchain, eines Initiierens eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll, eines Abrufens eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares, eines Vergleichens eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, und/oder eines Bereitstellens eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  • Noch eine andere Ausführungsform der Erfindung umfasst ein nichtflüchtiges, durch einen Computer lesbares Speichermedium, das zum Speichern von Anweisungen konfiguriert ist, die bei ihrer Ausführung einen Prozessor veranlassen zum Durchführen eines Identifizierens einer neu vorgeschlagenen Transaktion einer Blockchain, eines Initiierens eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll, eines Abrufens eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares, eines Vergleichens eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, und/oder eines Bereitstellens eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  • Figurenliste
    • 1A veranschaulicht ein Logikschaubild eines Verarbeitens von Konsensentscheidungen mittels eines Konsensdienstmoduls, das die Erfindung verkörpert.
    • 1B veranschaulicht einen beispielhaften Vorgang zum Komprimieren eines Registers, der die Erfindung verkörpert.
    • 2 veranschaulicht eine beispielhafte Blockchain-Konfiguration zum Durchführen einer Blockchain-Konsens-Verwaltung, welche die Erfindung verkörpert.
    • 3 veranschaulicht ein Schaubild zur Systemnachrichtenübermittlung zum Verarbeiten einer Konsensverarbeitung von Transaktionen, das die Erfindung verkörpert.
    • 4A veranschaulicht einen Ablaufplan eines Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen, das die Erfindung verkörpert.
    • 4B veranschaulicht einen anderen Ablaufplan eines Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen, das die Erfindung verkörpert.
    • 4C veranschaulicht einen Logik-Ablaufplan eines Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen, das die Erfindung verkörpert.
    • 5 veranschaulicht ein Computersystem/einen Server, das/der so konfiguriert ist, dass es/er eine oder mehrere Ausführungsformen der Erfindung unterstützt.
  • Ausführliche Beschreibung
  • Man wird ohne Weiteres verstehen, dass die vorliegenden Komponenten, wie hierin allgemein beschrieben und in den Figuren veranschaulicht, in einer großen Vielfalt unterschiedlicher Konfigurationen angeordnet und ausgeführt werden können. Folglich soll die folgende ausführlichere Beschreibung des Verfahrens, der Vorrichtung, des nichtflüchtigen durch einen Computer lesbaren Mediums und des Systems wie in den beigefügten Figuren dargestellt den beanspruchten Umfang der Erfindung nicht einschränken, sondern sie steht lediglich stellvertretend für ausgewählte Ausführungsformen der Erfindung.
  • Die vorliegenden, in dieser Beschreibung beschriebenen Merkmale, Strukturen bzw. Eigenschaften können in einer oder mehreren Ausführungsformen der Erfindung in jeder beliebigen geeigneten Art kombiniert werden. Zum Beispiel verweist die Verwendung der Formulierungen „beispielhafte Ausführungsformen“, „einige Ausführungsformen“ oder einer anderen ähnlichen Ausdrucksweise in dieser Beschreibung auf die Tatsache, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben werden, in mindestens einer Ausführungsform enthalten sein können. Somit verweist nicht jedes Auftreten der Formulierungen „beispielhafte Ausführungsformen“, „in einigen Ausführungsformen“, „in anderen Ausführungsformen“ oder einer anderen ähnlichen Ausdrucksweise in dieser Beschreibung unbedingt auf dieselbe Gruppe von Ausführungsformen der Erfindung, und die beschriebenen Merkmale, Strukturen bzw. Eigenschaften können in einer oder mehreren Ausführungsformen in jeder beliebigen geeigneten Art kombiniert werden.
  • Obwohl möglicherweise der Begriff „Nachricht“ in der Beschreibung von Ausführungsformen der Erfindung verwendet wurde, kann die Erfindung jedoch zusätzlich auf viele Typen von Netzwerkdaten wie zum Beispiel Pakete, Datenblöcke, Datagramme usw., angewendet werden. Der Begriff „Nachricht“ umfasst auch Pakete, Datenblöcke, Datagramme und jegliche Entsprechungen dieser. Obwohl darüber hinaus bestimmte Typen von Nachrichten und Signalisierung in beispielhaften Ausführungsformen der Erfindung dargestellt sein können, sind diese jedoch nicht auf einen bestimmten Nachrichtentyp beschränkt, und die Anwendung ist nicht auf einen bestimmten Typ von Signalisierung beschränkt.
  • Die vorliegende Anwendung bezieht sich in einer Ausführungsform der Erfindung auf eine Transaktionsverwaltung auf einer Blockchain und bezieht sich in einer anderen Ausführungsform der Erfindung auf ein Anordnen von Transaktionen und ein Optimieren einer hohen Anzahl von Transaktionen für eine optimale Durchführung auf einer Blockchain.
  • Gemäß beispielhaften Ausführungsformen der Erfindung kann eine Anwendung auf einer Blockchain-Datenverarbeitungssystem-Plattform ausgeführt werden, die durch mehrere Gültigkeitsprüfprogramme (validators) unter Verwendung eines Konsens-/Gültigkeitsprüfungsmechanismus gepflegt wird. In einem Beispiel kann jeder Block bzw. jede Transaktion einer Blockchain ein Schlüssel-Wert-Paar oder eine feste Anzahl von Schlüssel-Wert-Paaren enthalten. Für beispielhafte Zwecke können die Begriffe Block und Transaktion austauschbar verwendet werden. Obwohl Blockchain-Blöcke mehrere Blockchain-Transaktionen umfassen können, kann in beiden Beispielen eine Konsensentscheidung erforderlich sein, bevor eine Blockchain-Festschreibung erfolgt. Die Konsensverwaltungsanwendung kann auch ein Pflegen von Informationen in Schlüssel-Wert-Paaren durchführen, und Schlüssel können eine monotone und zusammenhängende Sequenz bilden. Schlüssel können als Index für Abfragen verwendet werden, die Konsens-/Gültigkeitsprüfungsvorgehensweise kann eine(n) kürzlich gewonnene(n) Block/Transaktion erzwingen und ob diese(r) Block/Transaktion als gültig betrachtet wird, je nachdem, ob er den nächsten Schlüssel in einer festgelegten Schlüsselsequenz mitführt. Sobald ein Block/eine Transaktion angehängt wird, darf der Wert, der dessen/deren Schlüssel entspricht, bei einem zukünftigen Block/einer zukünftigen Transaktion nicht überschrieben werden, wodurch ein schneller Blockabruf ermöglicht wird.
  • Verdichtung/Idempotenz von Protokollen/Registern/Blockchains ist eine Konfiguration und/oder eine Vorgehensweise zum Sichern einer gewünschten Reihenfolge von Registerdaten mit Gewissheit und zum Sicherstellen einer optimalen Durchführung des Anordnens, was aufgrund einer Abhängigkeit zu einer Leistungsfähigkeit beim Verarbeiten von Transaktionen führt, um Anforderungen der Marktinfrastruktur gerecht zu werden und einen fälschungssicheren Herkunftsnachweis bereitzustellen. Konsens ist eine Möglichkeit zur Gültigkeitsprüfung einer Reihenfolge von Netzwerkanforderungen oder -transaktionen. Die ordnungsgemäße Reihenfolge von Transaktionen ist von entscheidender Bedeutung, da viele Typen von Netzwerktransaktionen eine Abhängigkeit von einer oder mehreren vorherigen Transaktionen aufweisen (z.B. weisen Kontobelastungen häufig eine Abhängigkeit von vorherigen Gutschriften auf). In einem Blockchain-Netzwerk gibt es keine einzelne berechtigte Instanz, welche die Transaktionsreihenfolge festlegt, sondern stattdessen hat jeder Blockchain-Knoten (Peer) durch Umsetzen eines Netzwerkkonsensprotokolls ein Mitspracherecht beim Festlegen der Transaktionsreihenfolge. Der Konsens stellt folglich sicher, dass sich eine Mindestanzahl von Knoten über die Reihenfolge, in der Transaktionen an das gemeinsame Register angehängt werden, einig ist. Durch Beseitigen jeglicher Unstimmigkeiten in der vorgeschlagenen Transaktionsreihenfolge sorgt der Konsens dafür, dass alle Netzwerkknoten auf einer identischen Blockchain arbeiten. Anders ausgedrückt, der Konsens garantiert die Integrität und Konsistenz von Transaktionen in Blockchain-Netzwerken.
  • Eine Vorgehensweise zur Konsens-/Gültigkeitsprüfungskonfiguration kann eine Protokollkomprimierung bereitstellen, bei der ein erster Wert jedes Schlüssels beibehalten wird. Dieser Ansatz kann für ein schnelles Abrufen sorgen, da eine zusammenhängende Sequenz auch eine vorhersehbare Sequenz ist, die auch schnell verarbeitet und abgerufen werden kann. Dieser Konsensmechanismus erzwingt zusammenhängende Sequenzen und ermöglicht es daher einem abfragenden Knotenpunkt, einen Wert eines Schlüssels auf effiziente und einfache Weise zu identifizieren. Dieser Ansatz unterstützt auch neu angeschlossene Blockchain-Knoten dabei, schneller auf Abfragen zu reagieren. Zum Beispiel ist es nicht notwendig, die gesamte Kette von Blöcken syntaktisch zu analysieren, um eine bestimmte Transaktion ausfindig zu machen, wenn Schlüsselwerte bekannt sind.
  • 1A veranschaulicht ein Logikschaubild eines Verarbeitens von Konsensentscheidungen mittels eines Konsensdienstmoduls gemäß beispielhaften Ausführungsformen. Unter Bezugnahme auf 1A enthält die Konfiguration 100 eine Blockchain-Konfiguration 110, die so konfiguriert ist, dass sie Transaktionen und/oder neue Blöcke auf der Grundlage eines Konsenses von Peer-Knoten 130 empfängt und speichert. Im Betrieb kann es sich bei einem Konsensdienst 120 um ein Software-Modul handeln, das so konfiguriert ist, dass es Transaktionen 116, 118 und/oder 122 empfängt und ermittelt, ob die Transaktionen in das Register aufgenommen werden können. In diesem Beispiel speichert die Blockchain 110 Transaktionen 112 und 114, die bereits mittels Konsens der Peers 130 in die Blockchain aufgenommen wurden. Wenn neue Transaktionen empfangen werden, werden die Schlüssel-Wert-Paare „KVP“ (key-value pairs) durch das Konsensdienstmodul 120 identifiziert, um eine zusammenhängende Abfolge zu bestimmen, wie zum Beispiel direkt nacheinander, 1, 2, 3 usw. Für den Fall, dass die nächste Transaktion keine zusammenhängend aufeinanderfolgende numerische Kennung trägt, kann die Transaktion als ungültig angesehen und abgelehnt werden. Zum Beispiel hat die Transaktion 118 einen KVP-Wert von 5 und wird nach 116 verarbeitet, so dass die nächste Kennung „4“ und nicht „5“ wäre. Daher wird diese Transaktion als ungültig erkannt und abgelehnt. Die Transaktion danach, 122, hat das korrekte KVP-4, das sich aus KVP-3 ergibt, und wird somit akzeptiert und festgeschrieben.
  • 1B veranschaulicht ein Registerkomprimierungsbeispiel, das die Erfindung verkörpert. Unter Bezugnahme auf 1B kann eine Register-Komprimierungsvorgehensweise 150 ein reguläres Register 152 mit 11 Einträgen 0 bis 10 enthalten. Jeder Eintrag weist einen Schlüssel (K1 bis K6), eine numerischen Kennung, wie zum Beispiel einen Zähler, einen Zeitwert usw., und einen Wert auf, der diesem Eintrag zugehörig ist, wodurch ein Schlüssel-Wert-Paar K/V erstellt wird. Wie aus dem ursprünglichen, nicht komprimierten Register 152 zu ersehen ist, werden die Schlüssel mehr als einmal verwendet, und jeder beliebige Verweis auf einen bestimmten Schlüsselwert wie zum Beispiel K1 weist mehrere Werte auf, die seiner Verwendung zugehörig sind. Angenommen jedoch, dass lediglich die erste Instanz des Schlüssels relevant ist und die monotone Sequenz von zusammenhängenden Schlüsselwerten von der Verdichtungsvorgehensweise benötigt wird, so führt der neu angeordnete Satz von zusammenhängenden Schlüsselwerten K1 bis K6 zu einem komprimierten Register 154, das dann als korrekt angesehen wird. Dies stellt die Möglichkeit zum schnellen Abrufen von zusammenhängenden Einträgen bereit.
  • Der vorgeschlagene Protokollkomprimierungsmechanismus bietet Lese-Idempotenz, so dass immer das gleiche Protokoll-Präfix herausgegeben wird. Unter Bezugnahme auf 1B ist bei einem herkömmlichen Protokollkomprimierungsmechanismus das Protokoll-Präfix K1, wenn nur zwei Einträge zu dem Register hinzugefügt werden, aber es wird zu K2, wenn der dritte Eintrag (K1/V3) hinzugefügt wird. Der Protokollkomprimierungsmechanismus gibt zu jeder Zeit K1 als Präfix heraus.
  • 2 veranschaulicht eine beispielhafte Blockchain-Konfiguration zum Durchführen von Transaktionszeitplanung und Konsensverwaltung gemäß einer Ausführungsform der Erfindung. Unter Bezugnahme auf 2 kann das Blockchain-System 200 bestimmte gemeinsame Blockchain-Elemente enthalten, wie zum Beispiel eine Gruppe von Blockchain-Knoten 280, denen Peer-Blockchain-Knoten ,Peer-Knoten‘ 282 bis 285 zugewiesen sein können, die an dem Prozess des Hinzufügens und Prüfens der Gültigkeit von Blockchain-Transaktionen (Konsens) teilnehmen. Jeder beliebige der Blockchain-Peer-Knoten 280 kann neue Transaktionen initiieren und versuchen, in das unveränderliche Blockchain-Register 272 zu schreiben, von dem eine Kopie auf der unterstützenden physischen Infrastruktur 271 der Blockchain 270 gespeichert ist. In dieser Konfiguration kann die maßgeschneiderte Blockchain-Konfiguration eine oder Anwendungen 277 enthalten, die mit APIs 276 verknüpft sind, um auf einen gespeicherten Programm-/Anwendungscode (z.B. Chain-Code und/oder Smart Contracts) 275 zuzugreifen und diesen auszuführen, der gemäß der von den Teilnehmern gewünschten maßgeschneiderten Konfiguration erstellt wird und seinen eigenen Zustand pflegen, seine eigenen Assets steuern und externe Informationen empfangen kann. Dieser Code kann als Transaktion bereitgestellt und mittels Anhängen an das verteilte Register auf allen Blockchain-Peer-Knoten installiert werden.
  • Wie hierin beschrieben, handelt es sich bei einem Smart Contract um einen ausführbaren Code, der in einer Blockchain registriert, darauf gespeichert und durch diese vervielfältigt wird (z.B. ein verteiltes Netzwerk von Blockchain-Peers). Bei einer Transaktion handelt es sich um ein Ausführen des Smart Contract Codes, der als Reaktion darauf, dass dem Smart-Contract zugehörige Bedingungen erfüllt sind, durchgeführt werden kann. Das Ausführen des Smart Contract kann eine vertrauenswürdige Abänderung eines Zustands eines digitalen Blockchain-Registers auslösen. Die durch das Ausführen des Smart Contract verursachte Abänderung des Blockchain-Registers kann über ein oder mehrere Konsensprotokolle automatisch in dem gesamten verteilten Netzwerk von Blockchain-Peers vervielfältigt werden.
  • Die Blockchain-Plattform 270 umfasst die verschiedenen Schichten von Blockchain-Daten, Dienste (z.B. kryptografische Vertrauensdienste, virtuelle Ausführungsumgebung) und eine unterstützende physische Computerinfrastruktur, die erforderlich ist, um neue Transaktionen zu empfangen und zu speichern und Prüfern, die versuchen, auf Dateneinträge zuzugreifen, einen Zugriff bereitzustellen. Die Blockchain-Schicht 272 legt eine Schnittstelle frei, die einen Zugriff auf die virtuelle Ausführungsumgebung bereitstellt, der zum Verarbeiten des Programmcodes und zum Einbinden der physischen Plattform 271 erforderlich ist. Kryptografische Vertrauensdienste 273 werden zum Überprüfen von Transaktionen und zum Pflegen von privaten Informationen verwendet.
  • Die Blockchain-Konfiguration aus 2 kann einen Programm-/Anwendungscode 275 über die freigelegten Schnittstellen und die durch die Blockchain-Plattform 270 bereitgestellten Dienste verarbeiten und ausführen. Der Code kann Blockchain-Assets steuern, zum Beispiel kann er Daten speichern und übertragen, und er kann durch die Blockchain ausgeführt werden, zum Beispiel in Form eines Smart Contract und eines zugehörigen Chain-Codes mit Bedingungen oder anderen Codeelementen, die seiner Ausführung unterliegen. Die Smart Contracts 275 können erstellt werden, um Erinnerungen, Aktualisierungen und/oder andere Benachrichtigungen auszuführen, die den Änderungen, Aktualisierungen usw. unterliegen. Die Smart Contracts selbst können dazu verwendet werden, Regeln zu identifizieren, die Anforderungen an und einer Nutzung von Berechtigung und Zugriff zugehörig sind. In einem Beispiel kann eine neue Transaktion 212 durch die Peer-Knoten 280 identifiziert werden. Die Knoten können einen Konsens 214 erreichen und erlauben, dass die Transaktion in das Blockchain-Register 272 festgeschrieben wird, sofern bestimmte Bedingungen erfüllt sind. Zum Beispiel kann die Transaktion ein Schlüssel-Wert-Paar über den Konsensdienst an erfordern, um von Konsens-Peers genehmigt zu werden. In diesem Fall können die Peers die vorherige(n) Transaktion(en) in der Blockchain identifizieren und ermitteln, ob die aktuelle Transaktion als eine aufeinanderfolgende, zusammenhängende Schlüssel-Wert-Paar-Kennung (nächster in der Zahlenfolge) aufweisend erkannt wird. Diese Informationen können leicht anhand der Identifikationsnummer des Transaktionsschlüssel-Wert-Paares identifiziert werden, die identifiziert und verglichen werden kann, um einen Konsens zu überprüfen und bereitzustellen, damit die Transaktion in die Blockchain festgeschrieben werden kann.
  • 3 veranschaulicht ein Schaubild zur Systemnachrichtenübermittlung zum Verarbeiten einer Konsensverarbeitung von Transaktionen gemäß einer Ausführungsform der Erfindung. Unter Bezugnahme auf 3 kann das Blockchain-Mitglied 310 in dieser beispielhaften Systemkonfiguration 300 für ein Vorschlagen einer Transaktion 312 zur Festschreibung in die Blockchain 330 verantwortlich sein. Der Konsensdienst 320 kann die Anforderung und die neue Transaktion identifizieren und vorherige Transaktionen zum Identifizieren von Sequenzwerten, die den Schlüssel-Wert-Paaren zugehörig sind, durch Identifizieren der Blockchain-Transaktionen prüfen 314. Der letzte identifizierte Wert 316 kann mit der neuen Transaktion auf eine aufeinanderfolgende, zusammenhängende Sequenz hin verglichen werden 318. Wenn die Sequenz aufeinanderfolgend zusammenhängend ist, kann die Transaktion entsprechend festgeschrieben 326 und ohne Verzögerung an das Register angehängt werden 322. Wenn die Sequenz nicht korrekt ist, kann die neue Transaktion verworfen werden 324.
  • 4A veranschaulicht einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen gemäß einer Ausführungsform der Erfindung. Unter Bezugnahme auf 4A kann das Verfahren 400 ein Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain 412, ein Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll 414, ein Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares 416, ein Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist 418, und ein Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain umfassen, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist 422.
  • Das Verfahren kann auch ein Ablehnen der neu vorgeschlagenen Transaktion, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, und ein Ermitteln umfassen, dass die neu vorgeschlagene Transaktion nicht in Reihenfolge mit einer oder mehreren anderen Transaktionen ist, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist. Der Konsensvorgang ruft eine Mehrzahl von Gültigkeitsprüfprogramm-Knoten-Mitgliedern der Blockchain auf. Es ist nur ein Gültigkeitsprüfprogramm-Knoten-Mitglied der Blockchain muss die neu vorgeschlagene Transaktion auf Gültigkeit prüfen und an die Blockchain anhängen. Das Verfahren kann auch ein Zugreifen auf die Blockchain, ein Extrahieren einer Mehrzahl von Blockchain-Transaktionen, die eine erste Instanz eines Schlüsselwertes aufweisen, ein Erzeugen eines komprimierten Registers auf der Grundlage der Mehrzahl von Blockchain-Transaktionen umfassen, und wobei das komprimierte Register die Mehrzahl von Blockchain-Transaktionen enthält, die als ein zusammenhängend sequenzieller Satz von Schlüsselwerten angeordnet sind.
  • Das Verfahren kann auch ein Empfangen eines vorgeschlagenen Schlüssel-Wert-Paares für die neu vorgeschlagene Transaktion von einem Gültigkeitsprüfprogramm-Mitglied der Blockchain und ein Akzeptieren oder Ablehnen des vorgeschlagenen Schlüssel-Wert-Paares mittels eines Führungsmitglieds der Blockchain auf der Grundlage von zuvor akzeptierten Schlüssel-Wert-Paaren und ein Zuweisen des Indexwertes, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, zu der neu vorgeschlagenen Transaktion mittels des Führungsmitglieds der Blockchain umfassen.
  • 4B veranschaulicht einen anderen Ablaufplan eines beispielhaften Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen gemäß einer Ausführungsform der Erfindung. Unter Bezugnahmen auf 4B kann das Verfahren 450 ein Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain 452, ein Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll 454, ein Ermitteln, dass eine Seriennummer, die dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, in einer Liste von Seriennummern erkannt wird, die zuvor einem Blockchain-Mitglied zugewiesen wurde, das der neu vorgeschlagenen Transaktion zugehörig ist 456, und ein Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain aufweisen, wenn die Seriennummer, die dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, sequenziell übereinstimmend mit den anderen zuvor akzeptierten Blockchain-Transaktionen ist 458.
  • In diesem alternativen Beispiel müssen die Schlüssel-Wert-Paare keine bestimmte Sequenznummer aufweisen, sondern können stattdessen einen Strichcode oder eine Seriennummer aufweisen, die aus einem Pool von verfügbaren Seriennummern, die zuvor zugewiesen wurden, ausgewählt und dem neuen Block zugewiesen wurde. Die Seriennummern können zu einem Zeitpunkt und einem Blockchain-Mitglied zurückverfolgt werden, dem sie zugewiesen wurden. Die Seriennummer kann mit einem Zeitpunkt und einer Sequenz verknüpft sein, die sicherstellt, dass der Block bzw. die Transaktion berücksichtigt werden und in Reihenfolge mit anderen Seriennummern früherer Blöcke, der Transaktion und den entsprechenden Blockchain-Mitgliedern sind. Dieser Kennzeichnungsansatz stellt eine Möglichkeit bereit, Transaktionen aus Gründen der Genauigkeit und des Anordnens zu verfolgen. Das Ermitteln, ob die Seriennummer sequenziell übereinstimmend mit anderen Blöcken ist, kann ein Identifizieren eines Zeitpunkts und ein Zuweisen der betreffenden Seriennummer umfassen, und wenn das Zuweisen der Seriennummern als vor anderen Seriennummern in früheren Blöcken stattgefunden erkannt werden kann, ist die Transaktion akzeptabel. Auch kann ein Zeitrahmen als Fenster für ein Zuweisen von akzeptablen Seriennummern verwendet werden, wenn ermittelt wird, ob ein Konsens für ein Festschreiben der Transaktion oder des Blocks genehmigt werden soll.
  • 4C veranschaulicht einen Logik-Ablaufplan eines beispielhaften Verfahrens zum Verwalten einer Konsensverarbeitung von Transaktionen gemäß einer Ausführungsform der Erfindung. Unter Bezugnahme auf 4C kann die Logikkonfiguration 470 ein Empfangen einer neuen Transaktion aus einem Ausgangs-Transaktionspuffer 472 beinhalten, der zum Puffern von Transaktionen der Reihe nach verwendet wird, die einen Konsens erfordern. Für die neue Transaktion kann deren Schlüssel-Wert-Paar identifiziert und eine entsprechende Sequenznummer extrahiert werden 474. Die Informationen werden mit einem nächsten erwarteten Wert verglichen 476 und können verworfen werden 477, wenn sie nicht aufeinanderfolgend zusammenhängend mit dem vorherigen Wert sind. Oder, wenn die Sequenz übereinstimmend ist, wird die Transaktion für eine Festschreibung in die Blockchain vorbereitet 478 und an die Blockchain 480 angehängt.
  • Die vorstehend genannten Ausführungsformen der Erfindung können in Hardware, in einem durch einen Prozessor ausgeführten Computerprogramm, in Firmware oder in einer Kombination der oben Genannten ausgeführt werden. Ein Computerprogramm kann auf einem durch einen Computer lesbaren Medium wie zum Beispiel einem Speichermedium enthalten sein. Zum Beispiel kann sich ein Computerprogramm in einem Direktzugriffsspeicher („RAM“), einem Flash-Speicher, einem Nur-Lese-Speicher („ROM“), einem löschbaren programmierbaren Nur-Lese-Speicher („EPROM“), einem elektrisch löschbaren programmierbaren Nur-Lese-Speicher („EEPROM“), Registern, einer Festplatte, einer austauschbaren Platte, einem Kompaktdisk-Nur-Lese-Speicher („CD-ROM“) oder jeder beliebigen anderen Form eines nach dem Stand der Technik bekannten Speichermediums befinden.
  • Ein beispielhaftes Speichermedium kann mit dem Prozessor verbunden sein, so dass der Prozessor Informationen von dem Speichermedium lesen und Informationen auf dieses schreiben kann. Alternativ dazu kann das Speichermedium in dem Prozessor eingebaut sein. Der Prozessor und das Speichermedium können in einem anwendungsspezifischen integrierten Schaltkreis („ASIC“) vorliegen. Alternativ dazu können der Prozessor und das Speichermedium als einzelne Komponenten vorliegen. Zum Beispiel veranschaulicht 5 eine beispielhafte Computersystemarchitektur 500, die eine beliebige der oben beschriebenen Komponenten usw. darstellen oder in diese integriert sein kann.
  • 5 soll keinerlei Einschränkungen hinsichtlich des Anwendungsbereichs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Trotzdem ist der Datenverarbeitungsknoten 500 in der Lage, in einer beliebigen der vorstehend dargelegten Funktionalität umgesetzt zu werden und/oder diese durchzuführen.
  • In dem Datenverarbeitungsknoten 500 gibt es ein Computersystem/einen Server 502, das/der mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen bzw. -konfigurationen betriebsfähig ist. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Computersystem/Server 502 geeignet sein können, gehören Personal-ComputerSysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten enthalten, und dergleichen, aber nicht darauf beschränkt.
  • Das Computersystem/der Server 502 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen, z.B. Programmmodulen, beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 502 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
  • Wie in 5 gezeigt ist, ist das Computersystem/der Server 502 in dem Cloud-Computing-Knoten 500 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 502 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 504, einen Systemspeicher 506 und einen Bus aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 506, mit dem Prozessor 504 verbindet, sind aber nicht darauf beschränkt.
  • Der Bus stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein beschleunigter Grafikanschluss und ein Prozessor- oder lokaler Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnects).
  • Das Computersystem/der Server 502 beinhaltet üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige Medium handeln, auf welches das Computersystem/der Server 502 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien. Der Systemspeicher 506 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie einen Direktzugriffsspeicher (RAM) 510 und/oder Cachespeicher 512 enthalten. Das Computersystem/der Server 502 kann darüber hinaus andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien beinhalten. Lediglich als Beispiel kann das Speichersystem 514 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk“ genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette“) und ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Systemspeicher 506 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z.B. mindestens einen) aufweist, die so konfiguriert sind, dass sie die Funktionen von verschiedenen Ausführungsformen der Erfindung ausführen.
  • Als Beispiel und nicht als Einschränkung können ein Programm/Dienstprogramm 516 mit (mindestens) einem Satz von Programmmodulen 518 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Systemspeicher 506 gespeichert sein. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, andere Programmmodule und die Programmdaten oder eine beliebige Kombination daraus können jeweils eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 518 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von verschiedenen Ausführungsformen der Erfindung aus.
  • Der Fachmann wird verstehen, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Entsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, im Speicher befindliche Software, Mikrocode usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hierin alle allgemein als „Schaltkreis“, „Modul“ oder „System“ bezeichnet sein können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines auf einem oder mehreren durch einen Computer lesbaren Medien enthaltenen Computerprogrammprodukts annehmen, die durch einen Computer lesbaren Programmcode enthalten.
  • Das Computersystem/der Server 502 kann auch mit einer oder mehreren externen Einheiten 520 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 522 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 502 zu interagieren, und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 502 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über E/A-Schnittstellen 524 erfolgen. Außerdem kann das Computersystem/der Server 502 über einen Netzwerkadapter 526 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie dargestellt ist, tauscht der Netzwerkadapter 526 mit den anderen Komponenten des Computersystems/Servers 502 über einen Bus Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 502 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Obwohl ein System, ein Verfahren und ein nichtflüchtiges, durch einen Computer lesbares Medium, die jeweils die Erfindung verkörpern, in den beiliegenden Zeichnungen veranschaulicht und in der vorstehenden ausführlichen Beschreibung beschrieben wurden, wird darauf hingewiesen, dass die Erfindung nicht auf die Ausführungsformen der offengelegten Erfindung beschränkt ist, sondern zahlreiche Neuanordnungen, Abänderungen und Ersetzungen ermöglicht, wie in den folgenden Ansprüchen dargelegt und definiert ist. Zum Beispiel kann die Funktionalität des Systems der verschiedenen Figuren durch ein oder mehrere der hierin beschriebenen Module oder Komponenten oder in einer verteilten Architektur durchgeführt werden und einen Sender, einen Empfänger oder ein Paar dieser beiden umfassen. Zum Beispiel kann die gesamte oder ein Teil der Funktionalität, die durch die einzelnen Module durchgeführt wird, durch eins oder mehrere dieser Module durchgeführt werden. Darüber hinaus kann die hierin beschriebene Funktionalität zu verschiedenen Zeitpunkten und in Bezug auf verschiedene Ereignisse, innerhalb oder außerhalb der Module oder Komponenten, durchgeführt werden. Auch können die zwischen verschiedenen Modulen gesendeten Informationen zwischen den Modulen über mindestens eines der folgenden Elemente gesendet werden: ein Datennetzwerk, das Internet, ein Sprachübertragungsnetz, ein Internet-Protokoll-Netzwerk, eine drahtlose Einheit, eine kabelgebundene Einheit und/oder über eine Mehrzahl von Protokollen. Auch können die durch eines der Module gesendeten oder empfangenen Nachrichten direkt und/oder über eines oder mehrere der anderen Module gesendet bzw. empfangen werden.
  • Ein Fachmann wird verstehen, dass ein „System“ als ein Personal Computer, ein Server, eine Konsole, ein persönlicher digitaler Assistent (PDA), ein Mobiltelefon, eine Tablet-Datenverarbeitungseinheit, ein Smartphone oder jede beliebige andere geeignete Datenverarbeitungseinheit oder eine Kombination von Einheiten ausgeführt sein könnte. Das Darstellen der oben beschriebenen Funktionen als von einem „System“ durchgeführt soll den Umfang der vorliegenden Anmeldung in keiner Weise einschränken, sondern ein Beispiel von vielen Ausführungsformen bereitstellen. In der Tat können die hierin offengelegten Verfahren, Systeme und Vorrichtungen in lokalisierten und verteilten Formen umgesetzt werden, die einer Datenverarbeitungstechnologie entsprechen.
  • Es ist zu beachten, dass einige der in dieser Beschreibung beschriebenen Systemfunktionen als Module dargestellt wurden, um ihre Umsetzungsunabhängigkeit konkreter hervorzuheben. Zum Beispiel kann ein Modul als Hardware-Schaltung umgesetzt sein, die kundenspezifische VLSI-Schaltungen (Very Large Scale Integration) oder Gatter-Anordnungen, handelsübliche Halbleiter wie zum Beispiel Logik-Chips, Transistoren oder andere einzelne Komponenten umfasst. Ein Modul kann auch in programmierbaren Hardware-Einheiten wie zum Beispiel in im Feld programmierbaren Gatter-Anordnungen, programmierbarer Anordnungslogik, programmierbaren Logikeinheiten, Grafikverarbeitungseinheiten oder dergleichen umgesetzt sein.
  • Ein Modul kann auch zumindest teilweise in Software zur Ausführung durch verschiedene Typen von Prozessoren umgesetzt sein. Eine identifizierte Einheit ausführbaren Codes kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die zum Beispiel als Objekt, Vorgehensweise oder Funktion organisiert sein können. Dennoch müssen die ausführbaren Dateien eines identifizierten Moduls nicht physisch gemeinsam angeordnet sein, sondern können unterschiedliche, an verschiedenen Orten gespeicherte Anweisungen aufweisen, die, wenn sie logisch zusammengefügt werden, das Modul aufweisen und den angegebenen Zweck für das Modul erfüllen. Darüber hinaus können Module auf einem durch einen Computer lesbaren Medium gespeichert sein, bei dem es sich zum Beispiel um ein Festplattenlaufwerk, eine Flash-Einheit, einen Direktzugriffsspeicher (RAM), ein Band oder ein beliebiges anderes derartiges Medium zum Speichern von Daten handeln kann.
  • In der Tat könnte es sich bei einem Modul ausführbaren Codes um eine einzelne Anweisung oder viele Anweisungen handeln, und es kann sogar auf mehrere verschiedene Codesegmente, auf verschiedene Programme und auf mehrere Speichereinheiten verteilt sein. In ähnlicher Weise können Betriebsdaten hierin innerhalb von Modulen identifiziert und veranschaulicht werden, und sie können in jeder beliebigen geeigneten Form verkörpert und innerhalb jedes beliebigen geeigneten Typs von Datenstruktur organisiert sein. Die Betriebsdaten können als einzelner Datensatz gesammelt werden oder über verschiedene Standorte, darunter verschiedene Speichereinheiten, hinweg verteilt sein und zumindest teilweise lediglich als elektronische Signale in einem System oder Netzwerk vorliegen.
  • Man wird ohne Weiteres verstehen, dass die Komponenten der Erfindung, wie hierin allgemein beschrieben und in den Figuren veranschaulicht, in einer großen Vielfalt unterschiedlicher Konfigurationen angeordnet und ausgeführt werden können. Folglich soll die ausführliche Beschreibung der Ausführungsformen der Erfindung den beanspruchten Umfang der Anmeldung nicht einschränken, sondern sie steht lediglich stellvertretend für ausgewählte Ausführungsformen der Erfindung.
  • Ein Fachmann wird ohne Weiteres verstehen, dass das oben Genannte mit Schritten in einer anderen Reihenfolge und/oder mit Hardware-Elementen in anderen Konfigurationen als denen, die offengelegt werden, ausgeführt werden kann. Obwohl die Erfindung auf der Grundlage dieser bevorzugten Ausführungsformen der Erfindung beschrieben wurde, ist es für einen Fachmann offensichtlich, dass bestimmte Abänderungen, Abwandlungen und alternative Konstruktionen offensichtlich sind.
  • Obwohl bevorzugte Ausführungsformen der vorliegenden Erfindung beschrieben wurden, wird darauf hingewiesen, dass die beschriebenen Ausführungsformen der Erfindung nur veranschaulichend sind, und der Umfang der Erfindung ausschließlich durch die beigefügten Ansprüche definiert wird, wenn diese mit einem vollständigen Spektrum von Entsprechungen und Abänderungen (z.B. Protokollen, Hardware-Einheiten, Software-Plattformen usw.) betrachtet werden.

Claims (20)

  1. Verfahren, aufweisend: Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain; Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll; Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares; Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist; und Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  2. Verfahren nach Anspruch 1, darüber hinaus aufweisend: Ablehnen der neu vorgeschlagenen Transaktion, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  3. Verfahren nach Anspruch 1, darüber hinaus aufweisend: Ermitteln, dass die neu vorgeschlagene Transaktion nicht in Reihenfolge mit einer oder mehreren anderen Transaktionen ist, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  4. Verfahren nach Anspruch 1, wobei der Konsensvorgang eine Mehrzahl von Gültigkeitsprüfprogramm-Knoten-Mitgliedern der Blockchain aufruft und nur ein Gültigkeitsprüfprogramm-Knoten-Mitglied der Blockchain die neu vorgeschlagene Transaktion auf Gültigkeit prüfen und an die Blockchain anhängen muss.
  5. Verfahren nach Anspruch 1, darüber hinaus aufweisend: Zugreifen auf die Blockchain; Extrahieren einer Mehrzahl von Blockchain-Transaktionen, die eine erste Instanz eines Schlüsselwertes aufweisen; und Erzeugen eines komprimierten Registers auf der Grundlage der Mehrzahl von Blockchain-Transaktionen, wobei das komprimierte Register die Mehrzahl von Blockchain-Transaktionen enthält, die als ein zusammenhängend sequenzieller Satz von Schlüsselwerten angeordnet sind.
  6. Verfahren nach Anspruch 1, darüber hinaus aufweisend: Empfangen eines vorgeschlagenen Schlüssel-Wert-Paares für die neu vorgeschlagene Transaktion von einem Gültigkeitsprüfprogramm-Mitglied der Blockchain; und Akzeptieren oder Ablehnen des vorgeschlagenen Schlüssel-Wert-Paares mittels eines Führungsmitglieds der Blockchain auf der Grundlage von zuvor akzeptierten Schlüssel-Wert-Paaren.
  7. Verfahren nach Anspruch 6, darüber hinaus aufweisend: Zuweisen des Indexwertes, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, zu der neu vorgeschlagenen Transaktion mittels des Führungsmitglieds der Blockchain.
  8. Vorrichtung, aufweisend: einen Prozessor, der konfiguriert ist, zum: Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain; Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll; Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares; Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist; und Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  9. Vorrichtung nach Anspruch 8, wobei der Prozessor darüber hinaus konfiguriert ist zum: Ablehnen der neu vorgeschlagenen Transaktion, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  10. Vorrichtung nach Anspruch 8, wobei der Prozessor darüber hinaus konfiguriert ist zum: Ermitteln, dass die neu vorgeschlagene Transaktion nicht in Reihenfolge mit einer oder mehreren anderen Transaktionen ist, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  11. Vorrichtung nach Anspruch 8, wobei der Konsensvorgang eine Mehrzahl von Gültigkeitsprüfprogramm-Knoten-Mitgliedern der Blockchain aufruft und nur ein Gültigkeitsprüfprogramm-Knoten-Mitglied der Blockchain die neu vorgeschlagene Transaktion auf Gültigkeit prüfen und an die Blockchain anhängen muss.
  12. Vorrichtung nach Anspruch 8, wobei der Prozessor darüber hinaus konfiguriert ist zum: Zugreifen auf die Blockchain; Extrahieren einer Mehrzahl von Blockchain-Transaktionen, die eine erste Instanz eines Schlüsselwertes aufweisen; und Erzeugen eines komprimierten Registers auf der Grundlage der Mehrzahl von Blockchain-Transaktionen, wobei das komprimierte Register die Mehrzahl von Blockchain-Transaktionen enthält, die als ein zusammenhängend sequenzieller Satz von Schlüsselwerten angeordnet sind.
  13. Vorrichtung nach Anspruch 8, darüber hinaus aufweisend: einen Empfänger, der konfiguriert ist zum Empfangen eines vorgeschlagenen Schlüssel-Wert-Paares für die neu vorgeschlagene Transaktion von einem Gültigkeitsprüfprogramm-Mitglied der Blockchain; und wobei der Prozessor darüber hinaus konfiguriert ist zum Akzeptieren oder Ablehnen des vorgeschlagenen Schlüssel-Wert-Paares mittels eines Führungsmitglieds der Blockchain auf der Grundlage von zuvor akzeptierten Schlüssel-Wert-Paaren.
  14. Vorrichtung nach Anspruch 13, wobei der Prozessor darüber hinaus konfiguriert ist zum: Zuweisen des Indexwertes, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, zu der neu vorgeschlagenen Transaktion mittels des Führungsmitglieds der Blockchain.
  15. Nichtflüchtiges, durch einen Computer lesbares Speichermedium, das konfiguriert ist zum Speichern von Anweisungen, die, wenn sie ausgeführt werden, einen Prozessor dazu veranlassen, Folgendes durchzuführen: Identifizieren einer neu vorgeschlagenen Transaktion einer Blockchain; Initiieren eines Konsensvorgangs zum Ermitteln, ob die neu vorgeschlagene Transaktion genehmigt werden soll; Abrufen eines aus einer vorherigen Transaktion identifizierten Schlüssel-Wert-Paares; Vergleichen eines Indexwertes, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, mit einem Indexwert, der einem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist; und Bereitstellen eines positiven Konsenses zum Akzeptieren der neu vorgeschlagenen Transaktion in der Blockchain, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  16. Nichtflüchtiges, durch einen Computer lesbares Speichermedium nach Anspruch 15, wobei der Prozessor darüber hinaus konfiguriert ist, Folgendes durchzuführen: Ablehnen der neu vorgeschlagenen Transaktion, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  17. Nichtflüchtiges, durch einen Computer lesbares Speichermedium nach Anspruch 15, wobei der Prozessor darüber hinaus konfiguriert ist, Folgendes durchzuführen: Ermitteln, dass die neu vorgeschlagene Transaktion nicht in Reihenfolge mit einer oder mehreren anderen Transaktionen ist, wenn der Indexwert, der dem Schlüssel-Wert-Paar der vorherigen Transaktion zugehörig ist, nicht zusammenhängend sequenziell mit dem Indexwert ist, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist.
  18. Nichtflüchtiges, durch einen Computer lesbares Speichermedium nach Anspruch 15, wobei der Konsensvorgang eine Mehrzahl von Gültigkeitsprüfprogramm-Knoten-Mitgliedern der Blockchain aufruft und nur ein Gültigkeitsprüfprogramm-Knoten-Mitglied der Blockchain die neu vorgeschlagene Transaktion auf Gültigkeit prüfen und an die Blockchain anhängen muss.
  19. Nichtflüchtiges, durch einen Computer lesbares Speichermedium nach Anspruch 15, wobei der Prozessor darüber hinaus konfiguriert ist, Folgendes durchzuführen: Zugreifen auf die Blockchain; Extrahieren einer Mehrzahl von Blockchain-Transaktionen, die eine erste Instanz eines Schlüsselwertes aufweisen; und Erzeugen eines komprimierten Registers auf der Grundlage der Mehrzahl von Blockchain-Transaktionen, wobei das komprimierte Register die Mehrzahl von Blockchain-Transaktionen enthält, die als ein zusammenhängend sequenzieller Satz von Schlüsselwerten angeordnet sind.
  20. Nichtflüchtiges, durch einen Computer lesbares Speichermedium nach Anspruch 15, wobei der Prozessor darüber hinaus konfiguriert ist, Folgendes durchzuführen: Empfangen eines vorgeschlagenen Schlüssel-Wert-Paares für die neu vorgeschlagene Transaktion von einem Gültigkeitsprüfprogramm-Mitglied der Blockchain; und Akzeptieren oder Ablehnen des vorgeschlagenen Schlüssel-Wert-Paares mittels eines Führungsmitglieds der Blockchain auf der Grundlage von zuvor akzeptierten Schlüssel-Wert-Paaren; und Zuweisen des Indexwertes, der dem Schlüssel-Wert-Paar der neu vorgeschlagenen Transaktion zugehörig ist, zu der neu vorgeschlagenen Transaktion mittels des Führungsmitglieds der Blockchain.
DE112018005348.2T 2017-11-17 2018-10-10 Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain Pending DE112018005348T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/815,944 2017-11-17
US15/815,944 US11823178B2 (en) 2017-11-17 2017-11-17 Optimization of high volume transaction performance on a blockchain
PCT/IB2018/057836 WO2019097322A1 (en) 2017-11-17 2018-10-10 Optimization of high volume transaction performance on a blockchain

Publications (1)

Publication Number Publication Date
DE112018005348T5 true DE112018005348T5 (de) 2020-06-25

Family

ID=66533187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018005348.2T Pending DE112018005348T5 (de) 2017-11-17 2018-10-10 Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain

Country Status (6)

Country Link
US (1) US11823178B2 (de)
JP (1) JP7059370B2 (de)
CN (1) CN111344706B (de)
DE (1) DE112018005348T5 (de)
GB (1) GB2581083A (de)
WO (1) WO2019097322A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN111899006A (zh) 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
GB201810707D0 (en) * 2018-06-29 2018-08-15 Bedrock Capital Ltd Gospel L
US10628450B1 (en) * 2018-09-30 2020-04-21 Innoplexus Ag System and method for blockchain-based secure data processing
US10997154B2 (en) * 2018-10-02 2021-05-04 Microsoft Technology Licensing, Llc Verifiable state machines
JP7012730B2 (ja) * 2018-12-28 2022-01-28 アドバンスド ニュー テクノロジーズ カンパニー リミテッド スマートコントラクトホワイトリストに基づくブロックチェーンネットワークにおけるトランザクションの並列実行
WO2019141289A2 (en) * 2019-05-14 2019-07-25 Alibaba Group Holding Limited Methods and devices for data traversal
SG11202001989WA (en) 2019-07-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage
SG11202002017YA (en) * 2019-07-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage
CN111837115A (zh) 2019-07-11 2020-10-27 创新先进技术有限公司 共享的区块链数据存储
US11586614B2 (en) 2019-07-30 2023-02-21 Oracle International Corporation Native persistent store support for blockchains
CN110706101B (zh) * 2019-08-30 2021-06-29 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110648125B (zh) * 2019-09-10 2022-08-02 杭州秘猿科技有限公司 一种打包交易方法、装置、电子设备及存储介质
CN110688410B (zh) * 2019-09-23 2021-03-19 创新先进技术有限公司 一种基于区块链的提议处理方法、装置及电子设备
US11023423B2 (en) * 2019-10-10 2021-06-01 Avery Glasser System and method for information storage using blockchain databases combined with pointer databases
CN111884809B (zh) * 2020-07-20 2023-05-05 杭州溪塔科技有限公司 一种防止分叉链交易重放的方法、装置及电子设备
US11875178B2 (en) * 2020-07-30 2024-01-16 Oracle International Corporation Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
US11356506B2 (en) 2020-10-01 2022-06-07 Bank Of America Corporation System for optimizing data acceptance and data storage in a distributed computing network

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548928B1 (en) * 2005-08-05 2009-06-16 Google Inc. Data compression of large scale data stored in sparse tables
US8255398B2 (en) * 2008-09-30 2012-08-28 International Business Machines Corporation Compression of sorted value indexes using common prefixes
US9553982B2 (en) * 2013-07-06 2017-01-24 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
FR3018378A1 (fr) 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US9830593B2 (en) * 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
EP3191984B1 (de) 2014-09-10 2021-03-10 Amazon Technologies Inc. Skalierbare protokollbasierte transaktionsverwaltung
US10148441B2 (en) * 2014-09-12 2018-12-04 Verisign, Inc. Systems, devices, and methods for detecting double signing in a one-time use signature scheme
US20160164884A1 (en) 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain
US11023453B2 (en) * 2015-01-29 2021-06-01 Hewlett Packard Enterprise Development Lp Hash index
US9942046B2 (en) * 2015-05-06 2018-04-10 21, Inc. Digital currency mining circuitry with adaptable difficulty compare capabilities
US20160342989A1 (en) 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
EP3329440A1 (de) 2015-07-31 2018-06-06 British Telecommunications public limited company Gesteuerte ressourcenbereitstellung in verteilten datenverarbeitungsumgebungen
US11526877B2 (en) * 2015-10-22 2022-12-13 Coinbase, Inc. Electronic devices having embedded circuitry for accessing remote digital services
US9992028B2 (en) 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
US20170236120A1 (en) * 2016-02-11 2017-08-17 Oracle International Corporation Accountability and Trust in Distributed Ledger Systems
US10212145B2 (en) * 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
US10788988B1 (en) * 2016-05-24 2020-09-29 Violin Systems Llc Controlling block duplicates
JP6898548B2 (ja) 2017-02-15 2021-07-07 富士通株式会社 承認システム、承認方法および承認プログラム
CN107122675B (zh) 2017-04-27 2019-10-15 北京众享比特科技有限公司 一种基于区块链的数据库事务操作方法和系统
GB201709219D0 (en) * 2017-06-09 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
GB201709845D0 (en) * 2017-06-20 2017-08-02 Nchain Holdings Ltd Computer-implemented system and method
US10496371B2 (en) * 2017-06-29 2019-12-03 Intel Corporation Key-value compaction
US10924466B2 (en) * 2017-07-28 2021-02-16 SmartAxiom, Inc. System and method for IOT security
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
US10528551B2 (en) 2017-09-29 2020-01-07 Oracle International Corporation System and method for providing a representational state transfer proxy service for a blockchain cloud service
AU2018364999A1 (en) * 2017-11-10 2020-05-28 Digital Asset (Switzerland) GmbH Method and apparatus for execution of atomic transactions
US20190147065A1 (en) * 2017-11-16 2019-05-16 International Business Machines Corporation Method and system for verification of deleted data for blockchains
US10985907B2 (en) * 2018-05-16 2021-04-20 International Business Machines Corporation Identifying faults in a blockchain ordering service

Also Published As

Publication number Publication date
WO2019097322A1 (en) 2019-05-23
CN111344706A (zh) 2020-06-26
US20190156332A1 (en) 2019-05-23
JP7059370B2 (ja) 2022-04-25
GB2581083A (en) 2020-08-05
JP2021503643A (ja) 2021-02-12
CN111344706B (zh) 2023-12-29
GB202005864D0 (en) 2020-06-03
US11823178B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
DE112018005348T5 (de) Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain
DE112020005289B4 (de) Teilweise sortierte blockchain
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112018004008B4 (de) Auf dateisysteminhalten beruhende sicherheit
DE112020005075B4 (de) Effiziente schwellenwertspeicherung von datenobjekten
US11095675B1 (en) System and method for identifying system vulnerabilities
DE202012013427U1 (de) Verknüpfung von Tabellen in einem MapReduce-Verfahren
DE112018007724T5 (de) Blockchain basierter Verifizierungsrahmen
DE112021002797T5 (de) Datenschutzerhaltende architektur für genehmigungspflichtige blockchains
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112021000608T5 (de) Schnellere ansichtsänderung für eine blockchain
DE112021001671T5 (de) Netzübergreifendes bereitstellen von identitäten
DE112021000688T5 (de) Indexstruktur für blockchain-ledger
DE112021004344T5 (de) Konsensdienst für Blockchain-Netzwerke
DE102021122557A1 (de) Konformitätsmechanismen in blockchain-netzwerken
DE112021001413T5 (de) Verwaltung eines privilegierten zugriffs mit geringer vertrauenswürdigkeit
DE112019006678T5 (de) Blockchaintechnologie für die Einhaltung gesetzlicher Bestimmungen bei Datenverwaltungssystemen
DE112020002340T5 (de) Übertragung von token zwischen blockchain-netzwerken
DE112018001561B4 (de) Verteiltes speichernetzwerk
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence