DE102018009320A1 - Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database - Google Patents

Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database Download PDF

Info

Publication number
DE102018009320A1
DE102018009320A1 DE102018009320.5A DE102018009320A DE102018009320A1 DE 102018009320 A1 DE102018009320 A1 DE 102018009320A1 DE 102018009320 A DE102018009320 A DE 102018009320A DE 102018009320 A1 DE102018009320 A1 DE 102018009320A1
Authority
DE
Germany
Prior art keywords
computer system
neighbor
transaction
rating
method step
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.)
Withdrawn
Application number
DE102018009320.5A
Other languages
German (de)
Inventor
Roman Semko Androsenko
Vitaly Semko Androsenko
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.)
Semkodev GbR Vertretungsberechtigter Ges Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04
Semkodev GbR Vertretungsberechtigter Gesellschafter Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04275 Leipzig Roman Semko Androsenko 04275 Leipzig
Original Assignee
Semkodev GbR Vertretungsberechtigter Ges Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04
Semkodev GbR Vertretungsberechtigter Gesellschafter Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04275 Leipzig Roman Semko Androsenko 04275 Leipzig
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 Semkodev GbR Vertretungsberechtigter Ges Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04, Semkodev GbR Vertretungsberechtigter Gesellschafter Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04275 Leipzig Roman Semko Androsenko 04275 Leipzig filed Critical Semkodev GbR Vertretungsberechtigter Ges Anne Kathrin Semko 04275 Leipzig Vitaly Semko Androsenko 04
Priority to DE102018009320.5A priority Critical patent/DE102018009320A1/en
Publication of DE102018009320A1 publication Critical patent/DE102018009320A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

Arbeitsverfahren von Computersystemen (10) in einem Blockchain-Computernetzwerk (60) zum Schutz der Integrität eines verteilten Datenbestands mittels einer selbstregulierenden Netzwerkformierung (190), Kommunikationssteuerung (320) und Konsensfindung (170) zwischen den Computersystemen (10) (siehe Figur 1). Das Arbeitsverfahren löst das Problem von diversen Zentralisierungsrisiken und Angriffsvektoren, die in klassischen Blockchain-Computernetzwerken (60) in verschiedenen Ausprägungen vorhanden sind. Das Arbeitsverfahren ermöglicht das Entstehen eines offenen Multiagentensystems (180) zur Lösung dieser Probleme. Die Integrität wichtiger verteilter Datenbestände (z.B. Finanzdaten, Kryptowährungen, etc.) und deren sichere Modifizierung wird u.a. dadurch sichergestellt, dass die Machtverhältnisse bei der Konsensfindung (170) nicht durch die umweltfeindliche Leistungsstärke der einzelnen Computersysteme (10) sondern durch ein organisch aufgebautes System von Vertrauensbeziehungen unter den Computersystemen (10) bestimmt werden. Der Kern der Lösung betrifft die Berechnung und den Austausch von Ratings (80) von Computersystemen (10), die Bewertung der Transaktionsnachrichten (40), eine fest definierte Verhandlungsdynamik zwischen den Computersystemen (10), aber auch zwei Zufallswerte, welche diverse Vorhersagen und andere Vorbereitungen durch Angreifer unmöglich machen. Das Rating (80) spielt eine fest definierte wichtige Rolle bei allen VerfahrensschrittenWorking methods of computer systems (10) in a blockchain computer network (60) to protect the integrity of a distributed database by means of self-regulating network formation (190), communication control (320) and finding consensus (170) between the computer systems (10) (see Figure 1). The working method solves the problem of various centralization risks and attack vectors that exist in various forms in classic blockchain computer networks (60). The working process enables the creation of an open multi-agent system (180) to solve these problems. The integrity of important distributed databases (e.g. financial data, cryptocurrencies, etc.) and their secure modification is, among other things, This ensures that the balance of power in finding consensus (170) is determined not by the environmentally harmful performance of the individual computer systems (10) but by an organically built system of trust relationships among the computer systems (10). The core of the solution relates to the calculation and exchange of ratings (80) of computer systems (10), the evaluation of transaction messages (40), a firmly defined dynamic of negotiations between the computer systems (10), but also two random values, which various predictions and others Make it impossible for attackers to prepare. The rating (80) plays a defined, important role in all procedural steps

Description

Technisches GebietTechnical field

Eine oder mehrere Implementierungen betreffen allgemein verteilte Blockchain-Datenbanken, insbesondere aber offene Multiagentensysteme, die Vernetzung von Computersystemen in einem Blockchain-Computernetzwerk und die automatische Konsensfindung für Transaktionsnachrichten zwischen diesen Computersystemen.One or more implementations relate to generally distributed blockchain databases, but in particular open multi-agent systems, the networking of computer systems in a blockchain computer network and the automatic finding of consensus for transaction messages between these computer systems.

Stand der TechnikState of the art

Blockchain Technologien haben sich durchgesetzt als Verfahren zur Sicherung der Integrität von verteilten Datenbeständen und deren Änderungstransaktionen (30). Diese Datenbestände sind unabhängig von zentralen Instanzen des Vertrauens (z.B. Behörden, Prüfungsabteilungen, Zentralservern, etc.) und haben daher diverse Vorteile in der Wirtschaft insbesondere im Hinblick auf Prozessoptimierung, Kostensenkung und Schutz vor Manipulation/Betrug. Automatisierung des Vertrauens durch Technologie ist verlockend, jedoch entstehen schnell diverse Risiken durch Zentralisierung. Aktuell existieren zwei grobe Ansätze:

  1. 1. Komplett vertrauensfreie Blockchain-Computernetzwerke (60), in denen kein Computersystem (10) einem anderen vertraut und in welchen man Regeln bzw. die richtige Konsensfindung (170) durch ein System von finanzieller Sanktion und Entlohnung durchsetzt.
  2. 2. Teilweise zentralisierte Blockchain-Computernetzwerke (60), in denen wenige vordefinierte Computersysteme (10) komplettes Vertrauen des ganzen Netzwerkes genießen und immer das letzte Wort in Konfliktsituationen bzw. bei der Konsensfindung (170) haben. Sie regeln aud diese Weise die Arbeitsweise des gesamten Blockchain-Computernetzwerks (60).
Blockchain technologies have established themselves as procedures for securing the integrity of distributed databases and their change transactions ( 30th ). These databases are independent of central instances of trust (e.g. authorities, audit departments, central servers, etc.) and therefore have various advantages in business, particularly with regard to process optimization, cost reduction and protection against manipulation / fraud. Automation of trust through technology is tempting, but various risks quickly arise through centralization. There are currently two rough approaches:
  1. 1. Completely trust-free blockchain computer networks ( 60 ) in which no computer system ( 10th ) trust another and in which one rules or the right consensus finding ( 170 ) enforced by a system of financial sanction and remuneration.
  2. 2. Partially centralized blockchain computer networks ( 60 ), in which few predefined computer systems ( 10th ) enjoy complete trust of the whole network and always have the last word in conflict situations or in finding consensus ( 170 ) to have. In this way, they regulate the functioning of the entire blockchain computer network ( 60 ).

Im zweiten Fall kann man nicht mehr von einem reinen dezentralisierten System sprechen und es kann daher nicht alle Vorteile genießen: es entstehen offensichtliche Angriffspunkte und Ineffizienzen.In the second case, one can no longer speak of a purely decentralized system and therefore cannot enjoy all the advantages: there are obvious points of attack and inefficiencies.

Im ersten Fall erreicht man ebenfalls eine irreversible Ungleichheit durch Unverhältnismäßigkeit von finanzieller Entlohnung (z.B. durch Kryptowährungen wie Bitcoin) und der Sanktionen (mittels einer „Proof-of-Work“ (220) CPU-Belastung). Diese Entlohnung stimuliert ein rasches Wachstum von leistungsstarken umweltfeindlichen Computersystemen (siehe „bitcoin miners“), die einen unverhältnismäßigen Machteinfluss auf die Konsensfindung im gesamten Blockchain-Computernetwerk (60) gewinnen. In diesem Fall entsteht indirekt auch eine Art Zentralisierung durch den Einsatz von leistungsstarken Computersystemen. Die Machtverhältnisse in der Konsensfindung (170) verschieben sich daher in Richtung der finanziellen Stärke: es entstehen offensichtliche Angriffspunkte bzw. Risiken.In the first case, irreversible inequality is also achieved through the disproportionate nature of financial remuneration (e.g. through cryptocurrencies such as Bitcoin) and the sanctions (using a "proof-of-work" (220) CPU load). This reward stimulates the rapid growth of powerful, environmentally hostile computer systems (see "bitcoin miners"), which have a disproportionate influence on the consensus building in the entire blockchain computer network ( 60 ) win. In this case, a kind of centralization arises indirectly through the use of powerful computer systems. The balance of power in finding consensus ( 170 ) therefore shift in the direction of financial strength: there are obvious points of attack or risks.

Zentralisierung ist katastrophal für verteilte Datenbestände, jedoch werden die Risiken meistens unterschätzt. Zentralisierte Systeme bieten eine Angriffsfläche bzw. eine Zielscheibe für Hacker, Korruption, Machtmissbrauch, technisches und menschliches Versagen, etc. Nur durch die Vermeidung der Verschiebung von Machtverhältnissen in der Konsensfindung eines Blockchain-Computernetzwerks (60) kann man diese Risiken nachhaltig minimieren.Centralization is catastrophic for distributed databases, but the risks are mostly underestimated. Centralized systems offer a target or target for hackers, corruption, abuse of power, technical and human error, etc. Only by avoiding a shift in the balance of power in the consensus building of a blockchain computer network ( 60 ) you can minimize these risks sustainably.

In den klassischen Blockchain Technologien spielt die Leistungsstärke auch bei den Angriffen durch bösartige Computersysteme (250) und insbesondere bei SPAM-Angriffen (260) eine große Rolle. Insbesondere, wenn die Netzwerktopografie (200) bekannt ist, können Angreifer einzelne Teile oder sogar die Gesamtheit des Blockchain-Computernetzwerks (60) lahmlegen und/oder aufsplitten und währenddessen versuchen neue Fakten in der verteilten Blockchain-Datenbank (20) zu schaffen. Diese Angriffe werden u.a. durch die Erwirkung des „Proof-of-Work“ (220), auch bekannt als PoW, teilweise unterbunden. Bei dem PoW müsste der Angreifer für die Transaktionsnachrichten (40) CPU-Ressourcen investieren und ein kryptografisches Rätsel lösen. Mit genug Ressourcen ist dies jedoch ein plausibler Angriffsvektor auf ein Blockchain-Computernetzwerk (60).In classic blockchain technologies, performance also plays a role in attacks by malicious computer systems ( 250 ) and especially in the case of SPAM attacks ( 260 ) a major role. Especially if the network topography ( 200 ) is known, attackers can use individual parts or even the entirety of the blockchain computer network ( 60 ) paralyze and / or split up and try new facts in the distributed blockchain database ( 20th ) to accomplish. These attacks are partially prevented by, among other things, the achievement of the "Proof-of-Work" (220), also known as PoW. At the PoW, the attacker would have to 40 ) Invest CPU resources and solve a cryptographic puzzle. However, with enough resources, this is a plausible attack vector on a blockchain computer network ( 60 ).

Die Herausforderung bleibt ein effizientes, sicheres und komplett dezentralisiertes Blockchain-Computernetzwerk (60) aufzubauen, dass die Integrität eines verteilten Datenbestands ohne das Risiko der Zentralisierung durch Machtverschiebung unter Einsatz von Ressourcen, sicherstellt.The challenge remains an efficient, secure, and completely decentralized blockchain computer network ( 60 ) to ensure that the integrity of a distributed database is ensured without the risk of centralization through a shift in power using resources.

Wenn es um die Erledigung von verteilten Aufgaben geht, können in der Theorie Systeme von verteilter künstlicher Intelligenz, bzw. Multiagentensysteme (MAS) (180), zum Einsatz kommen. MAS finden bereits in Lösungen anderer Bereiche Anwendung, z.B.: bei der Erledigung logistischer Aufgaben durch Schwarm-Robotik, bei verteilten Energiesystemen, bei der Analyse von Big Data, etc.When it comes to performing distributed tasks, in theory systems of distributed artificial intelligence or multi-agent systems (MAS) ( 180 ), are used. MAS are already used in solutions in other areas, e.g. in the execution of logistical tasks using swarm robotics, in distributed energy systems, in the analysis of big data, etc.

Um ihre Ziele zu erreichen müssen Agenten in einem offenen MAS (180) in soziale Interaktion treten, wie z.B. Kooperation, Koordination, Verhandlung und Konfliktlösung (Vgl. Wooldridge 2009). Bei diesen Aktivitäten spielen sowohl die Dimension des Vertrauens als auch die Dimension der damit verbundenen Interaktionen wie Koalition, Argumentation und Empfehlung (Vgl. J.Granatyr 2015 S.2) eine Rolle. Die Agenten können ihr Vertrauen als einen numerischen Wert behandeln, der ihre Meinung ausdrückt für wie vertrauenswürdig sie einen anderen Agenten halten (Vgl. Sabater and Sierra 2005, S.33-60). Empfehlungen sind dagegen Kollektionen von Meinungen die von anderen Agenten empfangen werden (Vgl. Nunes 2011)To achieve their goals, agents must be in an open MAS ( 180 ) engage in social interaction, such as cooperation, coordination, negotiation and conflict resolution (see Wooldridge 2009). Both the dimension of trust and the dimension of the associated interactions such as coalition, argumentation and recommendation (see J. Granatyr 2015 p.2) play a role in these activities. Agents can treat their trust as a numerical value that expresses their opinion how trustworthy they consider another agent to be (cf. Sabater and Sierra 2005, pp. 33-60). On the other hand, recommendations are collections of opinions received by other agents (see Nunes 2011)

