DE102016104478A1 - Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren - Google Patents

Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren Download PDF

Info

Publication number
DE102016104478A1
DE102016104478A1 DE102016104478.4A DE102016104478A DE102016104478A1 DE 102016104478 A1 DE102016104478 A1 DE 102016104478A1 DE 102016104478 A DE102016104478 A DE 102016104478A DE 102016104478 A1 DE102016104478 A1 DE 102016104478A1
Authority
DE
Germany
Prior art keywords
data
subset
nodes
node
computer
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
DE102016104478.4A
Other languages
English (en)
Inventor
Elli Androulaki
Mircea Gusat
Ioannis Koltsidas
Maria Soimu
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 DE102016104478A1 publication Critical patent/DE102016104478A1/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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die vorliegende Erfindung ist insbesondere auf Verfahren, Systeme und Computerprogrammprodukte zum Sichern von Datenoperationen in einem computergestützten System gerichtet, das untereinander verbundene Knoten aufweist, wobei die Knoten so konfiguriert sind, dass sie Daten senden, empfangen und speichern können, und wobei das Verfahren das Ausführen computergestützter kryptographischer Verfahren aufweist, um zwei oder mehr Arbeitsnachweise (Proofs of Work) zu realisieren, das aufweist: aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermitteln, die auf Knoten des Systems gespeichert sind; und bei jedem Knoten der Teilmenge nachweisbares Erfassen von Daten in der Teilmenge von Daten nachweisbar erfasst werden.