Bei der Durcharbeitung von über 250 bekannten akademsichen Artikeln über MAS (180), fällt auf, dass nur 110 sich mit Vertrauen- und Reputations-Systemen beschäftigen. Bei den meisten Implementierungen handelt es sich um geschlossene MAS (180). Für bestimmte Fälle muss man jedoch Lösungen für offene MAS (180) suchen, die sich auch mit Betrugsannahmen auseinandersetzen. Davon gibt es aktuell ca. 15 wissenschaftliche Abhandlungen. Keine davon behandelt Themen wie Riskmanagement, Hard Security (e.g. durch asymmetrische Schlüssel) oder Informationsquellen der jeweiligen Computersysteme (10) im MAS (180) - das sind jedoch Themen, die man in einem Blockchain-Netzwerk-Umfeld (60) bräuchte.When working through over 250 known academic articles on MAS ( 180 ), it is noticeable that only 110 deal with trust and reputation systems. Most implementations are closed MAS ( 180 ). For certain cases, however, solutions for open MAS ( 180 ) who also deal with fraud assumptions. There are currently around 15 scientific papers. None of these deal with topics such as risk management, hard security (eg using asymmetric keys) or sources of information for the respective computer systems ( 10th ) in the MAS ( 180 ) - these are, however, issues that one in a blockchain network environment ( 60 ) would need.

Zugrundeliegende AufgabeUnderlying task

Der im Patentanspruch 1 angegebenen Erfindung liegt das Problem zugrunde für die Computersysteme (10) in einem komplett dezentralisierten Blockchain-Computernetzwerk (60), ein Arbeitsverfahren zu definieren, bei dem ein offenes Multiagentensystem (180) entsteht, und dabei:

  1. 1. die Netzwerkformierung (190), die Kommunikationssteuerung (320) und die Konsensfindung (170) zwischen den Computersystemen (10) dynamisch und selbstregulierend stattfindet; und dabei
  2. 2. die Machtverhältnisse bei der Konsensfindung (170) nicht durch die Leistungsstärke der einzelnen Computersysteme (10) sondern durch ein organisch aufgebautes System von Vertrauensbeziehungen unter den Computersystemen (10) bestimmt werden; und dabei
  3. 3. eine autonome feingranulare PoW-Steuerung (220/240) die Datenüberflutung von einzelnen Computersystemen (10) verhindert; und dabei
  4. 4. eine sichere/deterministische Informationsprozessierung und - speicherung von verteilten Datenbeständen in einer Blockchain-Datenbank (20), auch in einem bösartigen Netzwerkumfeld und unter einer umfangreichen und vielfältigen Angriffsbelastung (300), sichergestellt ist.
The invention specified in claim 1 is based on the problem for the computer systems ( 10th ) in a completely decentralized blockchain computer network ( 60 ) to define a working procedure in which an open multi-agent system ( 180 ) arises, and thereby:
  1. 1. the network formation ( 190 ), the communication control ( 320 ) and finding consensus ( 170 ) between the computer systems ( 10th ) takes place dynamically and self-regulating; And thereby
  2. 2. the balance of power in finding consensus ( 170 ) not by the performance of the individual computer systems ( 10th ) but through an organically built system of trust relationships among the computer systems ( 10th ) be determined; And thereby
  3. 3. an autonomous fine-granular PoW control (220/240) the data overload of individual computer systems ( 10th ) prevents; And thereby
  4. 4. Secure / deterministic information processing and storage of distributed data in a blockchain database ( 20th ), even in a malicious network environment and under an extensive and diverse attack load ( 300 ) is ensured.

Die Lösung und ihre vorteilhafte WirkungThe solution and its beneficial effects

Die zugrundeliegende Aufgabe wird durch die im Patentanspruch 1 aufgeführten Merkmale erfüllt.The underlying object is achieved by the features listed in claim 1.

Die Lösung ist demzufolge ein fest definiertes Arbeitsverfahren eines Computersystems (10) in einem Blockchain-Computernetzwerk (60). Dieses Arbeitsverfahren besteht aus drei selbstregulierenden Hauptarbeitsschritten, die Netzwerkformierung (190), die Kommunikationssteuerung (320) und die Konsensfindung (170), die jeweils in mehrere Teilaufgaben gegliedert sind.The solution is therefore a firmly defined working method of a computer system ( 10th ) in a blockchain computer network ( 60 ). This working process consists of three self-regulating main work steps, the network formation ( 190 ), the communication control ( 320 ) and finding consensus ( 170 ), which are divided into several subtasks.

Durch die fortlaufende Neujustierung verschiedener Faktoren im Arbeitsverfahren von jedem Computersystem (10), entsteht ein Prozess des verteilten maschinellen Lernens, ein offenes Multiagentensystem (180), auf der Ebene des gesamten Blockchain-Computernetzwerks (60). Mit der Zeit entstehen innerhalb des Blockchain-Computernetzwerks (60) starke Beziehungen zwischen verschiedenen Computersystemen (10) bei denen ein hohes gegenseitiges Vertrauen/Rating (80) herrscht. Dies hat zu Folge, dass bei diesen Computersystemen (10) die Verbindungwahrscheinlichkeit stets höher ist und die Dauer der Verbindungen und die Akzeptanz der ausgetauschten Transaktionsnachrichten (40) wächst. Es entsteht eine Art virtuelles Rückgrat aus Computersystemen (10), die lange dabei sind und untereinander hohes Vertrauen/Rating (80) aufgebaut haben. Dieses Rating (80) kann ein Computersystem (10) schnell verlieren, falls es sich nicht an die Regeln hält. Das Rating (80) kann dagegen jedoch nur schwer/langsam aufgebaut werden. Es ist eine Gruppendynamik, die man aus der Soziologie kennt, die man hier künstlich entstehen lässt.By continually re-adjusting various factors in the working process of each computer system ( 10th ), a process of distributed machine learning arises, an open multi-agent system ( 180 ), at the level of the entire blockchain computer network ( 60 ). Over time, emerge within the blockchain computer network ( 60 ) strong relationships between different computer systems ( 10th ) where a high level of mutual trust / rating ( 80 ) prevails. As a result, these computer systems ( 10th ) the connection probability is always higher and the duration of the connections and the acceptance of the exchanged transaction messages ( 40 ) grows. A kind of virtual backbone arises from computer systems ( 10th ) who have been around for a long time and have a high level of trust / rating ( 80 ) have built up. This rating ( 80 ) a computer system ( 10th ) lose quickly if it doesn't follow the rules. The rating ( 80 ), however, can be built up only with difficulty / slowly. It is a group dynamic that is known from sociology and that is artificially created here.

Das Arbeitsverfahren hat zu Folge, dass:

  • • das gesamte Blockchain-Computernetzwerk (60) sich effektiv gegen verschiedene Angriffsszenarien und fehlerhafte Computersysteme (10) schützen und sich regenerieren kann. Tests zeigen, dass die Konsensfindung (170), auch bei einem 90%-Anteil von bösartigen Computersystemen (250) im Blockchain-Computernetzwerk (60), nicht gebrochen werden kann,
  • • im Rahmen der Konsensfindung (170) gültige Transaktionsnachrichten (40) schnell und unter einer relativ geringen Netzwerkbelastung von Computersystemen (10) angenommen werden,
  • • im Rahmen der Konsensfindung (170) ungültige Transaktionsnachrichten (40) schnell und unter einer relativ geringer Netzwerkbelastung von Computersystemen (10) verworfen werden,
  • • der Einsatz von Ressourcen und leistungsstarken Computersystemen (10) keine Auswirkung auf die Machtverschiebung bei der Konsensfindung (170) hat, insbesondere je länger das Blockchain-Computernetzwerk (60) bereits existiert,
  • • der Einsatz von Ressourcen und leistungsstarken Computersystemen (10) nahezu keinen Vorteil bei den Angriffen durch bösartige Computersysteme (250) bietet,
  • • die Konsensfindung (170) in einem dynamischen, organisch gebildeten Vertrauenssystem unter den Computersystemen (10), effizienter und sicherer zu einer Konsensfindung (170) führt,
  • • die Integrität der Blockchain-Datenbank (20) gesichert wird und nicht durch verschiedene Zentralisierungsrisiken untergraben werden kann.
The result of the working process is that:
  • • the entire blockchain computer network ( 60 ) effectively against various attack scenarios and faulty computer systems ( 10th ) can protect and regenerate. Tests show that consensus building ( 170 ), even with a 90% share of malicious computer systems ( 250 ) in the blockchain computer network ( 60 ), cannot be broken,
  • • as part of building consensus ( 170 ) valid transaction messages ( 40 ) quickly and under a relatively low network load on computer systems ( 10th ) are assumed
  • • as part of building consensus ( 170 ) invalid transaction messages ( 40 ) quickly and under a relatively low network load on computer systems ( 10th ) are discarded,
  • • the use of resources and powerful computer systems ( 10th ) no impact on the shift in power in finding consensus ( 170 ), especially the longer the blockchain computer network ( 60 ) already exists,
  • • the use of resources and powerful computer systems ( 10th ) almost no advantage in attacks by malicious computer systems ( 250 ) offers,
  • • finding consensus ( 170 ) in a dynamic, organically formed trust system among the computer systems ( 10th ), more efficient and safer to find a consensus ( 170 ) leads,
  • • the integrity of the blockchain database ( 20th ) is secured and cannot be undermined by various centralization risks.

Ausführungsbeispiel und -erläuterungEmbodiment and explanation

Wie 1 zeigt, folgen die Computersysteme (10) im Blockchain-Computernetzwerk (60) einem Arbeitsverfahren, das aus drei fortlaufenden Hauptarbeitsschritten besteht:

  1. 1. Netzwerkformierung (190)
  2. 2. Kommunikationssteuerung (320)
  3. 3. Konsensfindung (170)
How 1 shows, the computer systems follow ( 10th ) in the blockchain computer network ( 60 ) a working process consisting of three main steps:
  1. 1. Network formation ( 190 )
  2. 2. Communication control ( 320 )
  3. 3. Finding consensus ( 170 )

Jeder dieser Arbeitsschritte besteht aus mehreren Teilaufgaben. Jeder der Arbeitsschritte passt sich fortlaufend durch lernende Prozesse an die aktuelle Lage:

  • • im internen Zustand,
  • • im Netzwerkumfeld und
  • • in der Kommunikation
des Computersystems (10) an.Each of these steps consists of several subtasks. Each of the work steps continuously adapts to the current situation through learning processes:
  • • in internal condition,
  • • in the network environment and
  • • in communication
of the computer system ( 10th ) at.

Der Hauptarbeitsschritt der „Netzwerkformierung“ (190) (siehe 3a, 3b, 4 und 5) besteht aus vier fortlaufenden Teilaufgaben, bei denen die Anordnung unwesentlich ist, da diese ggf. asynchron ausgeführt werden können:

  1. 1. Bewertung (3a und 3b): Festlegung und/oder Anpassung von mehreren relevanten Faktoren zu den bekannten Computersystemen (10)
  2. 2. Verbindungsaufbau (3a und 3b): Eingehende (100) und ausgehende (110) Verbindungen verwalten
  3. 3. Vorstellung (4): Austausch der Gesamtheit oder einer Teilmenge der Kontaktliste (160) mit Nachbarn (70)
  4. 4. Meinungsaustausch (5): Kommunizieren des eigenen Ratings (80) über einen bestimmten Nachbarn D (70) an den Nachbarn A (70), auf Anfrage von A
The main step of "network formation" (190) (see 3a , 3b , 4th and 5 ) consists of four continuous subtasks, in which the arrangement is immaterial, since these can possibly be carried out asynchronously:
  1. 1. Evaluation ( 3a and 3b ): Definition and / or adaptation of several relevant factors to the known computer systems ( 10th )
  2. 2. Establishing a connection ( 3a and 3b ): Incoming ( 100 ) and manage outgoing (110) connections
  3. 3rd performance ( 4th ): Exchange all or part of the contact list ( 160 ) with neighbors ( 70 )
  4. 4. Exchange of views ( 5 ): Communicate your own rating ( 80 ) via a certain neighbor D (70) to neighbor A (70), at the request of A

In der Teilaufgabe „Bewertung“ werden von Computersystem (10) A mehrere Faktoren zu einem neuen oder bekannten Nachbar-Computersystem (70) B ermittelt:

  1. 1. Rating ' R b a '
    Figure DE102018009320A1_0001
    : das Vertrauen (80), welches das Computersystem (10) A zu dem Nachbarn (70) B hat
  2. 2. „Neugier“ ‚Slotsn‘: Anzahl der verfügbarer offenen Slots (120), die exklusiv für eingehende Verbindungen (100) mit neuen/unbekannten Computersystemen reserviert sind
  3. 3. Gruppenzugehörigkeit (130) ‚Groupsa, Groupsb‘: gemeinsame Gruppenzugehörigkeit (130) zwischen dem Computersystem (10) A und dem Nachbarn B (70)
  4. 4. Verbindungsqualität ‚Connectionq‘: durchschnittliche Latenz der Datenverbindung zwischen dem Computersystem (10) A und dem Computersystem (10) B
  5. 5. Persönlichkeit (140) ‚Personalitya, Persanalityb‘: ein kontinuierlich neu berechneter Zufallswert in jedem Computersystem (10) eines Blockchain-Computernetzwerks (60), durch den fortlaufend eine zufällige Netzwerktopografie (200) entsteht und dadurch Angriffsszenarien wie „Eclipse“ (270) unmöglich gemacht werden
In the subtask “Assessment”, the computer system ( 10th ) A multiple factors to a new or known neighboring computer system ( 70 ) B determines:
  1. 1st rating ' R b a '
    Figure DE102018009320A1_0001
    : the trust ( 80 ) which the computer system ( 10th ) A to the neighbor ( 70 ) B has
  2. 2. "Curiosity"'Slots n ': number of available open slots ( 120 ) exclusively for incoming connections ( 100 ) are reserved with new / unknown computer systems
  3. 3. Group membership ( 130 ) 'Groups a , Groups b ': shared group membership ( 130 ) between the computer system ( 10th ) A and the neighbor B (70)
  4. 4. Connection quality 'Connection q ': average latency of the data connection between the computer system ( 10th ) A and the computer system ( 10th ) B
  5. 5. Personality ( 140 ) 'Personality a , Persanality b ': a continuously recalculated random value in every computer system ( 10th ) a blockchain computer network ( 60 ), through which a random network topography ( 200 ) arises, making attack scenarios like "Eclipse" (270) impossible

Der wichtigste Faktor bei der Bewertung ist das Rating ' R b a '

Figure DE102018009320A1_0002
(80) von Computersystem (10) A über ein anderes Computersystem (10) B. Das Rating wird durch die Gesamtheit oder eine Teilmenge von folgenden Kennzahlen ermittelt:

  1. 1. Dauer der Beziehung ‚Connectiont‘: wie lange kennt das Computersystem (10) A das andere Computersystem (10) B ?
  2. 2. Dauer der Kommunikation ‚Communicationt‘: wie lange besteht/bestand aktive direkte Kommunikation zwischen den beiden Computersystemen (10) ?
  3. 3. Nachbarmeinung ‚Reputation‘: welches gewichtete Rating (80) geben die Nachbarn (70) von Computersystem (10) A über das Computersystem (10) B ? Dabei spielt das Rating (80) des jeweiligen Nachbarn (70) eine Rolle bei der Gewichtung des Gesamtratings der Nachbarn (70) über das Computersystem (10) B.
  4. 4. Neuheitswert der Transaktionsnachrichten (40) ‚Transactionn‘ : welcher Anteil von den Transaktionsnachrichten (40), die von Computersystem (10) B an Computersystem (10) A geschickt wurden, waren neu bzw. waren nicht bereits bekannt? Dieser Wert ermittelt sich aus den Ergebnissen des Hauptarbeitsschrittes „Konsensfindung“ (170).
  5. 5. Gültigkeit der Transaktionsnachrichten (40) ‚Transactionv‘: welcher Anteil von den Transaktionsnachrichten (40), die von Computersystem (10) B an Computersystem (10) A geschickt wurden, waren gültig bzw. mussten später nicht korrigiert oder verworfen werden ? Dieser Wert ermittelt sich aus den Ergebnissen des Hauptarbeitsschrittes „Konsensfindung“ (170).
  6. 6. Änderung der Transaktionsnachrichten (40) ‚Transactionc‘: wie oft ändert das Computersystem (10) B die Meinung über die Gültigkeit der einen oder der anderen Transaktionsnachricht (40) ? Dieser Wert ermittelt sich aus den Ergebnissen des Hauptarbeitsschrittes „Konsensfindung“ (170).
' R b a = f ( C o n n e c t i o n t , C o m m u n i c a t i o n t , R e p u t a t i o n , T r a n s a c t i o n n , T r a n s a c t i o n v , T r a n s a c t i o n c , ) '
Figure DE102018009320A1_0003
The most important factor in the rating is the rating ' R b a '
Figure DE102018009320A1_0002
(80) from computer system ( 10th ) A through another computer system ( 10th ) B. The rating is determined by all or a subset of the following key figures:
  1. 1. Duration of the relationship 'Connection t ': how long has the computer system known ( 10th ) A the other computer system ( 10th ) B?
  2. 2. Duration of communication 'Communication t ': how long is / was there active direct communication between the two computer systems ( 10th )?
  3. 3. Neighboring opinion 'reputation': which weighted rating ( 80 ) give the neighbors ( 70 ) from computer system ( 10th ) A about the computer system ( 10th ) B? The rating ( 80 ) of the respective neighbor ( 70 ) a role in the weighting of the overall rating of the neighbors ( 70 ) via the computer system ( 10th ) B.
  4. 4. Novelty value of the transaction messages ( 40 ) 'Transaction n ': which part of the transaction messages ( 40 ) by computer system ( 10th ) B to computer system ( 10th ) A were sent, were new or were not already known? This value is determined from the results of the main work step "finding consensus" (170).
  5. 5. Validity of the transaction messages ( 40 ) 'Transaction v ': which part of the transaction messages ( 40 ) by computer system ( 10th ) B to computer system ( 10th ) A sent were, were valid or did not later have to be corrected or rejected? This value is determined from the results of the main work step "finding consensus" (170).
  6. 6. Change of transaction messages ( 40 ) 'Transaction c ': how often does the computer system change ( 10th ) B the opinion about the validity of one or the other transaction message ( 40 )? This value is determined from the results of the main work step "finding consensus" (170).
' R b a = f ( C. O n n e c t i O n t , C. O m m u n i c a t i O n t , R e p u t a t i O n , T r a n s a c t i O n n , T r a n s a c t i O n v , T r a n s a c t i O n c , ... ) '
Figure DE102018009320A1_0003

In der Teilaufgabe des „Verbindungsaufbaus“ (siehe 3a und 3b) des Hauptarbeitschrittes „Netzwerkformierung“ (190) werden sowohl ausgehende (110) als auch eingehende (100) Verbindungen aufgebaut. Bei dem Aufbau einer Verbindung wird die Identität der Computersysteme (10) mit den öffentlichen Schlüsseln des jeweiligen Schlüsselpaares aus Public-Key-Verschlüsselungsverfahren und einem entsprechenden Handshake überprüft (115). Ein Computersystem (10) besitzt jeweils eine begrenzte Anzahl von Slots (120) (siehe 2) für eingehende Verbindungen (100) und eine begrenzte Anzahl von Slots für ausgehende Verbindungen (110). Diese Trennung ist notwendig, um sowohl SPAM-Angriffen (260) als auch Eclipse-Angriffen (270) entgegenzusteuern. Die Anzahl der Slots (120) für eingehende Verbindungen (100) übersteigt die Anzahl von Slots (120) für ausgehende Verbindungen (110) (z.B. 9 und 7), siehe 2. Dies hat zur Folge, dass das Blockchain-Computernetzwerk (60) leichter wachsen kann. Ein Computersystem (10) hat das Ziel immer mindestens 5-10 aktive Verbindungen aufrechtzuerhalten.In the subtask "Establishing a connection" (see 3a and 3b ) of the main work step "network formation" (190) both outgoing (110) and incoming (100) connections are established. When establishing a connection, the identity of the computer systems ( 10th ) checked with the public keys of the respective key pair from public key encryption processes and a corresponding handshake (115). A computer system ( 10th ) each has a limited number of slots ( 120 ) (please refer 2nd ) for incoming connections ( 100 ) and a limited number of slots for outgoing connections ( 110 ). This separation is necessary to prevent both SPAM attacks ( 260 ) as well as Eclipse attacks ( 270 ) counteract. The number of slots ( 120 ) for incoming connections ( 100 ) exceeds the number of slots ( 120 ) for outgoing connections ( 110 ) (e.g. 9 and 7), see 2nd . As a result, the blockchain computer network ( 60 ) can grow more easily. A computer system ( 10th ) the goal is always to maintain at least 5-10 active connections.

Nur durch eine aktive Verbindung in einem Slot (120) werden Transaktionsnachrichten (40) entgegengenommen und an den nächsten Hauptarbeitsschritt „Kommunikationssteuerung“ (320) weitergeleitet.Only through an active connection in a slot ( 120 ) are transactional messages ( 40 ) accepted and forwarded to the next main work step "Communication control" (320).

Bei der Entscheidung über eine ausgehende Verbindung (110) ‚Connectiano‘ mit einem Nachbarn (70) B, spielen folgende Faktoren in ihrer Gesamtheit oder als eine Teilmenge eine Rolle: aktuelle Verbindungen, Gruppenzugehörigkeiten (130), Rating (80), Verbindungsqualität, Persönlichkeiten (140) ' C o n n e c t i o n o = f ( C o n n e c t i o n s , G r o u p s a , G r o u p s b , R b a , C o n n e c t i o n q , P e r s o n a l i t y a , P e r s o n a l i t y b ) '

Figure DE102018009320A1_0004
When deciding on an outgoing connection ( 110 ) 'Connectian o ' with a neighbor ( 70 ) B, the following factors play a role in their entirety or as a subset: current connections, group membership ( 130 ), Rating ( 80 ), Connection quality, personalities ( 140 ) ' C. O n n e c t i O n O = f ( C. O n n e c t i O n s , G r O u p s a , G r O u p s b , R b a , C. O n n e c t i O n q , P e r s O n a l i t y a , P e r s O n a l i t y b ... ) '
Figure DE102018009320A1_0004

Bei der Entscheidung über eine eingehende Verbindung (100) ‚Connectioni‘ mit einem Nachbarn (70) B spielen folgende Faktoren in ihrer Gesamtheit oder als eine Teilmenge eine Rolle: aktuelle Verbindungen, Gruppenzugehörigkeiten (130), Rating (80), Neugier-Slots, Persönlichkeiten (140) ' C o n n e c t i o n l = f ( C o n n e c t i o n s , G r o u p s a , G r o u p s b , R b a , S l o t s n , P e r s o n a l i t y a , P e r s o n a l i t y b , ) '

Figure DE102018009320A1_0005
When deciding on an incoming connection ( 100 ) 'Connection i ' with a neighbor ( 70 ) B the following factors play a role in their entirety or as a subset: current connections, group membership ( 130 ), Rating ( 80 ), Curiosity slots, personalities ( 140 ) ' C. O n n e c t i O n l = f ( C. O n n e c t i O n s , G r O u p s a , G r O u p s b , R b a , S l O t s n , P e r s O n a l i t y a , P e r s O n a l i t y b , ... ) '
Figure DE102018009320A1_0005

In der Teilaufgabe „Vorstellung“ (siehe 4) des Hauptarbeitschrittes „Netzwerkformierung“ (190) schickt das Computersystem (10) A an den Nachbarn (70) B, auf Anfrage von B, ein Teil ‚Contactlistb ∈ Contactlist‘ der gesamten Kontaktliste (160) von A.In the subtask "Presentation" (see 4th ) of the main work step "network formation" (190) is sent by the computer system ( 10th ) A to the neighbors ( 70 ) B, on request from B, a part of 'Contactlist b ∈ Contactlist' of the entire contact list ( 160 ) by A.

Die maximale Anzahl der mitgeteilten Kontakte ‚ShareMaxb‘ von Computersystem (10) A an den Nachbarn (B) ist gewichtet durch folgende Faktoren in ihrer Gesamtheit oder als eine Teilmenge: Gruppenzugehörigkeiten (130), Rating (80), Verbindungsqualität ' S h a r e M a x b = f ( G r o u p s a , G r o u p s b , R b a , C o n n e c t i o n q , ) '

Figure DE102018009320A1_0006
' C o n t a c t l i s t b = f ( C o n t a c t l i s t , S h a r e M a x b ) '
Figure DE102018009320A1_0007
The maximum number of communicated contacts 'ShareMax b ' from computer system ( 10th ) A at the neighbors (B) is weighted by the following factors in their entirety or as a subset: Group membership ( 130 ), Rating ( 80 ), Connection quality ' S H a r e M a x b = f ( G r O u p s a , G r O u p s b , R b a , C. O n n e c t i O n q , ... ) '
Figure DE102018009320A1_0006
' C. O n t a c t l i s t b = f ( C. O n t a c t l i s t , S H a r e M a x b ) '
Figure DE102018009320A1_0007

Die mitgeteilte Auswahl wird gemerkt und auf Anfrage genauso wiedergegeben. Sobald die zu B berechneten Faktoren eine bessere/größere Maximalzahl der mitgeteilten Kontakte ‚ShareMaxb‘ erlauben, werden zusätzliche Kontakte preisgegeben. Dies hat zu Folge, dass Computersysteme (10) mit höherem Rating (80) bessere Chancen haben, sich mit neuen/unbekannten Computersystemen (10) im Blockchain-Computernetzwerk (60) zu verbinden.The communicated selection is noted and reproduced in the same way on request. As soon as the factors calculated for B allow a better / larger maximum number of contacts 'ShareMax b ', additional contacts will be revealed. As a result, computer systems ( 10th ) with higher rating ( 80 ) have a better chance of dealing with new / unknown computer systems ( 10th ) in the blockchain computer network ( 60 ) connect to.

In der Teilaufgabe „Meinungsaustausch“ (siehe 5) des Hauptarbeitschrittes „Netzwerkformierung“ verlangt das Computersystem (10) A in seiner ausgehenden Verbindung (110) zum Nachbar (70) B, das von B ermittelte Rating (80) über das Computersystem (10) D. Das Ergebnis wird mit dem Rating von A über B gewichtet und fließt in die gesamte Nachbarmeinung ‚Reputationd‘ über D ein.In the subtask "exchange of views" (see 5 ) of the main work step "network formation" requires the computer system ( 10th ) A in its outgoing connection ( 110 ) to the neighbor ( 70 ) B, the rating determined by B ( 80 ) via the computer system ( 10th ) D. The result is weighted with the rating of A over B and flows into the entire neighboring opinion 'Reputation d ' over D.

Diese Nachbarmeinung spielt später eine Rolle bei der Bestimmung des Ratings (80) ' R d a '

Figure DE102018009320A1_0008
von A über D. ' R e p u t a t i o n d = f 2 ( f 1 ( R d b , R b a ) + f 1 ( ) + f 1 ( R d n , R n a ) ) '
Figure DE102018009320A1_0009
' R d a = f ( , R e p u t a t i o n d , ) '
Figure DE102018009320A1_0010
This neighboring opinion later plays a role in determining the rating ( 80 ) ' R d a '
Figure DE102018009320A1_0008
from A to D. ' R e p u t a t i O n d = f 2nd ( f 1 ( R d b , R b a ) + f 1 ( ... ) + f 1 ( R d n , R n a ) ) '
Figure DE102018009320A1_0009
' R d a = f ( ... , R e p u t a t i O n d , ... ) '
Figure DE102018009320A1_0010