Description

  • HINTERGRUND
  • Ausführungsformen der vorliegenden Erfindung betreffen allgemein das Gebiet kryptographischer Verfahren zur Realisierung von Arbeitsnachweisen (Proof of Work) wie beispielsweise von Kryptowährungssystemen.
  • Internetsuchmaschinen sind Softwaresysteme, die zur Suche, Indizierung, Organisation und Einordnung von Informationen im World Wide Web vorgesehen sind. Zu diesen Informationen können Webseiten, Bilder und andere Arten von Dateien gehören. Suchmaschinen können auch nach Daten suchen, die in Datenbanken oder offenen Verzeichnissen zur Verfügung stehen. Im Unterschied zu Webverzeichnissen verwalten Suchmaschinen Quasi-Echtzeitinformationen dank Web-Crawlern (d. h. Suchmodulen (Spidern)), die Informationen über Webseiten speichern, die aus der HTML-Auszeichnung (HTML-Markup) der Webseiten abgefragt wurden. Diese Seiten werden durch Web-Crawler abgefragt, die jedem Link auf der Site folgen. Anschließend analysiert die Suchmaschine den Inhalt jeder Seite, um zu ermitteln, wie sie indiziert werden sollte; zum Beispiel können Wörter aus den Titeln, aus dem Inhalt, aus Überschriften oder Metatags entnommen werden. Daten über Webseiten werden zur späteren Verwendung in Abfragen in einer Indexdatenbank gespeichert.
  • Kryptowährungssysteme wie zum Beispiel BitcoinTM nutzen die Kryptographie, um Transaktionen sicher zu machen. Normalerweise nutzen Kryptowährungssysteme eine dezentrale Steuerung (im Gegensatz zu zentralisierten Geldsystemen) und ein öffentliches Hauptbuch (z. B. die Blockkette (Block Chain) bei Bitcoin), in dem Transaktionen aufgezeichnet werden. Kryptowährungen nutzen verschiedene Zeitstempelungsschemata, um zu vermeiden, dass ein Dritter zum Blockketten-Hauptbuch hinzugefügte Transaktionen mit einem Zeitstempel versieht. Das erste Zeitstempelungsschema, das erfunden wurde, war das Proof-of-Work-Schema (PoW-Schema). Die am weitesten verbreiteten PoW-Schemata beruhen auf dem sogenannten SHA-256-Algorithmus, der von BitcoinTM eingeführt wurde, und scrypt. Zu weiteren beim PoW verwendeten Hash-Algorithmen gehören Blake, SHA-3 und X11. Einige Kryptowährungssysteme nutzen ein kombiniertes Arbeitsnachweis-Besitzschaftsnachweis-Schema („Proof of Work/Proof of Stake”-Schema). Proof of Stake ist ein Verfahren zum Sichern eines Kryptowährungsnetzwerks und zum Erzielen eines verteilten Einvernehmens, indem Benutzer aufgefordert werden, die Eigentümerschaft an einem bestimmten Währungsbetrag vorzuweisen. Es unterscheidet sich von PoW-Systemen, die ressourcenintensive Hash-Algorithmen ausführen, um die Gültigkeit elektronischer Transaktionen zu ermitteln und neue Währungseinheiten zu erzeugen (d. h. Geldschöpfung (Mining bzw. Coin-Mining)).
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform wird ein Verfahren zum Sichern von Datenoperationen in einem computergestützten System offenbart, das aus untereinander verbundenen Knoten besteht, die so konfiguriert sind, dass sie Daten senden, empfangen und speichern und computergestützte kryptographische Verfahren ausführen können, um zwei oder mehr Proofs of Work zu realisieren, indem aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und indem bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
  • Gemäß einer Ausführungsform ist das System ferner zum Empfangen von Datensuchabfragen konfiguriert, wobei das Verfahren ferner aufweist: Verteilen von Datensuchabfragen, die durch das System empfangen wurden, auf einen oder mehrere der Knoten der Teilmenge, um die empfangenen Datensuchabfragen zu bedienen. Gemäß einer Ausführungsform weist das Verfahren ferner auf: gemäß einem Kryptowährungsprotokoll sicheres Belohnen eines oder mehrerer der Knoten der Teilmenge dafür, dass sie Suchabfragen nachweisbar bedient haben, die auf sie verteilt wurden. Gemäß einer Ausführungsform ist einer oder jeder der zwei oder mehreren Proofs of Work digital signiert. Gemäß einer Ausführungsform sind die kryptographischen Verfahren so konfiguriert, dass sie auf den Knoten der Teilmenge gespeicherte Daten und Datenübertragungen zwischen den Knoten der Teilmenge sichern. Gemäß einer Ausführungsform weist das Verfahren ferner auf: Gewährleisten von Redundanz der Daten, die durch jeden Knoten der Teilmenge über Knoten der Teilmenge hinweg per Crawler-Suche ermittelt und erfasst wurden.
  • Gemäß einer Ausführungsform wird ein computergestütztes System zum Sichern von Datenoperationen offenbart, das untereinander verbundene Knoten aufweist, die so konfiguriert sind, dass sie Daten senden, empfangen und speichern und computergestützte kryptographische Verfahren ausführen können, um zwei oder mehr Proofs of Work zu realisieren, indem aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und indem bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
  • Bei noch einer weiteren Ausführungsform wird ein Computerprogrammprodukt offenbart, das aus einem computerlesbaren Speichermedium mit darauf verkörperten computerlesbaren Programmanweisungen besteht. Die Programmanweisungen können durch Knoten ausführbar sein, die in einem computergestützten System zum Sichern von Datenoperationen untereinander verbunden sind, um die Knoten zu veranlassen, computergestützte kryptographische Verfahren zur Realisierung von zwei oder mehr Proofs of Work auszuführen, indem aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und indem bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Die folgende ausführliche Beschreibung, die als Beispiel zu verstehen und nicht dazu gedacht ist, die Erfindung ausschließlich darauf zu beschränken, wird am besten in Verbindung mit den beigefügten Zeichnungen verständlich, in denen unter Umständen nicht alle Strukturen dargestellt sind.
  • 1 stellt ein computergestütztes System gemäß einer Ausführungsform der vorliegenden Erfindung schematisch dar, das eine Menge von Knoten aufweist, die untereinander in einer Peer-to-Peer-Weise (Punkt-zu-Punkt-Weise, direkt oder indirekt) verbunden sind.
  • 2 stellt gemäß einer Ausführungsform einen typischen Knoten (eigentlich einen Mehrzweckcomputer) eines Systems wie beispielsweise des in 1 abgebildeten Systems schematisch dar.
  • 3 ist ein Ablaufplan, der gemäß einer Ausführungsform der vorliegenden Erfindung die allgemeinen Schritte eines Verfahrens zum Sichern von Datenoperationen gemäß Ausführungsformen veranschaulicht.
  • 4 ist eine Tabelle, die Komponenten der Datenübertragungsschicht und Komponenten der Anwendungsschicht gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht.
  • Die Zeichnungen sind nicht notwendigerweise maßstabsgerecht. Die Zeichnungen sind lediglich schematische Darstellungen und nicht dazu gedacht, spezielle Parameter der Erfindung wiederzugeben. Die Zeichnungen sollen lediglich typische Ausführungsformen der Erfindung darstellen. In den Zeichnungen stellen gleiche Nummern gleiche Elemente dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hierin werden ausführliche Ausführungsformen der beanspruchten Strukturen und Verfahren offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich der Veranschaulichung der beanspruchten Strukturen und Verfahren dienen, die in verschiedenen Formen verkörpert sein können. Diese Erfindung kann jedoch in vielen unterschiedlichen Formen verkörpert sein und sollte nicht als auf die hierin dargelegten beispielhaften Ausführungsformen begrenzt ausgelegt werden. Vielmehr werden diese beispielhaften Ausführungsformen bereitgestellt, damit die Offenbarung für den Fachmann umfassend und vollständig ist und ihm den Schutzbereich dieser Erfindung in vollem Umfang vermittelt.
  • Im Sinne der nachfolgenden Beschreibung betreffen die Begriffe „oberer/obere/oberes”, „unterer/untere/unteres”, „rechts”, „links”, „vertikal”, „horizontal”, „oben” und Ableitungen davon die offenbarten Strukturen und Verfahren entsprechend der Ausrichtung in den Figuren der Zeichnungen. Es wird klar sein, dass, wenn ein Element wie zum Beispiel eine Schicht, ein Bereich oder ein Substrat als „auf”, „über”, „darunter”, „unterhalb” oder „unter” eines anderen Elements bzw. einem anderen Element befindlich bezeichnet ist, es auf oder unter dem anderen Element vorliegen kann oder Zwischenelemente ebenfalls vorliegen können. Im Gegensatz hierzu liegen unter Umständen keine Zwischenelemente vor, wenn ein Element als „direkt auf”, „direkt über”, „direkt darunter”, „direkt unter” einem anderen Element befindlich oder als ein anderes Element „direkt berührend” bezeichnet ist. Des Weiteren dient die verwendete Terminologie ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als die Erfindung einschränkend gedacht. Im hierin verwendeten Sinne sollen die Einzahlformen „ein/eine” und „der/die/das” auch die Pluralformen einschließen, sofern dies im Kontext nicht ausdrücklich anderweitig angegeben ist.
  • Um die Darstellung von Ausführungsformen der vorliegenden Erfindung nicht unnötig zu beeinträchtigen, sind in der folgenden ausführlichen Beschreibung einige in der Technik bekannte Verarbeitungsschritte oder -operationen zu Darstellungs- und Veranschaulichungszwecken unter Umständen zusammengefasst und an einigen Stellen möglicherweise nicht ausführlich beschrieben. An anderen Stellen sind einige in der Technik bekannte Verarbeitungsschritte oder -operationen unter Umständen überhaupt nicht beschrieben. Es sollte klar sein, dass sich die folgende Beschreibung vielmehr auf die charakteristischen Merkmale oder Elemente verschiedener Ausführungsformen der vorliegenden Erfindung konzentriert.
  • Unter Bezugnahme auf die 1 bis 4 werden Ausführungsformen der vorliegenden Erfindung beschrieben, die Verfahren zum Sichern von Datenoperationen in einem computergestützten System enthalten können. Wie in 1 dargestellt, wird angenommen, dass ein System 10 untereinander verbundene Knoten 1 bis 7 aufweist. Jeder der Knoten ist so konfiguriert, dass er Daten senden, empfangen und speichern kann. Die vorliegenden computergestützten Verfahren können auf einem oder (normalerweise) mehreren Knoten des Systems ausgeführt werden und das Ausführen computergestützter kryptographischer Verfahren zur Realisierung von zwei oder mehr Proofs of Work (im Folgenden als „PoWs” bezeichnet) beinhalten.
  • Das Konzept des PoW ist aus Kryptowährungssystemen allgemein bekannt. Im Gegensatz zu bekannten Kryptowährungssystemen weisen die PoWs hier jedoch mindestens die Operationen S20 und S30 auf, die im Ablaufplan von 3 dargestellt sind.
  • Als Erstes bewirkt die Ausführung der kryptographischen Verfahren, dass S20 aus jedem Knoten des Systems oder mindestens aus einer Teilmenge von Knoten davon (im Folgenden als „Knoten” bezeichnet) mithilfe von Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt. Knoten, die aktiv zu vorliegenden PoWs beitragen, können mit Knoten verglichen werden, die bei Kryptowährungssystemen als „Arbeiter” (Workers) bzw. „Geldschöpfer” (Miners) bezeichnet werden. Jede Datenteilmenge wird auf Knoten des Systems (d. h. knotenübergreifend) oder eines mit diesem in Verbindung stehenden Systems gespeichert. Zu beachten ist, dass Crawler-Suchlaufoperationen von einem oder mehreren Knoten aus durchgeführt werden und daher einem oder mehreren Knoten eine Menge von Crawlern zugewiesen sein kann. Es sollte beachtet werden, dass das Konzept der Crawler-Suche nach Daten in der Technik gut bekannt ist.
  • Ein computergestütztes System 10 wie das in 1 abgebildete kann auf ein kleines System beschränkt sein, zum Beispiel auf ein privates Netzwerk oder ein Unternehmensnetzwerk, oder es kann als weiteres Beispiel ein Unternehmensnetzwerk beinhalten, das in Verbindung mit einem oder mehreren Netzwerken Dritter steht, um ein computergestütztes System zu bilden. Daher müssen die mithilfe von Crawler-Suchläufen zu ermittelnden Daten nicht notwendigerweise auf einem bestimmten Knoten gespeichert sein, der die Crawler-Suchlaufoperationen auslöst. Vielmehr können die Daten auf unterschiedlichen Knoten eines oder mehrerer untereinander verbundener Knoten verstreut sein.
  • Als Zweites bewirkt die Ausführung der kryptographischen Verfahren, dass die mithilfe von Crawler-Suchläufen ermittelte Datenteilmenge nachweisbar erfasst wird S30. Anders ausgedrückt, bei jedem Knoten des Systems (oder mindestens bei einer Teilmenge von Knoten davon) werden Schritte unternommen, um Daten in den Teilmengen von Daten zu erfassen, die mithilfe von Crawler-Suchläufen ermittelt wurden. Erfassen von Daten bedeutet für einen Knoten, die Daten zu erhalten (d. h., die Daten werden in Form elektrischer Signale zum Knoten übertragen), sodass der Knoten später in der Lage ist, die Daten nach Bedarf zu speichern.
  • Daher kann das System 10 kryptographische Verfahren ausführen, um PoWs zu realisieren, die mindestens die oben aufgeführten Operationen des Ermittelns von Daten mithilfe von Crawler-Suchläufen/mithilfe des Erfassens von Daten beinhalten können. Anders ausgedrückt und aufgrund der Art der durchgeführten PoWs, erweitern die vorliegenden kryptographischen Verfahren Merkmale bekannter Kryptowährungssysteme und definieren diese neu. Dennoch behalten Ausführungsformen der vorliegenden Verfahren unter Umständen einige der bereits bekannten Merkmale von Kryptowährungssystemen bei, beispielsweise die Nachweisbarkeit von durchgeführten Operationen, die wiederum bereits eingerichtete Blockketten, Zeitstempel, digitale Signaturen und andere Protokolle einbeziehen können, die in Kryptowährungssystemen bekannt sind.
  • Das Konzept des PoW ist beispielsweise aus den Systemen HashcashTM und BitcoinTM bekannt. Das Konzept des PoW wird hier allgemein beibehalten. Im Gegensatz zu bekannten Kryptowährungssystemen beinhalten die POW-Operationen hier jedoch mindestens die oben aufgeführten Crawler-Such/Erfassungs-Operationen. Andere PoW-Operationen können einbezogen sein, was nachstehend beschrieben wird. Das Konzept von Kryptowährungs-Hashfunktionen kann bei Ausführungsformen, wie hierin beschrieben, durch oder mit PoWs ersetzt, beibehalten und erweitert sein.
  • Wie Kryptowährungssysteme können vorliegende Systeme als Austauschmedium betrachtet werden, das zur Sicherung von Transaktionen die Kryptographie verwendet, obwohl die hier vorgeschlagenen Transaktionen von anderer Art sind und eine vorherige Crawler-Suche nach und Erfassung von Daten voraussetzen. Daher weisen Ausführungsformen der Erfindung Ähnlichkeiten mit dem Blockkettenkonzept von BitcoinTM auf. Zum Beispiel weisen beispielhafte Ausführungsformen unter Umständen einen Zeitstempelserver, eine globale Ablaufsteuerung und Rundsendeprotokolle auf. Jedoch beinhalten alle hier erörterten Ausführungsformen Operationen der Crawler-Suche nach und des Erfassens von Daten, die normalerweise Anwendung in PoWs finden, die auf dem Suchprinzip beruhen.
  • Kryptographische Verfahren werden verwendet, um die Daten und Datenoperationen zu sichern und dadurch zu garantieren, dass die Operationen tatsächlich durchgeführt wurden. Vorliegende Systeme führen kryptographische Verfahren aus, um Daten zu sichern und vorzugsweise auch Datenübertragungen zu sichern. Daher beschränken sich die vorliegenden Ausführungsformen nicht nur auf das Umfunktionieren eines Kryptowährungssystems zum Durchführen nützlicher (Mining-)Arbeit; sie ermöglichen auch die Sicherung der Ergebnisse der PoWs, einschließlich der mithilfe von Crawler-Suchläufen ermittelten und erfassten Daten und auch der erhaltenen Indizes, bedienten Abfragen und anderer zugehöriger Operationen. Tatsächlich kann das nachweisbare Erfassen von Daten an zulässigen Knoten wiederum die Durchführung weiterer PoWS ermöglichen, wie nachstehend ausführlich erörtert wird.
  • Bei Ausführungsformen ist das System 10 vorzugsweise dezentral, Peer-to-Peer oder umfasst bei Varianten unter Umständen eine hierarchische Topologie, die mit einer Peer-to-Peer-Architektur kombiniert ist. Bei anderen Varianten ist das System 10 unter Umständen kein Peer-to-Peer, wobei in diesem Fall die mithilfe von Crawler-Suchläufen zu ermittelnden Teilmengen von Daten unter Umständen im Gegensatz zu Peer-to-Peer-Architekturen „nichtdemokratisch” zugewiesen werden müssen. Dies wird weiter unten ausführlicher erörtert.
  • Bei Ausführungsformen und vor der Crawler-Suche nach Datenteilmengen weisen die vorliegenden Verfahren unter Umständen ferner einen Schritt des Zuweisens S10 von Adressen zu jedem aktiven Knoten auf (d. h. einem Knoten, der später Crawler-Suchlaufoperationen auslösen soll). Jede der zugewiesenen Adressen ist ein Verweis auf eine bestimmte digitale Ressource (beispielsweise ein Uniform Resource Locator bzw. URL). Daher können von jedem aktiven Knoten gemäß den Adressen, die dem Knoten zugewiesen wurden, nachfolgende Schritte der Crawler-Suche durchgeführt werden.
  • Die Adressen werden vorzugsweise durch das System selbst bereitgestellt (d. h. durch einen oder mehrere andere Knoten des Systems). Bei den Adressen kann es sich zum Beispiel um einen URL oder Internet-Protocol-Adressen (IP-Adressen) handeln. Eine Adresse kann zum Beispiel einer HTML-Seite entsprechen, die zu anderen HTML-Seiten verlinkt. Daher kann eine Adresse einem Teilgraphen eines Datenkorpusgraphen entsprechen (z. B. dem Internetkorpusgraphen). Der Datenkorpusgraph ist der Graph der Daten, die mithilfe von Crawler-Suchläufen ermittelt und erfasst werden sollen. Daher läuft das Bereitstellen von Adressen für die Knoten auf das Zuweisen von Teilgraphen des mithilfe von Crawler-Suchläufen zu ermittelnden Datenkorpusgraphen hinaus. Der von einem Knoten aus durchsuchte Raum kann zum Beispiel das Internet oder ein beliebiges anderes Datenübertragungsnetzwerk aufweisen (z. B. das Internet der Dinge (Internet of Things) oder ein privates Netzwerk) oder Unterteile oder beliebige Kombinationen von Unterteilen davon.
  • Wie bereits erwähnt, können vorliegende Systeme zum Beispiel Peer-to-Peer-Systeme sein und sollen daher vorzugsweise einen dezentralen Proof of Crawl für Crawler-Suchläufe beinhalten, wodurch Crawlern durch das System unabhängig voneinander entsprechende Teilgraphen zugewiesen werden. Dies kann zum Beispiel mithilfe verteilter Hashtabellen (Distributed Hash Tables, DHTs) erreicht werden, um unerwünschte Störungen zu verhindern. Allgemeiner ausgedrückt, die Topologie vorliegender Systeme kann zum Beispiel Peer-to-Peer, zentralisiert oder hybrid sein. Die Topologie des Systems bestimmt den Graphen der Knoten, der sich vom Datenkorpusgraphen unterscheidet. Die beiden Graphen können zum Beispiel über mehrere Bijektionen zugeordnet werden. Die Daten-Knoten-Zuordnung kann mit klassischen Verfahren aus Graphentheorien und der Planungstheorie optimiert werden, neben anderen Beispielen bekannter Zuordnungen zum Beispiel durch Abgleichen bipartiter Graphen (Bipartite Graph Matching, BGM). Anschließend kann jeder Knoten eine entsprechende Menge aus einem oder mehreren Crawlern zuweisen, die voneinander unabhängige Aufgaben durchführen, zum Beispiel Untersuchen des Daten-Teilgraphs, der jedem Knoten über DHTs zugewiesen wurde. In diesem Sinne werden die Crawler-Suchlaufoperationen von jedem der Arbeiterknoten aus durchgeführt.
  • Die Teilgraphen können wie folgt zugewiesen werden: Daten, die die Datengraphstruktur wiedergeben, können zerlegt werden; und anschließend kann der Graph mit einer Operation nach dem Prinzip „Teile und herrsche” behandelt werden, um die Teilgraphen zu erhalten, die selbst zerlegt werden können. Dies kann mithilfe von DHTs realisiert werden, wodurch ein Integritätsnachweis der Teilgraphen ermöglicht wird. Die Verwendung von DHTs ist jedoch nur eine Option, die sich bei manchen Arten von Suchläufen, die auf Abfragen beruhen, gelegentlich nicht besonders eignet. Bei anderen Topologien (z. B. Bäume, k-näre Würfel und k-näre Dateien) werden alternative, nicht notwendigerweise dezentrale Optionen zur DHT in Betracht gezogen, zum Beispiel verkettete Listen bzw. Überspringen-Listen Superknoten mit Überlauf oder globale Routing-Tabellen, die den vom System gewählten Superknoten bekannt sind.
  • Wie im Ablaufplan von 3 veranschaulicht, können die vorliegenden Verfahren unter Umständen das sichere Belohnen S80 eines oder mehrerer der PoWs aufweisen, wobei ein kryptowährungsähnliches Protokoll verwendet wird, um aktive Teilnehmer zu belohnen. Allgemeiner ausgedrückt, ein beliebiges Protokoll kann vorgesehen werden, das für einen sicheren Belohnungsmechanismus geeignet ist. Je nach dem gewählten Protokoll kann die Belohnung die Form von Guthaben, Einheiten (unter Umständen Token, die zu Währungseinheiten gehören, wie z. B. im sogenannten „FoldingCoin”-System) oder eines beliebigen anderen geeigneten Belohnungsmechanismus annehmen, der vorzugsweise entsprechend der von den Knoten nachweisbar durchgeführten Arbeit skaliert werden soll. Der Belohnungsmechanismus kann außerdem andere Faktoren wie zum Beispiel den Arbeitsaufwand, die Zeit, die Ressourcenzuteilung usw. berücksichtigen. Insbesondere kann das System Knoten belohnen S80, die veranlasst haben: (i) entsprechend zugewiesene Daten und/oder (ii) nachweisbar erfasste derartige Daten mithilfe von Crawler-Suchläufen zu durchsuchen. Allgemeiner ausgedrückt, das System kann vorteilhafterweise jeden der PoWs belohnen.
  • Bei Ausführungsformen kann das System 10 ein Reputationssystem aufweisen, das eng mit dem Belohnungssystem verbunden ist, um die Glaubwürdigkeit reichlich belohnter Knoten im Gegensatz zu weniger aktiven oder neueren Knoten zu erhöhen, deren Ergebnisse gelegentlich zu denen im Widerspruch stehen könnten, die von Knoten mit höherem Ansehen zurückgegeben wurden.
  • Es soll darauf hingewiesen werden, dass das Belohnungssystem und die Reputationssysteme, die oben beschrieben wurden, durch einen oder mehrere der Knoten 1 bis 7 des Systems verkörpert sein können. In ähnlicher Weise können beliebige der in 3 abgebildeten Schritte durch einen oder mehrere oder durch einen beliebigen oder eine beliebige Kombination der Knoten des Systems realisiert sein. Insbesondere können bei einer dezentralen Peer-to-Peer-Knotenarchitektur ein oder mehrere beliebige oder jeder der in 3 abgebildeten Schritte durch jeden der aktiven Knoten realisiert sein. Jeder beliebige Knoten kann Daten-Crawler-Suchläufe und Datenerfassung durchführen sowie am Belohnen, Zeitstempeln, Signieren usw. teilnehmen. Bei einer „weniger” dezentralen Systemarchitektur können einem oder mehreren Knoten bestimmte Operationen zugewiesen sein. Ein Knoten kann der digitalen Signatur fest zugeordnet sein, ein anderer dem Belohnen usw.
  • Vorteilhafterweise können vorliegende Verfahren anstreben, zwei oder mehreren der Knoten dieselben Adressen redundant zuzuweisen S10, um eine Redundanz der Crawler-Suchlaufoperationen zu erhalten, die anschließend durch die aktiven Knoten durchgeführt werden. Dies kann durch einen beliebigen geeigneten Wahlmechanismus erreicht werden. Eine redundante Zuweisung macht es möglich, eine gewünschte Redundanz der per Crawler-Suche ermittelten und erfassten Daten zu erreichen, was wiederum eine Verbesserung der Zuverlässigkeit und Vertrauenswürdigkeit der Ergebnisse ermöglicht. Die Redundanz kann ferner dazu genutzt werden nachzuweisen, dass ein Knoten seine Crawler-Suchlaufaufgabe wirklich durchgeführt hat. Beispielsweise kann eine einfache (2k + 1)-Redundanz realisiert werden, um Verbindungen aufzubrechen und die Mehrheit zu erfassen.
  • Wie bereits zuvor erwähnt, sind Crawler-Suche nach und Erfassung von Daten Minimal-PoWs, die durch die vorliegenden Verfahren durchgeführt werden. Über diese Minimal-PoWs hinaus können die vorliegenden Verfahren ferner bei jedem aktiven Knoten ein Speichern S40 von Daten aufweisen, die er erfasst hat. Speicheroperationen führen einen dritten PoW ein. Um noch einmal darauf hinzuweisen, Redundanz ist erwünscht, um die Archivierung der per Crawler-Suche ermittelten Daten zu sichern. Zu beachten ist, dass komplexe Protokolle vorgesehen sind, um ungeachtet eines möglichen Datenaustausches zwischen den Knoten die Redundanz von gespeicherten Daten zu gewährleisten. Tatsächlich schließen vorliegende Verfahren die Möglichkeit nicht aus, dass die Knoten die knotenübergreifende Datenspeicherung neu organisieren. Wie bereits zuvor werden die Operationen des dritten POW vorzugsweise durch das System belohnt. Dasselbe Kryptowährungsprotokoll, das für Belohnungs-, Crawler-Suchlauf- bzw. Erfassungsoperationen verwendet wird, kann verwendet werden, um den dritten PoW (und gegebenenfalls beliebige andere PoWs) zu belohnen. Der Nachweis eines Knotens, der korrekt Daten per Crawler-Suchlauf ermittelt, erfasst (und auch abgerufen, siehe unten) hat, kann kryptographisch gesichert werden. Redundanz kann außerdem ergänzend zu kryptographischen Verfahren oder unabhängig davon verwendet werden, um die Nachweise zu erstellen.
  • Die kryptographischen Verfahren sollen vorzugsweise so konfiguriert sein, dass ein Anforderer (d. h. eine beliebige angeschlossene computergestützte Einheit, die Daten anfordert) gemäß einem Kryptoprotokoll und unter Verwendung von Redundanz nachweisbar Daten abrufen kann, die auf Knoten des Systems gespeichert sind. Insbesondere können die vorliegenden Verfahren ferner Schritte des nachweisbaren Abrufens S70 von Daten enthalten, die auf den Knoten des Systems 10 gespeichert sind. Die anfordernde Partei kann zum Beispiel ein Knoten des Systems sein. Aufgrund der zuvor erörterten möglichen Systemkonfigurationen kann der Anforderer ein Dritter sein, zum Beispiel ein externer Client-Knoten, der mit einem Knoten des Kernsystems Daten austauschen kann (aber mit diesem nach wie vor ein erweitertes computergestütztes System bildet). Ein Beispiel eines geeigneten Kryptoprotokolls ist das sogenannte Zero-Knowledge-Proof-Protokoll (Zero Knowledge Proof kenntnisfreier Nachweis), das bei Bedarf speziell an den Kontext der vorliegenden Ausführungsformen angepasst werden kann.
  • Das Abrufen von Daten, die auf den Knoten gespeichert sind, ist eine praktische Möglichkeit, um den Nachweis der Speicherung zu ermöglichen. Da der Datenabruf jedoch eine Operation ist, die sich vom Speichern von Daten unterscheidet, wird der Datenabruf als getrennter POW (hier der vierte PoW) gezählt. Der Abrufbarkeitsnachweis kann mit Verzögerungen einhergehen, die unter Umständen bei einigen Anwendungen nicht akzeptabel sind. Daher können Ausführungsformen der vorliegenden Erfindung unter Umständen anstreben, schnell ein vorläufiges Ergebnis abzurufen, zum Beispiel von einem sehr angesehenen Knoten, und das mit geringer Latenz behaftete vorzeitige Ergebnis kann, sofern notwendig, später durch den Nachweis ungültig gemacht werden (die Verzögerung würde je nach den genauen Kontexten normalerweise im Bereich von einigen wenigen Millisekunden bis Sekunden liegen).
  • Ausführungsformen können ferner ein Indizieren S50 von Daten aufweisen, die auf den Knoten gespeichert sind, und ein Einordnen S60 von Ergebnissen von Indizierungen. Das Indizieren erweist sich bei vielen Szenarien als nützlich. Das Indizieren von Daten soll vorzugsweise nach dem Speichern der erfassten Daten durchgeführt werden. Bei einer Ausführungsform kann das Indizieren von Daten vor dem Speichern oder zeitgleich während des Speicherns der Daten (Datenindizierungsoperationen sind in der Technik gut bekannt) durchgeführt werden, indem erfasste Daten analysiert werden. Das Indizieren ist jedoch nicht zwingend notwendig, insbesondere nicht in Fällen von Anforderungen auf lediglich Rohdaten. Jeder Knoten kann unter Umständen Schritte unternehmen, um Daten zu indizieren, die er speichert. Im Gegensatz zu Anforderungen in Bezug auf schlüssel- oder wertindizierte Daten kann ein beliebiger Knoten unabhängig von einer Indizierung später Anforderungen in Bezug auf Daten empfangen, bei denen es sich lediglich um Rohdaten handelt (per Crawler-Suchlauf ermittelte Daten, die auch als Korpusdaten bezeichnet werden).
  • Im vorliegenden Kontext kann das Einstufen vorteilhaft durchgeführt werden, indem die Redundanz der auf den Knoten gespeicherten Daten genutzt wird. Zu beachten ist, dass das Einstufen üblicherweise auf einer heuristischen linearen Gleichung „geheimer” Faktoren beruht, beispielsweise auf der Anzahl von Graphenkanten, WWW-Verweisen oder auf Links zu einer Seite. Selbstverständlich können über die Redundanz hinaus andere Kriterien verwendet werden, zum Beispiel das Ansehen, das seinerseits das (durch die Benutzer) in die Ergebnisse gesetzte Vertrauen und/oder das Vertrauen auf der Grundlage zuvor ausgeführter Arbeit nutzen kann. Redundanz kann außerdem zusätzlich zum Ansehen genutzt werden, um die Ergebnisse weiter einzustufen. Um noch einmal darauf hinzuweisen, es wird vorzugsweise ein dezentrales Einvernehmen angestrebt, wie im System von 1 angenommen.
  • Indizierungsoperationen führen einen fünften PoW ein, der vorzugsweise ebenfalls belohnt werden soll S80. Insbesondere können vorliegende Verfahren Knoten sicher belohnen S80, die darauf gespeicherte Daten gemäß einem geeigneten kryptowährungsähnlichen Protokoll nachweisbar indiziert haben. Der Nachweis der korrekten Indizierung kann zum Beispiel dem der Abrufbarkeit ähneln. Ein <Schlüssel, Wert>-Algorithmus wie zum Beispiel MapReduce bei Hadoop kann verwendet werden. Derartige Algorithmen haben jedoch eine Stapelverarbeitung mit hoher Latenz zur Folge, die in der Regel Cluster von einigen 10 bis 1000 Arbeiterknoten erfordert. In jüngster Zeit sind hierarchische und inkrementelle Algorithmen entstanden, z. B. Spark, Caffeine und Percolator, die den Zwischenzustand aufrechterhalten und unter Umständen besser für den vorliegenden Kontext geeignet sind. Allgemein sollte eine durch die Knoten durchgeführte intensive Operation vorzugsweise nachweisbar korrekt sein und entsprechend belohnt werden (in Token oder Währungseinheiten).
  • Wie bereits zuvor erwähnt, soll das System des Weiteren vorzugsweise zum Empfangen und Verarbeiten S70 von Datensuchanfragen konfiguriert sein, sei es von internen Knoten oder Client-Knoten. Zur Erreichung dieses Ziels kann das System 10 die bei Schritt S72 empfangenen Datensuchabfragen auf aktive Knoten verteilen S74, um die empfangenen Datensuchanfragen zu bedienen S76.
  • Das Verwalten von Abfragen führt einen sechsten PoW ein. Das Verwalten derartiger Abfragen schließt solche grundlegenden Operationen wie Empfangen, Verteilen (Lastausgleich) und Bedienen von Abfragen ein. Jedoch können bei Ausführungsformen weitere Operationen einbezogen sein, zum Beispiel Organisieren von Abfragen sowie Verarbeiten und Organisieren von Ergebnissen der Abfragen. Die Datensuchabfragen können entsprechend vorhergehenden Einordnungsoperationen verteilt werden. Dies kann auf dem Ansehen von Knoten und ihren Fähigkeiten beruhen, z. B. in einer Dienst- bzw. Dienstqualitätsgleichung (QoS-Gleichung) (QoS = Quality of Service, Dienstqualität) zusammengefasst sein. Die Abfragen können auf andere Weise verteilt werden, wobei eine Redundanz der auf den Knoten des Systems gespeicherten Daten, die tatsächliche Last, Belegungen und die Messgrößen zur Optimierung (Verzögerung, Qualität/Zuverlässigkeit usw.) berücksichtigt werden. Um noch einmal darauf hinzuweisen, eine geringe Latenz und geringes Vertrauen in vorzeitige Ergebnisse können wahlweise durch Knoten mit hohem Ansehen eingefügt werden (z. B. durch häufig genutzte Cluster, die Teil des vorliegenden Systems sein können). Diese könnten später durch die endgültigen Ergebnisse neu definiert oder sogar ungültig gemacht werden. Bei anderen Varianten können die Datensuchabfragen entsprechend sowohl den Einordnungsoperationen als auch der Redundanz verteilt werden.
  • Wie in 3 veranschaulicht, sollen vorliegende Verfahren vorzugsweise Knoten sicher belohnen S80, die unter Verwendung eines beliebigen geeigneten Protokolls Suchabfragen nachweisbar bedient haben.
  • Wie ferner in 3 veranschaulicht, können einer oder mehrere der PoWs digital signiert sein S90, damit durch den Knoten durchgeführte Operationen nachgewiesen werden können. Vorzugsweise ist jeder der PoWs digital signiert. Zur Erreichung dieses Ziels kann das System eine fest zugeordnete Einheit für digitale Signaturen aufweisen, die im Datenaustausch mit den Knoten steh. Bei einer dezentralen Architektur ist ein Protokoll für digitale Signaturen durch die untereinander verbundenen Knoten 1 bis 7 realisiert, die in 1 dargestellt sind.
  • Die durch das System ausgeführten kryptographischen Verfahren ermöglichen die hierin erörterten PoWs. Interessanterweise können dieselben kryptographischen Verfahren verwendet werden, um sowohl die auf den Knoten gespeicherten Daten als auch die knotenübergreifenden Datenübertragungen zu sichern. Die vorliegenden computergestützten Verfahren können ferner so konfiguriert werden, dass die knotenübergreifende Redundanz der per Crawler-Suche ermittelten Daten und der durch die Knoten erfassten Daten gewährleistet wird.
  • Die oben aufgeführten Merkmale können auf verschiedene Weise kombiniert werden. Beispielsweise können vorliegende Verfahren als Peer-to-Peer-Verfahren verkörpert werden, die Schritte realisieren, um: im System gespeicherte Daten und durch das System durchgeführte Operationen kryptographisch zu sichern, das als dezentrale Suchmaschine angeordnet ist (im Gegensatz zu lediglich archivierenden beliebigen Datenspeichern); und durch die Knoten geleistete Arbeit zu belohnen, wobei Ausgaben des Belohnungsmechanismus verwendet werden können, um das Ansehen der Knoten und ihre Chancen zu erhöhen bei zukünftigen Operationen zur Verwaltung von Crawler-Suchläufen und Abfragen bevorzugt zu werden.
  • Darüber hinaus können derartige Verfahren verwendet werden, um: (i) Die Suchfunktion um neue Einstufungsalgorithmen zu erweitern, indem Vorteile eines (möglicherweise hoch) redundanten Peer-to-Peer-Systems genutzt werden; und (ii) die unwirtschaftlichen, auf Hash-Funktionen beruhenden PoWs zu verbessern, wenn nicht gar zu ersetzen, die gegenwärtig in häufig genutzten Kryptowährungssystemen realisiert sind. Da die vorliegenden Systeme und Verfahren ein Austauschmedium unter Verwendung der Kryptographie bereitstellen, um Transaktionen zu sichern, können einige der Funktionen der gegenwärtigen Kryptowährungssysteme nach wie vor beibehalten werden, beispielsweise digitale Signaturen und Kryptoprotokolle.
  • Wie oben ausführlich erörtert, kann die vorliegende Erfindung als Verfahren verkörpert sein. Sie kann außerdem als computergestütztes System 10 verkörpert sein. Wie in den 1 und 2 dargestellt, kann das computergestützte System 10 untereinander verbundene Knoten 1 bis 7 enthalten, die so konfiguriert sind, dass sie Daten senden, empfangen und speichern können. Die Knoten sind des Weiteren so konfiguriert, dass sie oben beschriebene computergestützte kryptographische Verfahren ausführen können.
  • Schließlich kann die vorliegende Erfindung als Computerprogrammprodukt realisiert sein, das ein computerlesbares Speichermedium mit darauf verkörperten Programmanweisungen aufweist. Die Programmanweisungen sind durch die Knoten 1 bis 7 des Systems 10 ausführbar und bewirken, dass Letzteres hierin beschriebene computergestützte kryptographische Verfahren ausführt, wodurch zwei oder mehr PoWs realisiert werden können.
  • Nun soll mehr über das System und Computerprogrammrealisierungen gesagt werden. Computergestützte Einheiten können in geeigneter Weise gestaltet sein, um Ausführungsformen der vorliegenden Erfindung wie hierin beschrieben zu realisieren. In diesem Zusammenhang leuchtet es ein, dass die hierin beschriebenen Verfahren weitgehend nichtinteraktiv und automatisiert sind. Bei beispielhaften Ausführungsformen können die hierin beschriebenen Verfahren entweder in einem interaktiven, teilweise interaktiven oder nichtinteraktiven System realisiert werden. Die hierin beschriebenen Verfahren können in Software, Hardware oder in einer Kombination davon realisiert werden. Bei beispielhaften Ausführungsformen sind die hierin beschriebenen Verfahren in Software als ausführbares Programm realisiert, das durch geeignete digitale Verarbeitungseinheiten ausgeführt wird. Allgemeiner ausgedrückt, Ausführungsformen der vorliegenden Erfindung können realisiert werden, wobei digitale Mehrzweckcomputer wie zum Beispiel Personal Computer, Workstations usw. wie bei den vorliegenden Knoten 1 bis 7 verwendet werden.
  • Beispielsweise ist der Knoten 1 in 2 schematisch dargestellt. Der Knoten 1 kann eine computergestützte Einheit 101 sein, zum Beispiel ein Mehrzweckcomputer. Bei beispielhaften Ausführungsformen enthält die Einheit 101 in Bezug auf die Hardwarearchitektur wie in 2 dargestellt einen Prozessor 105, einen Speicher 110, der mit einer Speichersteuereinheit 115 verbunden ist, und eine oder mehrere Eingabe- und/oder Ausgabeeinheiten (E/A-Einheiten) 140, 145, 150, 155 (bzw. Peripherieeinheiten), die zu Datenübertragungszwecken über eine lokale Eingabe/Ausgabe-Steuereinheit 135 verbunden sind. Bei der Eingabe/Ausgabe-Steuereinheit (bzw. E/A-Steuereinheit) 135 kann es sich, ohne auf diese beschränkt zu sein, um einen oder mehrere Busse oder andere drahtgebundene oder drahtlose Verbindungen handeln, die in der Technik bekannt sind. Die E/A-Steuereinheit 135 kann weitere Elemente aufweisen, die aus Gründen der Einfachheit weggelassen wurden, beispielsweise Steuereinheiten, Puffer (Zwischenspeicher), Treiber, Repeater und Empfänger, um den Datenaustausch zu ermöglichen. Des Weiteren kann die lokale Schnittstelle Adress-, Steuer- und/oder Datenverbindungen aufweisen, um den entsprechenden Datenaustausch zwischen den oben genannten Komponenten zu ermöglichen.
  • Der Prozessor 105 ist eine Hardwareeinheit zum Ausführen von Software, insbesondere von jener, die im Speicher 110 gespeichert ist. Der Prozessor 105 kann ein kundenspezifischer oder handelsüblicher Prozessor, eine Zentraleinheit (CPU), ein Hilfsprozessor unter mehreren zur Einheit 101 gehörenden Prozessoren, ein auf Halbleitern beruhender Mikroprozessor (in Form eines Mikrochips oder Chipsatzes) oder allgemein eine beliebige Einheit zum Ausführen von Softwareanweisungen sein.
  • Der Speicher 110 kann beliebige oder eine Kombination aus flüchtigen Speicherelementen (z. B. Direktzugriffsspeicher) und nichtflüchtigen Speicherelementen enthalten. Darüber hinaus können zum Speicher 110 elektronische, magnetische, optische und/oder andere Arten von Speichermedien gehören. Zu beachten ist, dass der Speicher 110 eine verteilte Architektur aufweisen kann, bei der verschiedene Komponenten voneinander entfernt angeordnet sind, auf die der Prozessor 105 aber zugreifen kann.
  • Die im Speicher 110 gespeicherte Software kann ein oder mehrere separate Programme enthalten, von denen jedes eine geordnete Auflistung ausführbarer Anweisungen zum Realisieren von Logikfunktionen aufweist. Bei dem Beispiel aus 2 enthält die Software im Speicher 110 die Verfahren zur seriellen Verarbeitung, die hierin gemäß beispielhaften Ausführungsformen beschrieben sind, sowie ein geeignetes Betriebssystem (BS) 111, falls notwendig. Das BS 111 steuert im Wesentlichen die Ausführung anderer Computerprogramme wie zum Beispiel die hierin beschriebenen Verfahren, und stellt eine Ablaufplanung, Eingabe-Ausgabe-Steuerung, Datei- und Datenverwaltung, Speicherverwaltung und Steuerung des Datenaustauschs sowie zugehörige Dienste bereit.
  • Die hierin beschriebenen Verfahren können in Form eines Quellprogramms, ausführbaren Programms (Objektcode), von Scrripts oder einer beliebigen anderen Einheit vorliegen, die eine Menge durchzuführender Anweisungen aufweist. Wenn es sich um ein Quellprogramm handelt, muss das Programm mithilfe eines Compilers, Assemblers, Interpreters oder dergleichen, die an sich bekannt sind, übersetzt werden, der im Speicher 110 enthalten sein kann, sodass er in Verbindung mit dem BS 111 ordnungsgemäß funktioniert. Des Weiteren können die Verfahren in einer objektorientierten Programmiersprache geschrieben sein, die Klassen von Daten und Methoden aufweist, oder in einer prozeduralen Programmiersprache, die Routinen, Unterroutinen und/oder Funktionen aufweist.
  • Eine herkömmliche Tastatur 150 und eine Maus 155 können eventuell mit der E/A-Steuereinheit 135 verbunden sein. Außerdem können zu den E/A-Einheiten 140 bis 155 ferner Einheiten gehören, die sowohl Eingaben als auch Ausgaben übertragen. Die Einheit 101 kann ferner eine Anzeigesteuereinheit 125 enthalten, die mit einer Anzeige 130 verbunden ist. Die Einheit 101 soll ferner eine Netzwerkschnittstelle oder einen Transceiver 160 oder beliebige geeignete Datenübertragungsmittel enthalten, um über ein Datenübertragungsnetzwerk 165 Daten mit anderen Knoten 102 auszutauschen. Bei Bedarf sendet und empfängt das Netzwerk 165 Daten zwischen den Knoten 1 bis 7 und externen Systemen. Das Netzwerk 165 kann in drahtloser Form realisiert sein, z. B. unter Verwendung von Funkprotokollen und -technologien wie zum Beispiel WiFi, WiMax usw. Das Netzwerk 165 kann ein Fixed Wireless Network, ein drahtloses lokales Netzwerk (LAN), ein drahtloses Weitverkehrsnetzwerk (WAN), ein Personal Area Network (PAN), ein virtuelles privates Netzwerk (VPN), ein Intranet oder ein anderes geeignetes Netzwerksystem sein und enthält Geräte zum Empfangen und Senden von Signalen. Das Netzwerk 165 kann zudem ein IP-Netzwerk zum Datenaustausch zwischen dem Knoten 1 und einem beliebigen externen Knoten 2 (Server, Client und dergleichen, je nach der enthaltenen Architektur) über eine Breitbandverbindung sein. Bei beispielhaften Ausführungsformen kann das Netzwerk 165 ein verwaltetes IP-Netzwerk sein, das durch einen Dienstanbieter administriert wird. Überdies kann das Netzwerk 165 ein paketvermitteltes Netzwerk wie zum Beispiel ein LAN, WAN, Internet-Netzwerk usw. sein.
  • Wenn es sich bei dem Computer 101 um einen PC, eine Workstation, eine intelligente Einheit oder dergleichen handelt, kann die Software im Speicher 110 ferner ein Basic Input Output System (BIOS) enthalten. Das BIOS ist im ROM gespeichert, sodass das BIOS ausgeführt werden kann, wenn die Einheit 101 aktiviert wird.
  • Im Betriebszustand der Einheit 101 ist der Prozessor 105 so konfiguriert, dass im Speicher 110 gespeicherte Software ausgeführt wird, um Daten zum und aus dem Speicher 110 zu übertragen und der Software folgend Operationen der Einheit 101 allgemein zu steuern. Die hierin beschriebenen Verfahren und das BS 111 werden ganz oder teilweise durch den Prozessor 105 gelesen und in der Regel innerhalb des Prozessors 105 gepuffert und anschließend ausgeführt. Wenn die hierin beschriebenen Verfahren in Software realisiert sind, können die Verfahren zur Verwendung durch oder in Verbindung mit einem beliebigen computergestützten System oder Verfahren auf einem beliebigen computerlesbaren Medium wie zum Beispiel einem Speicher 120 gespeichert sein.
  • Wie in 4 dargestellt, enthält die Anwendungsschicht bei typischen Ausführungsformen im Wesentlichen die Komponenten, die zur PoW-Berechnung (d. h. im Zusammenhang mit den Schritten S10 bis S60 in 3) und zur Abfrageverarbeitung (Schritt S70) benötigt werden. Die PoW-Berechnung führt zu Interaktionen mit dem Daten-„Korpus”-Speicher, während die Abfrageverarbeitung Transaktionsabfragen von den und Antworten an die Knoten 1 bis 7 (bzw. im Zusammenhang mit einem beliebigen verbundenen Anforderer) verwaltet. Die Datenübertragungsschicht kann wie üblich in Bitübertragungs-, Sicherungs-, Vermittlungs-, Transport-, Sitzungs- und Darstellungs-Teilschicht unterteilt werden. Bei Ausführungsformen sind einige dieser Teilschichten unter Umständen nicht notwendig.
  • Die vorliegende Erfindung kann ein System, ein Verfahren und/oder ein Computerprogrammprodukt sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit darauf befindlichen computerlesbaren Programmanweisungen enthalten, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Das computerlesbare Speichermedium kann eine materielle Einheit sein, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit aufbewahren und speichern kann. Das computerlesbare Speichermedium kann zum Beispiel, ohne auf diese beschränkt zu sein, eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden sein. Eine nicht erschöpfende Liste genauerer Beispiele des computerlesbaren Speichermediums enthält Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhöhte Strukturen in einer Vertiefung mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein computerlesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z. B. Lichtimpulse, die ein Lichtwellenleiterkabel durchlaufen) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene computerlesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der betreffenden Datenverarbeitungs-/Verarbeitungs-Einheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembleranweisungen, ISA-Anweisungen (ISA = Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, Daten zum Setzen von Zuständen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, zu denen eine objektorientierte Programmiersprache wie beispielsweise Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“” oder ähnliche Programmiersprachen gehören. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, Field-Programmable Gate Arrays (FPGA) oder programmierbare logische Arrays (PLA) gehören, die computerlesbaren Programmanweisungen ausführen, indem Zustandsinformationen der computerlesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufplan-Darstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Ablaufpläne und/oder der Blockschemata und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschemata durch Computerprogrammanweisungen realisiert werden kann bzw. können.
  • Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderer programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschemas angegebenen Funktionen/Aktionen zu realisieren. Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das computerlesbare Medium mit darauf gespeicherten Anweisungen ein Produkt aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Ablaufpläne und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die computerlesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Ablaufpläne und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Der Ablaufplan und die Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Erfindung. Dementsprechend kann jeder Block in den Ablaufplänen bzw. in den Blockschemata ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die im Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschemata und/oder der dargestellten Ablaufpläne sowie Kombinationen von Blöcken in den dargestellten Blockschemata und/oder in den dargestellten Ablaufplänen mithilfe von speziellen hardwaregestützten Systemen realisiert werden kann, die die angegebenen Funktionen bzw. Aktionen ausführen, oder mithilfe von Kombinationen aus spezieller Hardware und Computeranweisungen realisiert werden kann.
  • Obwohl die vorliegende Erfindung unter Bezugnahme auf eine begrenzte Anzahl von Ausführungsformen, Varianten und die beigefügten Zeichnungen beschrieben wurde, wird dem Fachmann jedoch klar sein, dass verschiedene Änderungen vorgenommen werden können und Elemente der Erfindung durch Äquivalente ersetzt werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Insbesondere kann eine Funktion (einheitenähnlich oder verfahrensähnlich), die in einer bestimmten Ausführungsform oder Variante aufgeführt oder in einer Zeichnung dargestellt ist, mit einer anderen Funktion in einer anderen Ausführungsform, Variante oder Zeichnung kombiniert oder durch diese ersetzt werden, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Verschiedene Kombinationen der in Bezug auf beliebige der oben aufgeführten Ausführungsformen oder Varianten beschriebenen Funktionen können dementsprechend vorgesehen werden, die in den Schutzbereich der beigefügten Ansprüche fallen. Darüber hinaus können viele Änderungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung anzupassen, ohne von deren Schutzbereich abzuweichen. Daher soll die vorliegende Erfindung nicht auf die jeweiligen offenbarten Ausführungsformen beschränkt sein, sondern die vorliegende Erfindung schließt alle Ausführungsformen ein, die in den Schutzbereich der beigefügten Ansprüche fallen. Darüber hinaus können viele andere Varianten als die oben ausdrücklich erwähnten vorgesehen werden.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung sollen der Veranschaulichung dienen, sind jedoch nicht als vollständig oder auf die Erfindung in der offenbarten Form beschränkt gedacht. Für den Fachmann sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzbereich und Gedanken der beschriebenen Ausführungsformen darstellen würden. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung bzw. die technische Verbesserung gegenüber den auf dem Markt vorgefundenen Technologien auf bestmögliche Weise zu erläutern bzw. anderen mit entsprechenden Fachkenntnissen das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (15)

  1. Verfahren zum Sichern von Datenoperationen in einem computergestützten System, das untereinander verbundene Knoten aufweist, die so konfiguriert sind, dass sie Daten senden, empfangen und speichern, wobei das Verfahren aufweist: Ausführen computergestützter kryptographischer Verfahren zur Realisierung von zwei oder mehr Arbeitsnachweisen (Proofs of Work), wobei die computergestützten kryptographischen Verfahren aufweisen, dass aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
  2. Verfahren nach Anspruch 1, das ferner aufweist: Zuweisen einer oder mehrerer Adressen zu jedem Knoten der Teilmenge, wobei es sich bei jeder der zugewiesenen Adressen um einen Verweis auf eine digitale Ressource handelt und wobei gemäß der einen oder mehreren Adressen, die jedem Knoten der Teilmenge zugewiesen wurden, an jedem Knoten der Teilmenge Crawler-Suchläufe durchgeführt werden, um Daten nachweisbar zu ermitteln.
  3. Verfahren nach Anspruch 2, wobei die Adressen durch das System bereitgestellt werden.
  4. Verfahren nach Anspruch 2, wobei das Verfahren ein redundantes Zuweisen einer oder mehrerer identischer Adressen zu zwei oder mehr Knoten der Teilmenge aufweist, um eine Redundanz der durch zwei oder mehr Knoten durchgeführten Crawler-Suchoperationen zu erhalten.
  5. Verfahren nach Anspruch 4, wobei die kryptographischen Verfahren ferner so konfiguriert sind, dass Daten durch einen Dritten gemäß einem Kryptoprotokoll unter Verwendung der Redundanz nachweisbar abrufbar sind, die auf einem oder mehreren der Knoten der Teilmenge gespeichert sind, und wobei das Verfahren ferner ein nachweisbares Abrufen von Daten aufweist, die auf dem einen oder den mehreren der Knoten der Teilmenge gespeichert sind.
  6. Verfahren nach Anspruch 1, das ferner aufweist: gemäß einem kryptowährungsähnlichen Protokoll sicheres Belohnen jedes Knotens der Teilmenge dafür, dass er veranlasst hat, die entsprechende Teilmenge von Daten mittels Crawler-Suchläufen nachweisbar zu durchsuchen und/oder die Daten in der Teilmenge von Daten nachweisbar erfasst hat.
  7. Verfahren nach Anspruch 1, das ferner aufweist: bei jedem Knoten der Teilmenge Speichern von Daten, die er erfasst hat.
  8. Verfahren nach Anspruch 7, wobei das System ferner zum Empfangen von Datensuchabfragen konfiguriert ist, wobei das Verfahren ferner aufweist: Verteilen von Datensuchabfragen, die durch das System empfangen wurden, auf Knoten der Teilmenge untereinander verbundener Knoten, um die empfangenen Datensuchabfragen zu bedienen, wobei das Verteilen der Abfragen entsprechend einer Redundanz von Daten durchgeführt wird, die auf den Knoten der Teilmenge untereinander verbundener Knoten gespeichert sind.
  9. Verfahren nach Anspruch 7, das ferner aufweist: gemäß einem kryptowährungsähnlichen Protokoll sicheres Belohnen jedes Knotens der Teilmenge dafür, dass er die Daten nachweisbar gespeichert hat, die er erfasst hat.
  10. Verfahren nach Anspruch 7, das ferner bei dem einen oder den mehreren Knoten der Teilmenge aufweist: Indizieren von darauf gespeicherten Daten und Einordnen von Ergebnissen des Indizierens der Daten.
  11. Verfahren nach Anspruch 10, wobei das Einstufen der Ergebnisse gemäß einer Redundanz von Daten durchgeführt wird, die auf dem einen oder den mehreren der Knoten der Teilmenge gespeichert sind,
  12. Verfahren nach Anspruch 10, das ferner aufweist: gemäß einem Kryptowährungsprotokoll sicheres Belohnen des einen oder der mehreren der Knoten der Teilmenge dafür, dass sie darauf gespeicherte Daten nachweisbar indiziert haben.
  13. Verfahren nach Anspruch 10, wobei das System des Weiteren zum Empfangen von Datensuchabfragen konfiguriert ist, wobei das Verfahren ferner aufweist: Verteilen von Datensuchabfragen, die durch das System empfangen wurden, auf Knoten der Teilmenge untereinander verbundener Knoten, um die empfangenen Datensuchabfragen zu bedienen, wobei das Verteilen der Datensuchabfragen gemäß einem Resultat des Einordnens von Ergebnissen des Indizierens der Daten durchgeführt wird.
  14. Computergestütztes System zum Sichern von Datenoperationen, das untereinander verbundene Knoten aufweist, die so konfiguriert sind, dass sie Daten senden, empfangen und speichern und computergestützte kryptographische Verfahren ausführen, um zwei oder mehr Proofs of Work zu realisieren, indem aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und indem bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
  15. Computerprogrammprodukt zum Sichern von Datenoperationen, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darauf verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch Knoten ausführbar sein können, die in einem computergestützten System zum Sichern von Datenoperationen untereinander verbunden sind, um die Knoten zu veranlassen, computergestützte kryptographische Verfahren zur Realisierung von zwei oder mehr Proofs of Work auszuführen, indem aus jedem Knoten mindestens einer Teilmenge der untereinander verbundenen Knoten mittels Crawler-Suchläufen eine entsprechende Teilmenge von Daten nachweisbar ermittelt wird, die auf Knoten des Systems gespeichert sind, und indem bei jedem Knoten der Teilmenge Daten in der Teilmenge von Daten nachweisbar erfasst werden.
DE102016104478.4A 2015-03-12 2016-03-11 Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren Pending DE102016104478A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/645,587 2015-03-12
US14/645,587 US10565588B2 (en) 2015-03-12 2015-03-12 Cryptographic methods implementing proofs of work in systems of interconnected nodes

Publications (1)

Publication Number Publication Date
DE102016104478A1 true DE102016104478A1 (de) 2016-09-15

Family

ID=56800720

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016104478.4A Pending DE102016104478A1 (de) 2015-03-12 2016-03-11 Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren

Country Status (3)

Country Link
US (1) US10565588B2 (de)
CN (1) CN106022139A (de)
DE (1) DE102016104478A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017000167A1 (de) 2017-01-11 2018-07-12 Giesecke+Devrient Mobile Security Gmbh Anonymisierung einer Blockkette
DE102017209014A1 (de) 2017-05-30 2018-12-06 Robert Bosch Gmbh Verfahren und Vorrichtung zum Anfügen von Transaktionen an eine Blockkette
US10565588B2 (en) 2015-03-12 2020-02-18 International Business Machines Corporation Cryptographic methods implementing proofs of work in systems of interconnected nodes

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114970B2 (en) * 2015-06-02 2018-10-30 ALTR Solutions, Inc. Immutable logging of access requests to distributed file systems
US9881176B2 (en) 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US11650972B1 (en) 2015-12-02 2023-05-16 Wells Fargo Bank, N.A. Semantic compliance validation for blockchain
US11720688B2 (en) * 2016-06-13 2023-08-08 CloudMode, LLC Secure initiation and transfer of a cryptographic database and/or a cryptographic unit
US10013246B2 (en) * 2016-12-03 2018-07-03 Dell Products, Lp Distributed information handling systems and methods for automatic object code replacement and patching
CN110603557B (zh) * 2017-03-16 2024-04-12 香港物流及供应链管理应用技术研发中心 控制交易账本的系统和方法
US20180374094A1 (en) * 2017-06-22 2018-12-27 Mastercard International Incorporated Method and system for indexing consumer enrollment using blockchain
GB201711867D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
US11502828B2 (en) 2017-11-15 2022-11-15 International Business Machines Corporation Authenticating chaincode to chaincode invocations of a blockchain
US10693849B2 (en) 2017-11-15 2020-06-23 International Business Machines Corporation Sending message in multilayer system
IT201800003504A1 (it) * 2018-03-13 2019-09-13 Ali Group Srl Carpigiani Macchina per la realizzazione di prodotti alimentari liquidi o semiliquidi e sistema di produzione comprendente detta macchina
IT201800003502A1 (it) * 2018-03-13 2019-09-13 Ali Group Srl Carpigiani Macchina e sistema per la realizzazione di prodotti alimentari liquidi o semiliquidi.
US10671308B2 (en) 2018-08-07 2020-06-02 International Business Machines Corporation Private and fault-tolerant storage of segmented data
US20200082398A1 (en) * 2018-09-07 2020-03-12 Nebulas IO Limited Proof-of-Devotion Blockchain Consensus Algorithm
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
EP3811259B1 (de) 2018-09-21 2023-08-16 NEC Corporation Verfahren zum signieren eines neuen blocks in einem dezentralisierten blockchain-konsensnetzwerk
US11770263B1 (en) * 2022-12-06 2023-09-26 Citibank, N.A. Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements
US11658833B1 (en) 2022-12-06 2023-05-23 Citibank, N.A. Systems and methods for conducting cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654783B1 (en) 2000-03-30 2003-11-25 Ethergent Corporation Network site content indexing method and associated system
US7139747B1 (en) * 2000-11-03 2006-11-21 Hewlett-Packard Development Company, L.P. System and method for distributed web crawling
US8095500B2 (en) 2003-06-13 2012-01-10 Brilliant Digital Entertainment, Inc. Methods and systems for searching content in distributed computing networks
US8136025B1 (en) * 2003-07-03 2012-03-13 Google Inc. Assigning document identification tags
US7464076B2 (en) * 2004-05-15 2008-12-09 International Business Machines Corporation System and method and computer program product for ranking logical directories
US8132005B2 (en) 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
EP2409251A4 (de) * 2009-03-20 2015-03-18 Ad Vantage Networks Llc Verfahren und und systeme zur durchsuche, auswahl und anzeige von inhalten
US20100287152A1 (en) * 2009-05-05 2010-11-11 Paul A. Lipari System, method and computer readable medium for web crawling
US8880588B2 (en) * 2010-10-29 2014-11-04 Fujitsu Limited Technique for stateless distributed parallel crawling of interactive client-server applications
US20120143844A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Multi-level coverage for crawling selection
US8170971B1 (en) * 2011-09-28 2012-05-01 Ava, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US20140067451A1 (en) * 2012-08-30 2014-03-06 Xerox Corporation Hybrid Multi-Iterative Crowdsourcing System
CN102916963B (zh) 2012-10-26 2014-12-31 中国人民解放军信息工程大学 一种数据安全交换方法、装置、节点及系统
US10565588B2 (en) 2015-03-12 2020-02-18 International Business Machines Corporation Cryptographic methods implementing proofs of work in systems of interconnected nodes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565588B2 (en) 2015-03-12 2020-02-18 International Business Machines Corporation Cryptographic methods implementing proofs of work in systems of interconnected nodes
DE102017000167A1 (de) 2017-01-11 2018-07-12 Giesecke+Devrient Mobile Security Gmbh Anonymisierung einer Blockkette
WO2018130426A1 (de) 2017-01-11 2018-07-19 Giesecke+Devrient Mobile Security Gmbh Anonymisierung einer blockkette
DE102017209014A1 (de) 2017-05-30 2018-12-06 Robert Bosch Gmbh Verfahren und Vorrichtung zum Anfügen von Transaktionen an eine Blockkette
US10902388B2 (en) * 2017-05-30 2021-01-26 Robert Bosch Gmbh Method and device for adding transactions to a blockchain

Also Published As

Publication number Publication date
US10565588B2 (en) 2020-02-18
US20160358169A1 (en) 2016-12-08
CN106022139A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
DE102016104478A1 (de) Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren
DE112011100808B4 (de) System und Verfahren zum Unterstützen der Instanziierung und Migration virtueller Maschinen
DE112013000752B4 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE112012005533B4 (de) Unterstützende Abfrage und ein Abfragen
DE112013000865B4 (de) Konsolidieren von unterschiedlichen Cloud-Dienst-Daten und -Verhaltensweisen auf der Grundlage von Vertrauensbeziehungen zwischen Cloud-Diensten
DE112016001075T5 (de) Verteiltes speichern und abrufen von datensätzen
DE112015005728T5 (de) Automatisches Auffinden von Konfigurationselementen
DE112015003406T5 (de) Datenherkunftssummierung
DE112014000358T5 (de) Regionales Firewall-Clustering in einer vernetzten Datenverarbeitungsumgebung
DE112012003193T5 (de) Verbeesertes Captcha-Programm unter Verwendung von Bildfolgen
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
DE202014010941U1 (de) Einen gegenwärtigen Standort auf Basis einer Standorthistorie ableiten
DE202019005859U1 (de) System und Einrichtung zum Auswählen eines Edge-Servers
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE112020003596B4 (de) Datenbank-Tuning unter Verwendung eines föderierten maschinellen Lernsystems eines Centerless-Netzwerks
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112018004008T5 (de) Auf dateisysteminhalten beruhende sicherheit
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE112021000338B4 (de) Auslagern der statistikerfassung
DE102013201664B4 (de) Vorausschauendes Zwischenspeichern bei Telekommunikationstürmen unter Verwendung der Weitergabe der Kennung von Elementen von Daten mit hohem Bedarf auf einer geographischen Ebene
DE102012223167A1 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente

Legal Events

Date Code Title Description
R086 Non-binding declaration of licensing interest
R012 Request for examination validly filed