Der Hauptarbeitsschritt „Kommunikationssteuerung“ (320) (siehe 6a und 6b) überwacht die eingehende Kommunikation bevor sie dem nächsten Hauptarbeitsschritt „Konsensfindung“ (170) zur Verfügung gestellt wird. Es erfüllt demzufolge die Aufgabe einer Firewall. Dabei kommt das einzigartige „Trust-bound-Proof-of-Work“ (TbPoW) (240) zum Einsatz, bei dem der Nonce-Schwierigkeitsgrad (230) abhängig von dem Rating (80) eines Nachbarn (70) festgelegt wird. Dieser Hauptarbeitsschritt besteht bei einer eingehenden Transaktionsnachricht (40) aus drei Teilaufgaben:

  1. 1. Empfang: Transaktionsnachricht (40) empfangen und TbPoW-Anforderungen bestimmen
  2. 2. TbPoW-Anforderung: Vom Sender der Transaktionsnachricht (40) eine Leistungsbestätigung, i.e. Nonce (210), anfordern
  3. 3. Firewall: die Transaktionsnachricht (40) anhand des Nonce (210) aus TbPoW (240) akzeptieren oder verwerfen
The main work step "Communication control" (320) (see 6a and 6b ) monitors the incoming communication before it is made available to the next main work step "finding consensus" (170). It therefore fulfills the function of a firewall. The unique "Trust-bound-Proof-of-Work" (TbPoW) (240) is used, in which the nonce difficulty level ( 230 ) depending on the rating ( 80 ) of a neighbor ( 70 ) is determined. This main step consists of an incoming transaction message ( 40 ) from three subtasks:
  1. 1.Receipt: transaction message ( 40 ) received and determine TbPoW requirements
  2. 2. TbPoW request: From the sender of the transaction message ( 40 ) a confirmation of performance, ie Nonce ( 210 ), request
  3. 3. Firewall: the transaction message ( 40 ) based on the nonce ( 210 ) from TbPoW (240) accept or reject

Im der Teilaufgabe „Empfang“ des Hauptarbeitsschritts „Kommunikationssteuerung“ (230) erhält das Computersystem (10) A eine neue Transaktionsnachricht (40) vom Computersystem (10) B. Bei dem Empfang bestimmt es einen Nonce-Schwierigkeitsgrad (230) ' T b P o W b a ' ,

Figure DE102018009320A1_0011
der durch folgende Faktoren, als Gesamtheit oder Teilmenge, bestimmt wird:

  1. 1. Das aktuelle Rating (80) von B ' R b a ' ,
    Figure DE102018009320A1_0012
    höhere Werte mindern den Nonce-Schwierigkeitsgrad (230)
  2. 2. Durchschnittliche Netzwerkbelastung ausgedrückt als durchschnittliche Anzahl der erhaltenen Transaktionsnachrichten (40) pro Nachbar pro Zeiteinheit ‚NetLoad‘
  3. 3. Durchschnittliche Anzahl der Transaktionsnachrichten 840 erhalten von B pro Zeiteinheit ‚NetLoadb‘, je größer dieser Wert im Vergeich zu der gesamten durchschnittlichen Netwerkbelastung , desto höher die Anforderung durch den Nonce-Schwierigkeitsgrad (230)
  4. 4. Aktuelle CPU-Belastung vom Computersystem (10) A ‚CPUa‘ : je höher die Belastung desto höher der Nonce-Schwierigkeitsgrad (230)
' T b P o W b a = f ( R b a , N e t L o a d , N e t L o a d b , C P U a , ) '
Figure DE102018009320A1_0013
In the subtask “reception” of the main work step “communication control” (230) the computer system ( 10th ) A a new transaction message ( 40 ) from the computer system ( 10th ) B. Upon receipt, it determines a nonce difficulty level ( 230 ) ' T b P O W b a ' ,
Figure DE102018009320A1_0011
which is determined by the following factors, as a whole or a subset:
  1. 1. The current rating ( 80 ) from B ' R b a ' ,
    Figure DE102018009320A1_0012
    higher values reduce the nonce level of difficulty ( 230 )
  2. 2. Average network load expressed as the average number of transaction messages received ( 40 ) per neighbor per time unit 'NetLoad'
  3. 3. Average number of transaction messages 840 received from B per unit of time 'NetLoad b ', the larger this value compared to the total average network load, the higher the requirement due to the nonce difficulty level ( 230 )
  4. 4. Current CPU load from the computer system ( 10th ) A 'CPU a ': the higher the load, the higher the level of nonce ( 230 )
' T b P O W b a = f ( R b a , N e t L O a d , N e t L O a d b , C. P U a , ... ) '
Figure DE102018009320A1_0013

Transaktionsnachrichten (40), die mit dem gleichen Inhalt von B bereits erhalten und verarbeitet worden sind, werden ignoriert/verworfen und TbPoW (240) wird dann nicht angefordert. Falls die erhaltene Transaktionsnachricht (40) eine Antwort auf eine andere, von A nach B geschickte, Transaktionsnachricht (40) war, wird sie ohne TbPoW (240) direkt an den Hauptarbeitsschritt „Konsensfindung“ (170) weitergeleitet.Transaction messages ( 40 ) that have already been received and processed with the same content from B are ignored / rejected and TbPoW (240) is then not requested. If the transaction message received ( 40 ) a reply to another transaction message sent from A to B ( 40 ), it is forwarded without TbPoW (240) directly to the main work step "finding consensus" (170).

In der nächsten Teilaufgabe „TbPoW-Anforderung“ wird der berechnete Nonce-Schwierigkeitsgrad (230) ' T b P o W b a '

Figure DE102018009320A1_0014
von A an B kommuniziert. Jetzt muss B das TbPoW (240) unter Einsatz der eigenen CPU Leistungsstärke lösen, indem es den Nonce (210) bestimmt. Die Besonderheit hier ist, im Gegensatz zum klassischen PoW (220), wo die Nonce-Lösung (210) sich nur auf den Inhalt eines Datenpakets bzw. „Blocks“ bezieht, dass die Lösung von TbPoW (240) sich sowohl auf den Inhalt der Transaktionsnachricht (40) als auch auf den Sender und auf den Empfänger, und ggf. einer vom Empfänger festgelegten Zufallsvariable, beziehen muss. D.h. B muss das TbPoW (240) lösen, indem es nach dem Nonce (210) sucht, das sich zusammen in einem Datenpaket bestehend aus:

  1. 1. der Transaktionsnachricht,
  2. 2. einem Zufallswert vorgegeben von A,
  3. 3. dem öffentlichen Schlüssel von B und
  4. 4. dem öffentlichen Schlüssel von A
befindet.In the next subtask “TbPoW requirement” the calculated nonce difficulty level ( 230 ) ' T b P O W b a '
Figure DE102018009320A1_0014
communicated from A to B. Now B has to solve the TbPoW (240) using its own CPU performance by using the Nonce ( 210 ) certainly. The special feature here is, in contrast to the classic PoW (220), where the nonce solution ( 210 ) refers only to the content of a data packet or "block", that the solution from TbPoW (240) relates both to the content of the transaction message ( 40 ) as well as the sender and the receiver, and possibly a random variable defined by the receiver. Ie B must solve the TbPoW (240) by following the Nonce ( 210 ) that is composed of a data package consisting of:
  1. 1. the transaction message,
  2. 2. a random value given by A,
  3. 3. the public key of B and
  4. 4. the public key of A
located.

Dadurch bedarf jede einzelne Transaktionsnachricht (40) von einem Computersystem (10) an ein anderes eine eigene besondere Nonce-Lösung (210). Natürlich sind hier die Schwierigkeitsgrade (230) wesentlich geringer, als in den klassischen PoW (220) Ansätzen.This means that every single transaction message ( 40 ) from a computer system ( 10th ) to someone else's own special nonce solution ( 210 ). Of course here are the levels of difficulty ( 230 ) much lower than in the classic PoW (220) approaches.

Im der nächsten Teilaufgabe „Firewall“ entscheidet das Computersystem (10) A, ob es die Transaktionsnachricht (70) von B verwerfen soll, falls keine oder falsche Nonce-Lösung (210) vom TbPoW (240) erhalten wird. Nur im Falle einer richtigen Lösung darf die Transaktionsnachricht (40) weiter an den nächsten Hauptarbeitsschritt „Konsensfindung“ (170) weitergeleitet werden.In the next subtask "Firewall", the computer system decides ( 10th ) A whether it is the transaction message ( 70 ) from B if no or wrong nonce solution ( 210 ) is obtained from TbPoW (240). The transaction message ( 40 ) are forwarded to the next main work step "finding consensus" (170).

Der Hauptarbeitsschritt „Konsensfindung“ (170) (siehe 7a, 7b und 8) hat das oberste Ziel, dass alle Computersysteme (10) des Blockchain-Computernetzwerkes (60) aus einer Menge von ggf. widersprüchlichen Transaktionsnachrichten (310) nur die gleichen und gültigen Transaktionsnachrichten (40) annehmen, und die beinhaltende(n) Änderungstransaktion(en) (30) nachhaltig in die Blockchain-Datenbank (20) einzubauen bzw. zu verketten. Dieser Hauptarbeitschritt besteht aus vier Teilaufgaben:

  1. 1. Empfang (7a): eine Transaktionsnachricht (10) erhalten und bewerten
  2. 2. Antwort (7b): die Transaktionsnachricht (10) bestätigen oder ihr widersprechen
  3. 3. Weiterleitung (7b): die Transaktionsnachricht (10) weiterleiten
  4. 4. Annahme (8): die Transaktionsnachricht (10) als gültig und final annehmen
The main work step "finding consensus" (170) (see 7a , 7b and 8th ) has the primary goal that all computer systems ( 10th ) of the blockchain computer network ( 60 ) from a set of possibly contradicting transaction messages ( 310 ) only the same and valid transaction messages ( 40 ) and the related change transaction (s) ( 30th ) sustainably in the blockchain database ( 20th ) to install or chain. This main work step consists of four subtasks:
  1. 1st reception ( 7a ): a transaction message ( 10th ) received and evaluated
  2. 2nd answer ( 7b ): the transaction message ( 10th ) confirm or contradict it
  3. 3. Forwarding ( 7b ): the transaction message ( 10th ) hand off
  4. 4. Acceptance ( 8th ): the transaction message ( 10th ) as valid and final

Bei der Teilaufgabe „Empfang“ des Hauptarbeitsschrittes „Konsensfindung“ (170), empfängt das Computersystem (10) A eine Transaktionsnachricht X vom Nachbarn (70) B, nachdem es erfolgreich die Firewall (320) überwunden hat. Diese Transaktionsnachricht (40) wird von A bewertet: es bekommt das gleiche Nachrichtenrating (90) wie das Rating des Nachbarn (70) B: ’MessageRatingx = R b a ' ,

Figure DE102018009320A1_0015
das im Hauptarbeitsschritt „Netzwerkformierung“ (190) fortlaufend ermittelt wird. Sollte diese Transaktionsnachricht (40) A bereits bekannt sein, weil sie genau so von anderen Nachbarn (70) bereits empfangen wurde, z.B. von Nachbar (70) C und D, so erhält diese Transaktionsnachricht (40) ein Nachrichtenrating (90), das anhand von allen Ratings (80) der Nachbarn (70) errechnet wird, die diese Transaktionsnachricht (40) an A geschickt haben. ' M e s s a g e R a t i n g x = f ( R b a , R c a , R d a , ) '
Figure DE102018009320A1_0016
In the subtask “reception” of the main work step “finding consensus” (170), the computer system receives ( 10th ) A a transaction message X from the neighbor ( 70 ) B after it successfully firewall ( 320 ) has overcome. This transaction message ( 40 ) is rated by A: it gets the same news rating ( 90 ) like the rating of the neighbor ( 70 ) B: 'MessageRating x = R b a ' ,
Figure DE102018009320A1_0015
which is continuously determined in the main work step "network formation" (190). If this transaction message ( 40 ) A already known because it is exactly the same from other neighbors ( 70 ) has already been received, e.g. by neighbor ( 70 ) C and D, this transaction message receives ( 40 ) a news rating ( 90 ) based on all ratings ( 80 ) the neighbour ( 70 ) is calculated that this transaction message ( 40 ) sent to A. ' M e s s a G e R a t i n G x = f ( R b a , R c a , R d a , ... ) '
Figure DE102018009320A1_0016

Falls B vorher bereits eine andere, der Transaktionsnachricht (40) X widersprechenden, Transaktionsnachricht (310) Z an A geschickt hat, bedeutet dies, das B seine Meinung geändert hat und jetzt X statt Z für gültig hält. In Fall der Meinungsänderung wird das Nachrichtenrating (90) von der neuen Transaktionsnachricht (40) X bestraft, indem es einen Abzug bekommt: ' M e s s a g e R a t i n g x = R b a m ' .

Figure DE102018009320A1_0017
Dieser Abzug könnte z.B. der Median aus allen Nachbarratings (80) von A sein.If B previously another, the transaction message ( 40 ) X contradicting, transaction message ( 310 ) Z sent to A, it means that B changed his mind and now considers X valid instead of Z. In the event of a change of opinion, the news rating ( 90 ) of the new transaction message ( 40 ) X punished by getting a deduction: ' M e s s a G e R a t i n G x = R b a - m ' .
Figure DE102018009320A1_0017
This deduction could, for example, be the median of all neighboring ratings ( 80 ) of A.

Aus einer Menge von widersprüchlichen Transaktionsnachrichten (310) hält das Computersystem (10) A immer die Transaktionsnachricht (40) für gültig, die zu dem jeweiligen Zeitpunkt das höchste Nachrichtenrating (90) aufweist und die sachlich dem aktuellen Stand der Blockchain-Datenbank (20) von A nicht widerspricht. Eine Transaktionsnachricht (40) wird immer verworfen, falls A Mängel im Sachverhalt oder in der Form erkennt, z.B. fehlende oder ungültige Signaturen oder Adressen, „Double Spending“ (290), etc.From a lot of contradicting transaction messages ( 310 ) keeps the computer system ( 10th ) A always the transaction message ( 40 ) valid for the highest news rating at the time ( 90 ) and the factual state of the blockchain database ( 20th ) does not contradict A. A transaction message ( 40 ) is always discarded if A recognizes defects in the facts or in the form, e.g. missing or invalid signatures or addresses, "Double Spending" (290), etc.

Bei der Bewertung von den erhaltenen Transaktionsnachrichten (40) werden auch fortlaufend drei Kennzahlen für den Nachbarn (70) B ermittelt, der diese Transaktionsnachricht (40) gesendet hat:

  1. 1. Neuheitswert lTransactionn',
  2. 2. Gültigkeit ‚Transactionv‘ , und
  3. 3. Änderung ‚Transactionc
der von B erhaltenen Transaktionsnachrichten (40).When evaluating the transaction messages received ( 40 ) are also continuously three key figures for the neighbor ( 70 ) B who determines this transaction message ( 40 ) sent:
  1. 1. Novelty value l transaction n ',
  2. 2. Validity 'Transaction v ', and
  3. 3. Change 'Transaction c '
of transaction messages received from B ( 40 ).

Diese Werte werden im Hauptarbeitsschritt „Netzwerkformierung“ (190) für die Berechnung des Ratings (80) vom Nachbarn (70) B ' R b a '

Figure DE102018009320A1_0018
verwendet.These values are used in the main work step "Network formation" (190) for the calculation of the rating ( 80 ) from the neighbor ( 70 ) B ' R b a '
Figure DE102018009320A1_0018
used.

Bei der Teilaufgabe „Antwort“ des Hauptarbeitsschrittes „Konsensfindung“ (170), erwidert das Computersystem (10) A dem Nachbarn (70) B die Akzeptanz der erhaltenen Transaktionsnachricht (40) X. Falls A die Transaktionsnachricht (40) X für aktuell wahr hält, wird der Inhalt der Transaktionsnachricht (40) bestätigt. Falls A jedoch eine andere, der Transaktionsnachricht (40) X widersprechende, Transaktionsnachricht (310) Z für wahr hält. Wird stattdessen Z an B zurückgeschickt. B kann jetzt seinerseits entscheiden, ob er seine Meinung ändert oder nicht.In the subtask "Answer" of the main step "Finding Consensus" (170), the computer system replies ( 10th ) A to the neighbor ( 70 ) B the acceptance of the transaction message received ( 40 ) X. If A is the transaction message ( 40 ) Holds X as currently true, the content of the transaction message ( 40 ) approved. However, if A is another, the transaction message ( 40 ) X contradicting transaction message ( 310 ) Z holds true. Z is sent back to B instead. B can now decide whether to change his mind or not.

In jedem Fall bedarf eine Antwort auf eine Transaktionsnachricht (40) von B keine Anforderung von TbPoW (240) durch B. D.h. A muss für diese Antwort kein TbPoW (240) lösen (siehe 6b).In any case, a response to a transaction message ( 40 ) from B no request from TbPoW (240) by BDh A does not have to solve a TbPoW (240) for this answer (see 6b ).

In jedem Fall merkt ein Computersystem (10) welche Transaktionsnachrichten (40) es an welche Nachbarn (70) bereits geschickt hat. Endlosschleifen im Blockchain-Computernetzwerk (60) werden auch dadurch vermieden, dass die selbe Transaktionsnachricht (40) an den selben Nachbarn (70) nicht mehrmals geschickt wird.In any case, a computer system notices ( 10th ) which transaction messages ( 40 ) to which neighbors ( 70 ) has already sent. Infinite loops in the blockchain computer network ( 60 ) are also avoided by the fact that the same transaction message ( 40 ) at the same neighbor ( 70 ) is not sent more than once.

Bei der Teilaufgabe „Weiterleitung“ des Hauptarbeitsschrittes „Konsensfindung“ (170) werden erhaltene Transaktionsnachrichten (40) an alle anderen Nachbarn (70)weitergeleitet. Es werden keine Transaktionsnachrichten (40) weitergeleitet, die das Computersystem (10) A für ungültig hält. Ebenfalls werden keine Transaktionsnachrichten (40) weitergeleitet, die mit dem gleichen Inhalt bereits an den jeweiligen Nachbarn (70) versendet wurden.In the subtask “forwarding” of the main work step “finding consensus” (170), transaction messages received ( 40 ) to all other neighbors ( 70 ) forwarded. No transactional messages ( 40 ) which the computer system ( 10th ) A considers invalid. Also no transaction messages ( 40 ) forwarded to the respective neighbors with the same content ( 70 ) were sent.

Bei der Teilaufgabe „Annahme“ (siehe 8) des Hauptarbeitsschrittes „Konsensfindung“ (170) wartet ein Computersystem (10) A darauf, dass a) das Nachrichtenrating (90) einer von A als gültig angesehenen Transaktionsnachricht (40) X einen Mindestwert erreicht, insbesondere dadurch, dass A diese Transaktionsnachricht (40) auch von anderen Nachbarn (70) mit höheren Rating (80) erhält, und dass b) eine gewisse Zeit T1 vergeht ohne dass andere, der Transaktionsnachricht (40) X widersprechende, Transaktionsnachrichten (310) ankommen. Wenn beide Bedingungen erfüllt sind, wird diese Transaktionsnachricht (40) als final und gültig von A anerkannt: A baut die Änderungstransaktion(en) (30) aus der Transaktionsnachricht (40) in die eigene Version der verteilten Blockchain-Datenbank (20) ein. Die Transaktionsnachricht (40) wird zusammen mit ggf. ihr widersprechenden Transaktionsnachrichten (310) aus der temporären lokalen Datenbank (50) gelöscht.For the sub-task "acceptance" (see 8th ) of the main work step "finding consensus" (170) a computer system is waiting ( 10th ) A that a) the news rating ( 90 ) a transaction message deemed valid by A ( 40 ) X reaches a minimum value, in particular because A receives this transaction message ( 40 ) also from other neighbors ( 70 ) with higher rating ( 80 ) receives, and that b) a certain time T1 passes without anyone else, the transaction message ( 40 ) X contradicting transaction messages ( 310 ) arrive. If both conditions are met, this transaction message ( 40 ) recognized as final and valid by A: A builds the change transaction (s) ( 30th ) from the transaction message ( 40 ) in your own version of the distributed blockchain database ( 20th ) a. The transaction message ( 40 ) will be contradicting you, if necessary Transaction messages ( 310 ) from the temporary local database ( 50 ) deleted.

Falls eine in der temporären lokalen Datenbank (50) als aktuell gültig akzeptierte Transaktionsnachricht (40) nach dem Ablauf der Zeit T2 nicht das gewünschte Mindest-Nachrichtenrating (90) erreicht, wird sie, zusammen mit anderen ihr widersprechenden Transaktionsnachrichten (310) aus der temporären lokalen Datenbank (50) gelöscht. Dies ist notwendig, als zusätzlicher Schutz vor SPAM (260) und dafür, um das Volllaufen der temporären lokalen Datenbank (50) zu verhindern.If one in the temporary local database ( 50 ) transaction message accepted as currently valid ( 40 ) after the time has expired T2 not the desired minimum message rating ( 90 ) is reached, together with other transaction messages that contradict it ( 310 ) from the temporary local database ( 50 ) deleted. This is necessary as additional protection against SPAM ( 260 ) and for the completion of the temporary local database ( 50 ) to prevent.

Es gilt stets: ‚T1 < T2‘ .The following always applies: 'T1 <T2'.

Durch den beschriebenen Prozess des Hauptarbeitsschrittes „Konsensfindung“ (170), zusammen mit den Ergebnissen des Hauptarbeitsschrittes „Netzwerkformierung“ (190) entstehen im Blockchain-Computernetzwerk (60) bei widersprüchlichen Transaktionsnachrichten (310) Wellen von Verhandlungskommunikation, die sich schnell auf eine einzige gültige „Meinung“ einpendeln - damit ist der Konsens erreicht und die Blockchain-Datenbank (20) wird jeweils auf den neusten gemeinsamen Stand gebracht.The described process of the main work step "finding consensus" (170) together with the results of the main work step "network formation" (190) result in the blockchain computer network ( 60 ) with contradicting transaction messages ( 310 ) Waves of negotiation communication that quickly settle down to a single valid “opinion” - this has reached consensus and the blockchain database ( 20th ) will be brought up to date in each case.

BezugszeichenlisteReference symbol list

• 10• 10th
Computersystem : ein EDV-Gerät, das im Stande ist, sich mit anderen Computersystemen über das Internet oder andere Netze zu verbindenComputer system: a computer device capable of connecting to other computer systems via the Internet or other networks
• 20• 20
Blockchain-Datenbank: eine verteilte Datenbank, die als vollständige oder unvollständige Kopie auf mehreren Computersystemen (10) existiert und aus chronologisch geordneten Änderungstransaktionen (30) besteht (nach einem Hauptbuch-ähnlichem Prinzip), die miteinander mittels kryptographischer Verfahren verkettet werdenBlockchain database: a distributed database that is available as a complete or incomplete copy on multiple computer systems ( 10th ) exists and from chronologically ordered change transactions ( 30th ) exists (based on a principle similar to a general ledger), which are linked together using cryptographic methods
• 30• 30
Änderungstransaktion : eine Beschreibung der Änderung in dem aktuellen Datenbestand der Blockchain-Datenbank (20); diese Transaktion wird, falls von dem jeweiligen Computersystem (10) akzeptiert, meistens an einem Ende der kryptographischen Kette(n) von Transaktionen angebracht bzw. „angekettet“Change transaction: a description of the change in the current database of the blockchain database ( 20th ); this transaction will, if the respective computer system ( 10th ) accepted, usually attached or “chained” to one end of the cryptographic chain (s) of transactions
• 40• 40
Transaktionsnachricht : eine kommunizierte Nachricht zwischen den Computersystemen (10), die eine oder mehrere Änderungstransaktionen (30) beinhalten kannTransaction message: a communicated message between the computer systems ( 10th ) that have one or more change transactions ( 30th ) may include
• 50• 50
Temporäre lokale Datenbank : eine lokale Datenbank bzw. Speicher bei einem Computersystem (10), separat von der Blockchain-Datenbank (20), wo aktuell bearbeitete Transaktionsnachrichten (40) für eine kurze Zeit zwischengespeichert werdenTemporary local database: a local database or memory in a computer system ( 10th ), separate from the blockchain database ( 20th ), where transaction messages currently being processed ( 40 ) can be cached for a short time
• 60• 60
Blockchain-Computernetzwerk : ein Netzwerk von Computersystemen (10), die eine gemeinsame dezentralisierte Blockchain-Datenbank (20) und deren Änderungstransaktionen (30) verwalten und untereinander Transaktionsnachrichten (40) austauschenBlockchain computer network: a network of computer systems ( 10th ), which is a common decentralized blockchain database ( 20th ) and their change transactions ( 30th ) manage and exchange transaction messages ( 40 ) change
• 70• 70
Nachbar : ein Computersystem (10) B, das einem Computersystem (10) A bekannt ist und mit dem es ein Mal oder regelmäßig eine Netzwerkverbindung eingehtNeighbor: a computer system ( 10th ) B, a computer system ( 10th ) A is known and with which a network connection is established once or regularly
• 80• 80
Rating / Vertrauen : eine numerische Bewertung (z.B. zwischen 0.0 und 1.0) das ein Computersystem (10) A für sich über ein anderes Computersystem (10) B in einem Blockchain-Computernetzwerk (20) fortlaufend berechnet oder fest definiert hatRating / trust: a numerical rating (e.g. between 0.0 and 1.0) that a computer system ( 10th ) A by itself via another computer system ( 10th ) B in a blockchain computer network ( 20th ) has continuously calculated or defined
• 90• 90
Nachrichtenrating : Die Bewertung der möglichen Gültigkeit einer Transaktionsnachricht (40), die durch die Ratings (80) aller Nachbarn (70) berechnet wird, die diese Transaktionsnachricht (40) mit genau dem selben Inhalt an das Computersystem (10) geschickt haben Message rating: The evaluation of the possible validity of a transaction message ( 40 ) by the ratings ( 80 ) all neighbors ( 70 ) is calculated, which this transaction message ( 40 ) with exactly the same content to the computer system ( 10th ) having sent
• 100• 100
Eingehende Verbindung : eine Verbindung aus der Sicht von Computersystem (10) A, zwischen dem Computersystem (10) A und dem Computersystem (10) B eines Blockchain-Computernetzwerks (60), die durch das Computersystem (10) B initiiert wurdeIncoming connection: a connection from the perspective of the computer system ( 10th ) A, between the computer system ( 10th ) A and the computer system ( 10th ) B of a blockchain computer network ( 60 ) by the computer system ( 10th ) B was initiated
• 110• 110
Ausgehende Verbindung : eine Verbindung aus der Sicht von Computersystem (10) A, zwischen dem Computersystem (10) A und dem Computersystem (10) B eines Blockchain-Computernetzwerks (60), die durch das Computersystem (10) A initiiert wurdeOutgoing connection: a connection from the perspective of the computer system ( 10th ) A, between the computer system ( 10th ) A and the computer system ( 10th ) B of a blockchain computer network ( 60 ) by the computer system ( 10th ) A was initiated
• 115• 115
Identifizierung : die Identität zweier Computersysteme (10) wird mit den öffentlichen Schlüsseln des jeweiligen Schlüsselpaares aus Public-Key-Verschlüsselungsverfahren und einem entsprechenden Handshake überprüftIdentification: the identity of two computer systems ( 10th ) is checked with the public keys of the respective key pair from the public key encryption process and a corresponding handshake
• 120• 120
Slot : eine virtuelle Verbindungstelle, für eine eingehende (100) oder ausgehende (110) Verbindung, die ein Computersystem (10) aufweist, mit der sich andere Computersysteme (10) des Blockchain-Computernetzwerkes (60) verbinden können, um Transaktionsnachrichten (40) und andere Datenpakete mit diesem Computersystem (10) auszutauschen.Slot: a virtual connection point for an incoming ( 100 ) or outgoing ( 110 ) Connection that a computer system ( 10th ) with which other computer systems ( 10th ) of the blockchain computer network ( 60 ) can connect to transactional messages ( 40 ) and other data packets with this computer system ( 10th ) exchange.
• 130• 130
Gruppe : jedes Computersystem (10) in einem Blockchain-Computernetzwerk (60) kann seine Zugehörigkeit zu einer oder mehreren Gruppen festlegen und kommunizieren, dies kann eine Auswirkung sowohl auf bevorzugte Verbindungen mit anderen Computersystemen (10) als auch auf den Austausch von relevanten Transaktionsnachrichten (40) habenGroup: any computer system ( 10th ) in a blockchain computer network ( 60 ) can define and communicate its membership in one or more groups, this can affect both preferred connections to other computer systems ( 10th ) as well as the exchange of relevant transaction messages ( 40 ) to have
• 140• 140
Persönlichkeit: ein Zufallswert (z.B. zwischen 1 und 7) in einem Computersystem (10) A, der für ein bestimmtes Zeitfenster ermittelt wird und dazu führt, dass eine aktive Datenverbindung zwischen dem Computersystem (10) A und einem Nachbarn (70) B nur bestehen bleibt, solange beide den gleichen Zufallswert für die Persönlichkeit aufweisen; auch angehende Verbindungen werden nach diesem Prinzip angenommen oder abgewiesenPersonality: a random value (e.g. between 1 and 7) in a computer system ( 10th ) A, which is determined for a certain time window and leads to an active data connection between the computer system ( 10th ) A and a neighbor ( 70 ) B only remains as long as both have the same random value for the personality; Also incoming connections are accepted or rejected according to this principle
• 150• 150
Epoche : ein Zeitfenster, das ein Computersystem (10) festlegt, während dessen es eine bestimmte Persönlichkeit (140) aufweist; nach dem Ablauf der Epoche startet eine neue Epoche mit der Bestimmung einer neuen Persönlichkeit (140)Epoch: a window of time that a computer system ( 10th ) during which there is a certain personality ( 140 ) having; after the end of the epoch a new epoch begins with the determination of a new personality ( 140 )
• 160• 160
Kontaktliste : die Gesamtheit oder eine Teilmenge aller Computersysteme (10), die ein jeweiliges Computersystem (10) kennt, identifiziert durch ihre jeweiligen öffentlichen Schlüssel und die letzte bekannte IP-Adresse Contact list: all or a subset of all computer systems ( 10th ) that each computer system ( 10th ), identified by their respective public keys and the last known IP address
• 170• 170
Konsensfindung : eine autonome Bewertung und Auswahl von Transaktionsnachrichten (40) durch jedes Computersystem (10) in einem Blockchain-Computernetzwerk (60), die der Entscheidung dient, welche Änderungstransaktion (en) (30) in die Blockchain-Datenbank (20) aufgenommen werden soll(en); d.h. auch eine Bewertung über die Gültigkeit der Änderungstransaktion(en) (30)Finding consensus: an autonomous evaluation and selection of transaction messages ( 40 ) through any computer system ( 10th ) in a blockchain computer network ( 60 ), which serves to decide which change transaction (s) ( 30th ) in the blockchain database ( 20th ) should be included; ie also an assessment of the validity of the change transaction (s) ( 30th )
• 180• 180
Multiagentensystem (MAS) : ein System aus mehreren gleichartigen oder unterschiedlich spezialisierten handelnden Einheiten, Software-Agenten bzw. Computersystemen (10), die kollektiv ein Problem lösen, im vorliegenden Patent ist dieses Problem die Konsensfindung (170) und die Sicherung der Integrität eines verteilten Datenbestands; man spricht auch von einer verteilten künstlichen IntelligenzMulti-agent system (MAS): a system consisting of several similar or differently specialized acting units, software agents or computer systems ( 10th ) that collectively solve a problem, in the present patent this problem is the finding of consensus ( 170 ) and ensuring the integrity of a distributed database; one also speaks of a distributed artificial intelligence
• 190• 190
Netzwerkformierung / Autopeering: Ein Verfahren zur automatischen Findung und zur Vernetzung bzw. zum Verbindungsaufbau eines Computersystems (10) mit anderen Computersystemen (10) in einem Blockchain-Computernetzwerk (60)Network formation / autopeering: A process for automatic finding and for networking or for establishing a connection to a computer system ( 10th ) with other computer systems ( 10th ) in a blockchain computer network ( 60 )
• 200• 200
Netzwerktopografie : Eine virtuelle Abbildung der Gesamtheit oder einer Teilmenge des Blockchain-Computernetzwerks (60), bei der die vorhandenen Computersysteme (10) und ihre Verbindungen untereinander ersichtlich werden.Network topography: A virtual representation of the entirety or a subset of the blockchain computer network ( 60 ) where the existing computer systems ( 10th ) and their connections to one another.
• 210• 210
Nonce : Das Ergebnis der Lösung eines spezifischen kryptographischen Rätsels, das sich auf ein bestimmtes Informationsstück bzw. Datenpaket bezieht; dieses Ergebnis kann man mittels einer Hash-Funktion leicht überprüfenNonce: The result of solving a specific cryptographic puzzle that relates to a specific piece of information or data packet; this result can easily be checked using a hash function
• 220• 220
Proof-of-Work (PoW) : Das Lösen von einem spezifischen kryptographischen Rätsel durch ein Computersystem (10) bzw. seine Suche nach einem spezifischen „Nonce“-Ergebnis (210), meistens unter Einsatz von vielen Hash-Operationen an einem bestimmten Informationsstück bzw. Datenpaket; diese Suche bedarf meistens einer relativ langen und starken CPU-BelastungProof-of-Work (PoW): Solving a specific cryptographic puzzle by a computer system ( 10th ) or his search for a specific “Nonce” result ( 210 ), mostly using many hash operations on a certain piece of information or data packet; this search usually requires a relatively long and heavy CPU load
• 230• 230
Nonce-Schwierigkeitsgrad : Der Schwierigkeitsgrad des PoW-Rätsels (220), das ein Computersystem (10) für ein bestimmtes Informationsstück bzw. Datenpaket, z.B. eine Transaktionsnachricht (40), lösen mussNonce difficulty: The difficulty of the PoW puzzle ( 220 ) which is a computer system ( 10th ) for a specific piece of information or data packet, e.g. a transaction message ( 40 ), must solve
• 240• 240
Trust-bound-Proof-of-Work (TbPoW) : einzigartiges PoW (220), bei dem der Nonce-Schwierigkeitsgrad (230) abhängig von dem Rating (80) eines Computersystems (10) festgelegt wird: je höher das Rating (80) desto kleiner der geforderte Schwierigkeitsgrad Trust-bound-proof-of-work (TbPoW): unique PoW ( 220 ) where the nonce difficulty level ( 230 ) depending on the rating ( 80 ) a computer system ( 10th ) is determined: the higher the rating ( 80 ) the smaller the required level of difficulty
• 250• 250
Bösartiges Computersystem : ein Computersystem (10) im Blockchain-Computernetzwerk (60), das entweder a) die Regeln der Blockchain-Datenbank (20) bzw. des Computernetzwerkes zu eignen Interessen durch ein oder mehrere Angriffsszenarien brechen möchte, oder b) durch technische Mängel ein fehlerhaftes und für das Blockchain-Computernetzwerk (60) schädliches Verhalten aufweistMalicious computer system: a computer system ( 10th ) in the blockchain computer network ( 60 ) that either a) the rules of the blockchain database ( 20th ) or the computer network's own interests would like to break through one or more attack scenarios, or b) due to technical defects a faulty and for the blockchain computer network ( 60 ) has harmful behavior
• 260• 260
SPAM : die absichtliche oder unabsichtliche Kommunikations-Überlastung eines Computersystems (10) mit Transaktionsnachrichten (40), welche gültige oder ungültige Änderungstransaktion(en) (30) beinhalten können; es ist oft ein AngriffsszenarioSPAM: the deliberate or unintentional communication overload of a computer system ( 10th ) with transactional messages ( 40 ) which valid or invalid change transaction (s) ( 30th ) may include; it is often an attack scenario
• 270• 270
Eclipse : ein Angriffszenario bei dem bösartige Computersysteme (250) versuchen alle Verbindungsslots (120) eines Computersystems (10) zu belegen und dadurch die Hoheit über dessen Kommunikation mit dem Rest des Blockchain-Netzwerkes (60) zu erlangenEclipse: an attack scenario in which malicious computer systems ( 250 ) try all connection slots ( 120 ) a computer system ( 10th ) and thus the sovereignty over its communication with the rest of the blockchain network ( 60 ) to get
• 280• 280
Sybil : ein Angriffsszenario in einem Blockchain-Computernetzwerk (60), in dem das Vertrauen bzw. die Reputation durch Erstellung falscher Identitäten untergraben bzw. gefälscht wirdSybil: an attack scenario in a blockchain computer network ( 60 ) by undermining or falsifying trust or reputation by creating false identities
• 290• 290
Double Spending : ein Angriffsszenario und/oder ein unzulässiger Zustand in der asynchronen verteilten Datenverarbeitung im Blockchain-Computernetzwerk (60), bei dem widersprüchliche Sachverhalte in der Blockchain-Datenbank (20) entstehen können; z.B. bei einer Blockchain-Datenbank (20) mit Geldkonten könnte ein Double Spending bedeuten, dass ein Konto einen Negativsaldo aufweist, weil aus dem Konto ein Geldbetrag unrechtmäßig doppelt ausgegeben wurde.Double spending: an attack scenario and / or an impermissible state in asynchronous distributed data processing in the blockchain computer network ( 60 ), where conflicting issues in the blockchain database ( 20th ) can arise; e.g. with a blockchain database ( 20th ) With money accounts, double spending could mean that an account has a negative balance because an amount of money from the account was illegally spent twice.
• 300• 300
Angriffsbelastung : die Summe von allen gleichzeitig oder versetzt auftretenden Angriffsszenarien ausgeführt durch eines oder mehrere bösartige Computersysteme (250) gegen eines oder mehrere Computersysteme (10) in einem Blockchain-Computernetzwerk (60)Attack load: the sum of all attack scenarios occurring simultaneously or staggered, executed by one or more malicious computer systems ( 250 ) against one or more computer systems ( 10th ) in a blockchain computer network ( 60 )
• 310• 310
Widersprüchliche/widersprechende Transaktionsnachrichten : mehrere Transaktionsnachrichten (40), die zu einem gewissen Zeitpunkt gleiche Sachverhalte (z.B. Konten) betreffen jedoch gleichzeitig nicht gültig sein können, da sie sich im Sachverhalt widersprechen; diese können durch „Double Spending“-Angriffe (290) oder andere konkurrierende Umstände in einem verteilten asynchronen Datenverarbeitungsprozess entstehen.Contradictory / contradicting transaction messages: multiple transaction messages ( 40 ), which at the same time affect the same facts (eg accounts) but cannot be valid at the same time because they contradict each other in the facts; these can arise from "double spending" attacks (290) or other competing circumstances in a distributed asynchronous data processing process.
• 320• 320
Kommunikationssteuerung / Firewall : ein Verfahren, das mittels TbPoW (240) die Überlastung eines Computersystems (10), insbesondere durch SPAM-Angriffe (260), verhindertCommunication control / firewall: a process that uses TbPoW (240) to overload a computer system ( 10th ), especially through SPAM attacks ( 260 ), prevented

Claims (8)

Arbeitsverfahren von Computersystemen (10) in einem Blockchain-Computernetzwerk (60) zum Schutz der Integrität eines verteilten Datenbestands, dadurch gekennzeichnet, dass a) das Computersystem (10) für die bekannten Nachbarn (70) fortlaufend das Rating (80) und andere Kennzahlen berechnet, die für die weiteren Interaktionen mit jedem dieser Nachbarn (70) entscheidend sind, und b) alle Verbindungen zu den Nachbarn (70) nach einer dynamisch festgelegten oder einer festen Zeitdauer neu aufgestellt und/oder getrennt werden und dabei das Rating (80) jedes Nachbarn (70) und andere Kennzahlen aber auch ggf. eine Zufallsvariable für den Verbindungsaufbau bzw. -Bestätigung entscheidend sind, und c) die Nachbarn (70) Teile ihrer Kontaktlisten (160) untereinander austauschen, und für den Umfang des Austauschs das jeweilige Rating (80) und andere Kennzahlen entscheidend sind, und d) das Computersystem (10) von seinen Nachbarn (70) das Rating (80) über einen bestimmten Nachbar (70) erfragen kann und dieses für die eigene Berechnung des Ratings (80) für diesen Nachbarn (70) verwendet, und e) bei eingehenden Transaktionsnachrichten (40) das Computersystem (10) eine Firewall (320) bereitstellt, die von dem jeweiligen Nachbarn (70) ein „Trust-bound-Proof-of-Work“ (240) verlangen kann, das sich auf den Dateninhalt der Transaktionsnachricht (40), der öffentlichen Schlüssel beider Computersysteme (10), und ggf. einer von dem empfangenden Computersystem (10) festgelegten Zufallsvariable bezieht, und dessen Nonce-Schwierigkeitsgrad (230) von dem Rating (80) des Nachbars (70), der Netzwerk- und der CPU-Auslastung des Computersystems (10) abhängig ist, und f) das Computersystem (10) eingehende und ausgehende Transaktionsnachrichten (40), solange diese nicht final als gültig in die Blockchain-Datenbank (20) aufgenommen oder als ungültig verworfen wurden, für eine kurze Zeit in einer temporären lokalen Datenbank (50) zwischenspeichert, und g) bei der Konsensfindung (170) das Computersystem (10) die eingehenden Transaktionsnachrichten (40) mit den Ratings (80) der jeweiligen Nachbarn (70) bewertet, und dabei, bei widersprüchlichen Transaktionsnachrichten (310), die jeweilige Nachrichtenbewertung (90) für die Auswahl der gültigen Transaktionsnachricht (40) entscheidend ist, und dabei dem Sender die erhaltene Transaktionsnachricht (40) bestätigt, sie zurückweist, oder die alternative widersprechende Transaktionsnachricht (40) zurückschickt, die das Computersystem (10) aktuell für gültiger hält, und h) eingehende Transaktionsnachrichten (40), sofern diese vom Computersystem (10) zu dem jeweiligen Zeitpunkt als gültig anerkannt werden, an andere Nachbarn (70) weitergeleitet werden und dabei niemals eine Transaktionsnachricht (40) mit demselben Inhalt innerhalb eines bestimmten Zeitfensters mehrmals an den selben Nachbarn (70) geschickt werden kann, und i) eine Transaktionsnachricht (40) von einem Computersystem (10) als gültig und final anerkannt wird und deren Änderungstransaktion (en) (30) in die Blockchain-Datenbank (20) des Computersystems (10) aufgenommen werden, sobald das Nachrichtenrating (90) dieser Transaktionsnachricht (40) ein vordefiniertes Niveau erreicht und sobald eine gewisse Zeit vergeht, ohne das eine neue widersprechende Transaktionsnachricht (310) von dem Computersystem (10) erhalten wird.Working method of computer systems (10) in a blockchain computer network (60) to protect the integrity of a distributed database, characterized in that a) the computer system (10) continuously calculates the rating (80) and other key figures for the known neighbors (70) , which are decisive for the further interactions with each of these neighbors (70), and b) all connections to the neighbors (70) are re-established and / or disconnected after a dynamically determined or a fixed period of time and the rating (80) of each Neighbors (70) and other key figures, but possibly also a random variable are decisive for the connection establishment or confirmation, and c) the neighbors (70) exchange parts of their contact lists (160) with each other, and the respective rating for the scope of the exchange ( 80) and other key figures are decisive, and d) the computer system (10) can inquire from its neighbors (70) the rating (80) about a specific neighbor (70) and this is used for the own calculation of the rating (80) for this neighbor (70), and e) in the case of incoming transaction messages (40) the computer system (10) provides a firewall (320) which the respective neighbor (70) provides a " Trust-bound-proof-of-work ”(240), which relates to the data content of the transaction message (40), the public keys of both computer systems (10), and possibly a random variable defined by the receiving computer system (10) , and whose nonce difficulty level (230) depends on the rating (80) of the neighbor (70), the network and the CPU utilization of the computer system (10), and f) the computer system (10) incoming and outgoing transaction messages ( 40) temporarily stored in a temporary local database (50) for a short time, as long as they have not been finally accepted as valid in the blockchain database (20) or rejected as invalid, and g) the computer system during consensus building (170) (10) evaluates the incoming transaction messages (40) with the ratings (80) of the respective neighbors (70), and, in the case of contradicting transaction messages (310), the respective message rating (90) is decisive for the selection of the valid transaction message (40) , and the sender confirms the transaction message (40) received, rejects it, or sends back the alternative contradicting transaction message (40) which the computer system (10) currently considers to be more valid, and h) incoming transaction messages (40), provided that this is from the computer system (10 ) are recognized as valid at the respective point in time, are forwarded to other neighbors (70) and a transaction message (40) with the same content can never be sent to the same neighbor (70) several times within a certain time window, and i) a transaction message (40) is recognized as valid and final by a computer system (10) and its change transaction (s) (30) are recorded in the blockchain database (20) of the computer system (10) as soon as the message rating (90) of this transaction message (40 ) reaches a predefined level and as soon as a certain time passes without the new contradicting transaction message (310) is obtained from the computer system (10). Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass j) die im Verfahrensschritt a) berechneten Kennzahlen sich aus dem Rating (80) für jedes andere Computersystem (10), den verfügbaren eingehenden Slots (120) für neue Nachbarn (70), der Gruppenzugehörigkeit (130), der Verbindungsqualität, und der Persönlichkeit (140), die ein Zufallswert aus einer kleinen Menge der realen Zahlen ist, berechnet, und k) das im Verfahrensschritt a) berechnete Rating (80) aus weiteren Faktoren ermittelt wird, wie die Dauer der Beziehung zwischen dem Computersystem (10) und einem Nachbarn (70), die Dauer der aktiven Kommunikation zu diesem Nachbar (70), das Rating (80) von anderen Nachbarn (70) über diesen Nachbar (70), den Neuheitswert der erhaltenen Transaktionsnachrichten (40), die Gültigkeit der Transaktionsnachrichten (40) und die Änderungshäufigkeit der Transaktionsnachrichten (40).Working procedures according to Claim 1 , characterized in that j) the key figures calculated in method step a) are derived from the rating (80) for each other computer system (10), the available incoming slots (120) for new neighbors (70), the group membership (130), the Connection quality, and personality (140), which is a random value from a small set of real numbers, and k) the rating (80) calculated in method step a) is determined from other factors, such as the duration of the relationship between the computer system (10) and a neighbor (70), the duration of active communication with this neighbor (70), the rating (80) of other neighbors (70) via this neighbor (70), the novelty value of the transaction messages (40) received Validity of the transaction messages (40) and the frequency of changes in the transaction messages (40). Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass 1) der Verbindungsaufbau aus dem Verfahrensschritt b) zu einem Computersystem (10) nur über Slots (120) aufgebaut werden kann und diese Slots (120) aufgeteilt sind in Slots für eingehende (100) und Slots für ausgehende Verbindungen (110), und die Anzahl der Slots (120) für die eingehende Verbindungen (100) größer ist als die Anzahl der Slots (120) für ausgehende Verbindungen (110), und m) bei dem Verbindungsaufbau aus dem Verfahrensschritt b) bei einer eingehenden Verbindung (100) ein anderes Computersystem (10) sich mittels seines öffentlichen Schlüssels, des jeweiligen Schlüsselpaares aus einem Public-Key-Verschlüsselungsverfahren, und einem Handshake identifizieren muss, und n) bei dem Verbindungsaufbau aus dem Verfahrensschritt b) das Computersystem (10) eine eingehende Verbindung (100) mit einem Nachbarn (70) unter Berücksichtigung der Gesamtheit oder einer Teilmenge der Faktoren: Rating (80) des Nachbars (70), seine Gruppenzugehörigkeit (130), die Anzahl der verfügbaren eingehenden Slots (120) für neue Nachbarn und eine Zufallsvariable (Persönlichkeit) (140) des Nachbars (70), eingeht, und o) bei dem Verbindungsaufbau aus dem Verfahrensschritt b) ein Computersystem (10) nur ausgehende Verbindung (110) mit einem Nachbarn (70) eingeht unter Berücksichtigung der Gesamtheit oder einer Teilmenge der Faktoren: Rating (80) des Nachbars (70), seine Gruppenzugehörigkeit (130), Verbindungsqualität und seine Zufallsvariable (Persönlichkeit) (140), anstrebt, und p) bei dem Verbindungsaufbau aus dem Verfahrensschritt b) das Computersystem (10) das Ziel hat mindestens 5-10 aktive Verbindungen zu Nachbarn (70) aufrechtzuerhalten, und, solange dieses Ziel nicht erreicht ist, es die Anforderungen an eingehende Verbindungen (100) senkt.Working procedures according to Claim 1 , characterized in that 1) the connection establishment from method step b) to a computer system (10) can only be established via slots (120) and these slots (120) are divided into slots for incoming (100) and slots for outgoing connections ( 110), and the number of slots (120) for the incoming connections (100) is greater than the number of slots (120) for outgoing connections (110), and m) when establishing a connection from method step b) for an incoming connection (100) another computer system (10) must identify itself by means of its public key, the respective key pair from a public key encryption method, and a handshake, and n) when establishing the connection from method step b) the computer system (10) receives an incoming Connection (100) with a neighbor (70) taking into account all or a subset of the factors: rating (80) of the neighbor (70), his group membership (130), the Number of available incoming slots (120) for new neighbors and a random variable (personality) (140) of the neighbor (70), incoming, and o) when establishing the connection from method step b) a computer system (10) only outgoing connection (110) with a neighbor (70) takes into account all or a subset of the factors: the neighbor's rating (80) (70), its group membership (130), connection quality and its random variable (personality) (140), and p) the establishment of the connection from method step b) the computer system (10) has the goal of maintaining at least 5-10 active connections to neighbors (70) and, as long as this goal has not been achieved, it lowers the requirements for incoming connections (100). Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass q) beim Verfahrensschritt c) ein Computersystem (10) auf Anfrage von einem Nachbarn (70) ein Teil seiner Kontaktliste (160) an diesen Nachbar (70) schicken kann und der Umfang dieses Austauschs durch eine Maximalanzahl festgelegt wird, die beschreibt wieviele Kontakte dieses Computersystem (10) maximal an diesen Nachbar (70) preisgeben möchte, und r) beim Verfahrensschritt c) die Maximalanzahl der preisgegebenen Kontakte von einem Computersystem (10) an einen bestimmten Nachbar (70) unter Berücksichtigung der Gesamtheit oder einer Teilmenge der Faktoren: Rating (80) des Nachbars (70), seine Gruppenzugehörigkeit (130) und Verbindungsqualität, festgelegt wird, und s) beim Verfahrensschritt c) die von einem Computersystem (10) an einen bestimmten Nachbar (70) bereits mitgeteilten Kontakte gemerkt werden und dieser Umfang nur durch die Maximalanzahl der preisgegebenen Kontakte erweitert werden kann.Working procedures according to Claim 1 , characterized in that q) in method step c) a computer system (10) can send a part of its contact list (160) to this neighbor (70) on request from a neighbor (70) and the scope of this exchange is determined by a maximum number, which describes the maximum number of contacts this computer system (10) would like to disclose to this neighbor (70), and r) in method step c) the maximum number of disclosed contacts from a computer system (10) to a specific neighbor (70) taking into account all or one Subset of the factors: rating (80) of the neighbor (70), its group membership (130) and connection quality, is determined, and s) in method step c) the contacts already communicated by a computer system (10) to a specific neighbor (70) are noted and this scope can only be expanded by the maximum number of disclosed contacts. Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass t) beim Verfahrensschritt d) ein Computersystem (10) von seinen Nachbarn (70) ihre Ratings (80) über ein anderes bestimmtes Computersystem (10) erfragen kann und deren Antworten/Meinungen mit dem jeweiligen Rating (80), welches das Computersystem (10) über den jeweiligen Nachbar (70) hat, gewichtet, und u) beim Verfahrensschritt d) die gewichteten „Meinungen“ bzw. Ratings (80) der Nachbarn (70) über ein bestimmtes Computersystem (10) dazu dienen, dass das erfragende Computersystem (10) seine eigene „Meinung“ bzw. sein eigenes Rating (80) über das andere Computersystem (10) bilden kann, über das es die Meinung seiner Nachbarn (70) angefragt hat, und v) beim Verfahrensschritt d) das Computersystem (10) sich periodisch und fortlaufend über die Meinungen aller Nachbarn (70) zu allen ihm bekannten Computersystemen (10) im Blockchain-Computernetzwerk (60) informiert.Working procedures after Claim 1 , characterized in that t) in method step d) a computer system (10) can request its neighbors (70) their ratings (80) via another specific computer system (10) and their answers / opinions with the respective rating (80), which the computer system (10) has over the respective neighbor (70) is weighted, and u) in method step d) the weighted “opinions” or ratings (80) of the neighbors (70) about a specific computer system (10) are used to that the inquiring computer system (10) has its own “opinion” or rating (80) the other computer system (10) can form, about which it has asked the opinion of its neighbors (70), and v) in process step d) the computer system (10) periodically and continuously on the opinions of all neighbors (70) to all known to him Computer systems (10) in the blockchain computer network (60) informed. Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass w) beim Verfahrensschritt e) das Computersystem (10) eingehende Transaktionsnachrichten (40) durch eine Kommunikationssteuerung (320) nur akzeptiert solange diese Transaktionsnachricht (70) eine Antwort auf eine andere von dem Computersystem (10) an diesen Nachbar (70) ausgehende Transaktionsnachricht (40) ist, oder solange der Nachbar (70) auf eine spezielle TbPoW-Anforderung (240), die das Computersystem (10) stellt und die sich auf diese neue eingehende Transaktionsnachricht (40) bezieht, eine richtige Antwort, d.h. Nonce (210), geben kann, und x) beim Verfahrensschritt e) das von dem Computersystem (10) geforderte TbPoW (240) sich explizit auf den Hash-Inhalt der von dem Nachbarn (70) erhaltenen Transaktionsnachricht (40), den beiden öffentlichen Schlüsseln des sendenden Nachbars (70) und des empfangenden Computersystems (10), und einer durch das Computersystem (10) festgelegten Zufallszahl, bezieht, und y) beim Verfahrensschritt e) der vom Computersystem (10) geforderte TbPoW (240), den ein Nachbar (70) bearbeiten muss, einen variablen Nonce-Schwierigkeitsgrad (230) hat und dieser unter Berücksichtigung der Gesamtheit oder einer Teilmenge der Faktoren: das Rating (80) des Nachbarn (70), durchschnittliche Netzwerkbelastung augedrückt als durchschnittliche Anzahl der erhaltenen Transaktionsnachrichten (40) pro Nachbar (70) pro Zeiteinheit, durchschnittliche Anzahl der Transaktionsnachrichten (40) erhalten von diesem Nachbarn (70) pro Zeiteinheit, aktuelle CPU-Belastung des Computersystems (10), fortlaufend festgelegt wird, und z) ein Computersystem (10) erhaltene Transaktionsnachrichten (40) erst in der Konsensfindung (170) (in dem Verfahrensschritt g) ) betrachtet, sobald diese die Firewall bzw. die Kommunikationssteuerung (320) im Verfahrensschritt e) überwunden haben,Working procedures according to Claim 1 , characterized in that w) in method step e) the computer system (10) accepts incoming transaction messages (40) by a communication controller (320) only as long as this transaction message (70) a response to another from the computer system (10) to this neighbor ( 70) outgoing transaction message (40) or as long as the neighbor (70) has a correct answer to a special TbPoW request (240) made by the computer system (10) and relating to this new incoming transaction message (40), ie nonce (210), and x) in method step e) the TbPoW (240) required by the computer system (10) explicitly relates to the hash content of the transaction message (40) received from the neighbor (70), the two obtains public keys of the sending neighbor (70) and the receiving computer system (10), and a random number determined by the computer system (10), and y) in step e) that of the computer system tbPoW (240) required by a neighbor (70) has a variable nonce difficulty level (230) and this taking into account all or a subset of the factors: the neighbor's rating (80) (70) , Average network load expressed as the average number of transaction messages received (40) per neighbor (70) per time unit, average number of transaction messages (40) received from this neighbor (70) per time unit, current CPU load on the computer system (10), continuously determined and z) a computer system (10) received transaction messages (40) are only considered in finding consensus (170) (in method step g)) as soon as they have overcome the firewall or communication controller (320) in method step e), Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass aa) beim Verfahrensschritt g) ein Computersystem (10) die Transaktionsnachrichten (40), ihren Inhalt, ihr aktuelles Nachrichtenrating (90) und die identifizierenden Daten der Nachbarn (70), welche diese Transaktionsnachricht (40) mit diesem Inhalt geschickt haben, für eine kurze Zeit in einer temporären lokalen Datenbank (50) ( Verfahrensschritt f) ) zwischenspeichert, solange diese Transaktionsnachricht (40) nicht final angenommen oder verworfen wurde, oder diese Transaktionsnachricht (40) wird wegen sachlicher oder anderer Mängel sofort nach Empfang verworfen, und ab) ein Computersystem (10) jede Transaktionsnachricht (40) mit dem Rating (80) des Sender-Nachbars (70) bewertet und bekommt dadurch das Nachrichtenrating (90), außer diese Transaktionsnachricht (40) mit dem gleichen Inhalt existiert bereits in der temporären lokalen Datenbank (50) (gespeichert im Verfahrensschritt f)), infolge dessen werden die Ratings (80) aller Nachbarn (70), die diese Transaktionsnachricht (40) geschickt haben, verwendet, um das Nachrichtenrating (90) zu bestimmen, und ac) beim Verfahrensschritt g) ein Computersystem (10) bei zwei widersprüchlichen jedoch syntaktisch und sachlich korrekten Transaktionsnachrichten (310) sich immer für die Gültigkeit der Transaktionsnachricht (40) entscheidet, die aktuell das höchste Nachtichtenrating (90) aufweist, und ad) ein Nachbar (70) bei seiner Gültigkeitsbewertung von mehreren widersprüchlichen Transaktionsnachrichten (310) sich umentscheiden kann und das Computersystem (10) dadurch von diesem Nachbar (70) im Verfahrensschritt g) nacheinander mehrere widersprüchliche Transaktionsnachrichten (310) erhalten kann, was dazu führt, dass das Computersystem (10) diese „Meinungsänderungen“ auch mitbewertet, indem es bei der Bewertung der jeweiligen nachfolgenden Transaktionsnachrichten (40) einen leichten Abzug des Nachrichtenratings (90) vornimmt, und ae) beim Verfahrensschritt g) ein Computersystem (10) auf eine eingehende Transaktionsnachricht (40) dem sendenden Nachbarn (70) antwortet: entweder mit Ablehnung, wegen sachlicher oder förmlicher Mängel in der Transaktionsnachricht (40), oder mit der aktuellen Zustimmung indem es auch den Inhalt der Transaktionsnachricht (40) bestätigt, oder, falls das Computersystem (10) aktuell eine andere widersprüchliche Transaktionsnachricht (310) in der temporären lokalen Datenbank (50) für gültiger betrachtet, wird stattdessen diese dem Nachbarn (70) als Alternative mitgeteilt, und af) beim Verfahrensschritt g) das Computersystem (10), durch den Erhalt und die Auswertung eingehender Transaktionsnachrichten (40) von einem Nachbarn (70), für diesen Nachbar (70) fortlaufend Statistiken aktualisiert (die später im nächsten Lauf des Verfahrensschritts a) eine Rolle spielen), insbesondere den Neuheitswert der Transaktionsnachrichten (40), der aussagt wieviel Prozent aller von diesem Nachbarn (70) erhaltener Transaktionsnachrichten (40) dem Computersystem (10) neu waren, die Gültigkeit der Transaktionsnachrichten (40), die aussagt wieviel Prozent aller von diesem Nachbarn (70) erhaltener Transaktionsnachrichten (40) letztendlich vom Computersystem (10) final als gültig anerkannt wurden und die Änderungshäufigkeit, die aussagt bei wieviel Prozent aller von diesem Nachbarn (70) erhaltener Transaktionsnachrichten (40) dieser Nachbar (40) später seine Meinung ändert und stattdessen sich für andere widersprechende Transaktionsnachrichten (310) umentscheidet.Working procedures according to Claim 1 , characterized in that aa) in method step g) a computer system (10) contains the transaction messages (40), their content, their current message rating (90) and the identifying data of the neighbors (70) which contain this transaction message (40) with this content sent, temporarily stored in a temporary local database (50) (method step f)) as long as this transaction message (40) was not finally accepted or rejected, or this transaction message (40) is received immediately after receipt due to factual or other defects rejected, and ab) a computer system (10) evaluates each transaction message (40) with the rating (80) of the sender neighbor (70) and thereby receives the message rating (90), unless this transaction message (40) with the same content already exists in the temporary local database (50) (stored in method step f)), as a result of which the ratings (80) of all neighbors (70) that this Tr sent transaction message (40), used to determine the message rating (90), and ac) in method step g) a computer system (10) with two contradictory but syntactically and factually correct transaction messages (310) always for the validity of the transaction message ( 40) decides which currently has the highest night rating (90), and ad) a neighbor (70) can change his or her validity of several contradictory transaction messages (310) and the computer system (10) thereby from this neighbor (70) in the procedural step g) can receive several contradicting transaction messages (310) one after the other, which means that the computer system (10) also evaluates these “changes of opinion” by subtracting the message rating (90) slightly when evaluating the respective subsequent transaction messages (40) , and ae) in method step g) a computer system (10) is switched on Transaction message (40) replies to the sending neighbor (70): either with rejection, due to factual or formal defects in the transaction message (40), or with the current consent by also confirming the content of the transaction message (40), or, if that Computer system (10) currently considers another contradicting transaction message (310) in the temporary local database (50) to be more valid, it is instead communicated to the neighbor (70) as an alternative, and af) in method step g) by the computer system (10) the receipt and evaluation of incoming transaction messages (40) from a neighbor (70), statistics continuously updated for this neighbor (70) (which will later play a role in the next run of method step a)), in particular the novelty value of the transaction messages (40), which indicates what percentage of all transaction messages (40) received from this neighbor (70) was new to the computer system (10) The validity of the transaction messages (40), which indicates what percentage of all transaction messages (40) received from this neighbor (70) were finally recognized as valid by the computer system (10) and the frequency of changes, which indicates what percentage of all of this neighbor (70) received transaction messages (40) this Neighbor (40) later changes his mind and instead chooses other conflicting transaction messages (310). Arbeitsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass ag) erhaltene Transaktionsnachrichten (40), sofern diese vom Computersystem (10) aktuell als gültig anerkannt sind, beim Verfahrensschritt h) an alle anderen Nachbarn (70) weitergeleitet werden, und ah) beim Verfahrensschritt h) das Computersystem (10) in der temporären lokalen Datenbank (50) die widersprüchliche Transaktionsnachrichten (310) untereinander verlinkt und auch Meinungsänderungen über die aktuelle Gültigkeit der jeweiligen Transaktionsnachricht (40) registriert, und ai) beim Verfahrensschritt h) das Computersystem (10) verschickte Transaktionsnachrichten (40) und die identifizierenden Daten der Empfänger-Nachbarn (70) in der temporären lokalen Datenbank (50) zwischenspeichert und dadurch nie innerhalb eines bestimmten Zeitfensters die gleiche Transaktionsnachricht (40) nacheinander mit dem gleichen Inhalt an den gleichen Nachbarn (70) verschickt, außer das Computersystem (10) hatte dazwischen eine Meinungsänderung in der aktuellen Gültigkeit der jeweiligen Transaktionsnachricht (40) registriert, und aj) die temporäre lokale Datenbank (50) nach dem NoSQL-Prinzip dokumentenbasiert funktioniert und die Hashwerte der Inhalte der gespeicherten Transaktionsnachrichten (40) als Zugriffsschlüssel agieren, und ak) beim Verfahrensschritt i) die als gültig angesehene Transaktionsnachrichten (40) in der temporären lokalen Datenbank (50), die zwar nach Ablauf einer gewissen Zeit T1 keine neuen widersprechenden Transaktionsnachrichten (310) erhalten, jedoch keinen gewünschten Grad an Nachrichtenrating (90) erreichen, nach Ablauf einer gewissen Zeit T2 aus der temporären lokalen Datenbank (50), mit ggf. verlinkten, ihr widersprechenden, Transaktionsnachrichten (310), entfernt werden, wobei T2 immer größer als T1 ist.Working procedures according to Claim 1 , characterized in that ag) received transaction messages (40), if these are currently recognized as valid by the computer system (10), are forwarded to all other neighbors (70) in method step h), and ah) the computer system in method step h) ( 10) the contradictory transaction messages (310) are linked to one another in the temporary local database (50) and changes in opinion about the current validity of the respective transaction message (40) are also registered, and ai) in process step h) the computer system (10) sends transaction messages (40) and the identifying data of the recipient neighbors (70) are cached in the temporary local database (50) and thus never sends the same transaction message (40) in succession with the same content to the same neighbor (70) within a certain time window, except for the computer system (10) had a change in opinion in the current validity of the respective transaction message (40) registered, and aj) the temporary local database (50) functions on a document-based basis according to the NoSQL principle and the hash values of the contents of the stored transaction messages (40) act as access keys, and ak) in process step i) that they are valid viewed transaction messages (40) in the temporary local database (50), which do not receive any new conflicting transaction messages (310) after a certain time T1, but do not achieve a desired degree of message rating (90), after a certain time T2 from the temporary local database (50), with possibly linked, contradicting, transaction messages (310), are removed, wherein T2 is always larger than T1.
DE102018009320.5A 2018-11-28 2018-11-28 Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database Withdrawn DE102018009320A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018009320.5A DE102018009320A1 (en) 2018-11-28 2018-11-28 Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018009320.5A DE102018009320A1 (en) 2018-11-28 2018-11-28 Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database

Publications (1)

Publication Number Publication Date
DE102018009320A1 true DE102018009320A1 (en) 2020-05-28

Family

ID=70545802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018009320.5A Withdrawn DE102018009320A1 (en) 2018-11-28 2018-11-28 Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database

Country Status (1)

Country Link
DE (1) DE102018009320A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222347A1 (en) * 2015-11-12 2017-05-18 Bundesdruckerei Gmbh Electronic payment method and server computer
DE102018106682A1 (en) * 2017-04-17 2018-10-18 International Business Machines Corporation PROVIDE OUT-OF-BAND VERIFICATION FOR BLOCK CHAIN TRANSACTIONS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222347A1 (en) * 2015-11-12 2017-05-18 Bundesdruckerei Gmbh Electronic payment method and server computer
DE102018106682A1 (en) * 2017-04-17 2018-10-18 International Business Machines Corporation PROVIDE OUT-OF-BAND VERIFICATION FOR BLOCK CHAIN TRANSACTIONS

Similar Documents

Publication Publication Date Title
Bapat et al. Alliances between militant groups
DE602005005753T2 (en) Apparatus and method for defusing DoS attacks in a service discovery system
DE60317123T2 (en) Method for securing communication over a network
Bimber et al. Reconceptualizing collective action in the contemporary media environment
DE60223771T2 (en) Protection for server computing device, method, program product, and server computing device
DE112013001964B4 (en) Message exchange security management
Brown et al. Avoiding an uncertain catastrophe: climate change mitigation under risk and wealth heterogeneity
WO2019015856A1 (en) Monitoring a blockchain
EP3152884B1 (en) Method for forwarding data between computer systems, computer network infrastructure, and computer program product
Korneev Deeper and wider than a common space: European Union-Russia cooperation on migration management
WO2014095001A1 (en) Reputation system and method
DE102018009320A1 (en) Working methods of computer systems in a blockchain computer network to protect the integrity of a distributed database
WO2015185505A1 (en) Method for distributing tasks between computer systems, computer network infrastructure and computer program product
EP3376419B1 (en) System and method for electronically signing a document
EP3796164A1 (en) Method for monitoring overload in a container virtualised computing device
DE102004046858B4 (en) Method for determining a conductive participant in a network
Glied et al. sketch of the hungAriAn non-profit sector After the regime chAnge
EP1800458B1 (en) Method for initializing a peer-to-peer data network
Lafen UN Regulation-the Best Approach to Effective Cyber Defense
Arzhakov Usage of game theory in the internet wide scan
Grana et al. The Benefits of Fractionation in Competitive Resource Allocation
Riordan et al. Global Policy Perspective Report Science Diplomacy
Siman-Tov et al. The Cybersphere Obligates and Facilitates a Revolution in Intelli gence Affairs
Lété Paris Call and Activating Global Cyber Norms
DE10346927A1 (en) A system to protect the security of a deployable network

Legal Events

Date Code Title Description
R086 Non-binding declaration of licensing interest
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee