Stand der IOTA-Forschung – April 2020

Original by Serguei Popov: https://blog.iota.org/iota-research-status-update-april-2020-f1c3576b57db (16.04.2020)

Wir freuen uns, Ihnen die neuesten Nachrichten aus der IOTA-Forschungsabteilung mitzuteilen. Wir hoffen, dass Ihnen die Präsentationen zur Einführung in die Coordicide-spezifikationen, die wir kürzlich veröffentlicht haben, gefallen haben. Nachstehend finden Sie die neuesten Updates zu unseren Fortschritten.

Sitzung „Benennung“

Mehrere Forscher trafen sich mit weiteren Mitgliedern der Stiftung, um viele der neuen Coordicide-Strukturen zu benennen. Dies mag trivial erscheinen, ist aber aufgrund ihrer Bedeutung und Dauerhaftigkeit tatsächlich schwierig. Sowohl interne als auch externe Entwickler müssen verstehen, wie IOTA funktioniert, damit sie Anwendungen erstellen können. Abgesehen von der Verlangsamung der Produktion kann ein unintuitives Benennungsschema sogar die Annahme behindern, indem es Menschen davon abhält, auf der IOTA-Plattform aufzubauen.

Wir haben gute Fortschritte gemacht. Da wir davon ausgehen, dass der größte Teil des Datenverkehrs im IOTA-Netz aus „0-Wert-Transaktionen“ bestehen wird, haben wir vorläufig beschlossen, die Objekte im Tangle in „Nachrichten“ statt in „Transaktionen“ umzubenennen. Jede Nachricht enthält eine Nutzlast, und wir haben Namen für mehrere der Kernnutzlasttypen entwickelt. Zusätzlich zu den Kernnutzlasten können Benutzer ihre eigenen Nutzlasttypen definieren, die nicht von allen Knoten verarbeitet werden müssen. Mit diesem flexiblen Nachrichten-/Payload-Format kann IOTA eine Vielzahl von Anwendungen bedienen.

In Verbindung mit dem Benennungsprozess stehen wir kurz davor, das Layout der Nachrichten und einiger Kernnutzlasten auf hohem Niveau abzuschließen. Um die Dinge beim Namen nennen zu können, müssen wir verstehen, was wir benennen. Dies ist ein wichtiger Schritt zur Entwicklung eines standardisierten Protokolls.
Wir gehen davon aus, dass die Terminologie bis zur nächsten Aktualisierung fertig gestellt und veröffentlicht sein wird.

Spezifikationen

Wir haben große Fortschritte bei den Spezifikationen von Coordicide gemacht und arbeiten derzeit an den Blaupausen und einem gelben Papier. Mike Bennett von der OMG und unser Leiter der Normung unterstützt diesen Prozess. Die Arbeit an GoShimmer (erste Implementierung von Coordicide) ist in vollem Gange, und wir beabsichtigen, in einigen Wochen das erste Testnetz zu starten. Dies ist eine gemeinsame Arbeit des Forschungs- und Ingenieurteams. Um beide Teams auf der theoretischen Ebene aufeinander abzustimmen, haben wir eine Reihe von Präsentationen entwickelt, in denen wir kurz erläutern, welche Themen in der Hauptspezifikationsdatei erscheinen sollen. Die Präsentationen wurden recht gut aufgenommen und ermöglichten es den Ingenieuren, gemeinsam mit den Forschern an jedem Thema zu arbeiten. Mit dem Schreiben der Spezifikationen wurde begonnen, und wir hoffen, im kommenden Monat eine große Weiterentwicklung zu erreichen.

Vernetzung

Wir haben eine erste Komplettlösung zur Bewältigung von Netzwerküberlastungen fertiggestellt. Insbesondere besteht unser Protokollvorschlag aus zwei Modulen, die die Tarifkontrolle ergänzen: (i) Terminierung, bei der Transaktionen, die von bestimmten Knoten ausgegeben werden, Vorrang eingeräumt wird, um den Durchsatz proportional zum Mana zu teilen; (ii) Tarifgestaltung, die sich mit der lokalen Überlastung befasst und von der AIMD inspiriert ist. Gegenwärtig führen wir umfangreiche Simulationen durch und vergleichen sie auch mit bestehenden Terminierungsrichtlinien und Staukontrollalgorithmen. Unsere Ergebnisse zeigen, dass Fairness garantiert ist und die Latenzzeit begrenzt ist. Wir planen nun, eine „Packet-Drop-Politik“ zur Behandlung von Transaktionsbursts hinzuzufügen und anschließend zu evaluieren, wie sich diese Politik auf die Konsistenzanforderung auswirkt.

Was den adaptiven PoW-Algorithmus betrifft, so haben wir das so genannte Kollisionsproblem gelöst, indem wir Sequenznummern entfernt haben (mehr dazu können Sie hier lesen). Das Protokoll ist bereit für Spezifikationen. Zusätzlich untersuchen wir im Zusammenhang mit VDFs niedrigere Grenzen für die Anzahl der Gate-Operationen, die zur Lösung modularer Quadrierungen erforderlich sind, was Schätzungen der physikalischen Grenzen zur Lösung einer VDF liefern wird. Unser Vortrag über IOTA und VDFs auf der Stanford Blockchain Conference ist auf YouTube verfügbar.

dRNG

Wir schlossen den Großteil der Konzeptarbeit an einem dezentralen Zufallszahlengenerator (dRNG) für das IOTA-Netzwerk ab. Unsere Arbeit beinhaltete die Anpassung und Justierung des „drand-Protokolls“, damit es in der DLT-Umgebung ohne Erlaubnis funktioniert. Wir entwarfen ein spezielles Tangle-Nachrichten-Layout, das die Auswahl durch den Ausschuss, die verteilte Schlüsselgenerierung und die nahtlose Erfassung der Zufälligkeit ermöglicht.

Im Moment ist das Hauptaugenmerk unserer Gruppe darauf gerichtet, die Spezifikation für die Entwickler zu schreiben. Wir entwickeln jedoch auch zusätzliche Sicherheitsmerkmale von IOTA dRNG. Die endgültige Spezifikation soll Backup-Zufallsgeneratoren sowie Mechanismen zur Erkennung von Ausschussfehlern und Methoden zur Benennung des neuen Ausschusses enthalten.

GoShimmer-Implementierung

Unsere Gemeinschaft hat uns beim Testen unseres Prototyps enorm geholfen, und als Ergebnis haben wir v0.1.3 veröffentlicht, die mehrere Fehlerbehebungen, verbessertes Autopeering und Dashboard und mehr Stabilität enthält.

In der Zwischenzeit hat das GoShimmer-Team an der bevorstehenden nächsten Version v0.2.0 gearbeitet. Wir haben die Unterstützung für traditionelle Public-Key-Kryptographie auf der Basis elliptischer Kurven (z.B. Ed25519 und BLS) sowie binäre Hash-Funktionen wie SHA-256, SHA-512 und Blake2b integriert.

Die Goshimmer-Modularität hat durch die Implementierung eines schichtenbasierten Ansatzes weitere Fortschritte gemacht. Obwohl die Benennung der Schichten noch nicht abgeschlossen ist, können wir Ihnen einen kleinen Einblick geben: Die erste Schicht befasst sich mit Nachrichten; jede Nachricht enthält einige Metadaten wie Stamm, Zweig, Zeitstempel und andere Informationen zur Identität des Emittentenknotens sowie eine Nutzlast. Jede Nutzlast hat einen Typ und einige Daten. Aufgrund ihres Typs (z.B. dRNG-Typ, Werttransaktion) können die enthaltenen Daten entsprechend interpretiert werden. Diese „Interpretations“-Schicht ist unsere zweite Schicht. Darüber haben wir die „Anwendungs“-Schicht, wo ein Protokoll die von der darunter liegenden Schicht bereitgestellten Informationen nutzen kann. So könnte zum Beispiel ein intelligentes Vertragsprotokoll über dem Werte-Tangle implementiert werden (d.h. das Protokoll, das die Werttransaktion implementiert), oder ein dezentralisiertes Lotterieprotokoll über dem dRNG-Protokoll.

Werttransaktionen und das UTXO-Modell sind nun im Entwicklungszweig abgeschlossen. Wir verbinden auch das FPC-Protokoll mit dem Werte-Tangle, so dass widersprüchliche Transaktionen durch Abstimmung gelöst werden können. Eine Wasserhahnanwendung wird es den Benutzern ermöglichen, Mittel zu Testzwecken anzufordern.
Das dRNG wurde ebenfalls in seine erste Iteration integriert: Ausschussmitglieder werden eine IOTA-Version der drand-Anwendung betreiben und „kollektive Baken“ über einen GoShimmer-Knoten an das Netzwerk senden. Jeder Knoten wird in der Lage sein, die Korrektheit der „collective beacons“ zu verifizieren, indem ihre Signatur mit dem verteilten öffentlichen Schlüssel verglichen wird (d.h. dem öffentlichen Schlüssel, der aus den öffentlichen Schlüsseln aller Ausschussmitglieder abgeleitet wird).

Schließlich haben wir an einigen kleineren Verbesserungen gearbeitet: ein besserer Netzwerk-Visualisierer, sowohl auf der Client- als auch auf der Server-Seite; ein Plugin-Manager, der es Entwicklern erlaubt, GoShimmer-Plugins einfach hinzuzufügen und zu verwalten; automatisierte Integrationstests; ein flexibleres Autopeering, das frühere NAT- und Reverse-Proxy-bezogene Einschränkungen aufhebt.

FPC

In der FPC-Gruppe arbeiteten wir weiter an Optimierungen der FPC. Simulationsstudien zeigen, dass diese Anpassungen die Ausfallrate um mindestens eine Größenordnung senken. Gegenwärtig fassen wir diese Ergebnisse in einem Forschungspapier zusammen; das Video gibt Ihnen vielleicht einen ersten Eindruck von unserem Ansatz und von der Art der Ergebnisse, die wir zeigen können. Die Spezifikationen von FPC sind weit fortgeschritten und die restlichen Details werden in Zusammenarbeit mit dem Ingenieurteam festgelegt.

Mana und Autopeering

Die Mana- und Autopeering-Projekte beginnen sich zu beruhigen. Wir diskutierten die letzten Fragen bezüglich der Spezifikationen und trafen einige endgültige Designentscheidungen.

Wir haben auch die Arbeit an unseren Forschungsarbeiten fortgesetzt. Wir haben beschlossen, zwei Arbeiten zu schreiben: eine Analyse unserer Simulationen, die wir mit unserem GoShimmer-Simulator durchgeführt haben. Die zweite wird unsere mathematischen Berechnungen enthalten. Wir hoffen auch, einen Konferenzband zu verfassen, der die Ergebnisse in diesen beiden Papieren zusammenfasst.

Wir haben jetzt noch drei Aufgaben:

  1. Schreiben der Spezifikationen
  2. Beendigung unsere Forschungsarbeiten
  3. Die Parameter einstellen

Obwohl die erste Aufgabe eindeutig die wichtigste ist, erwarten wir weitere Fortschritte bei unseren Papieren. Wir haben beschlossen, mit der Erforschung der endgültigen Parameter zu warten, bis wir mit der Spezifikation fertig sind.

Protokoll

Die Protokollgruppe befasste sich in diesem Monat mit dem Problem der Endgültigkeit des Tangle, wo wir eine Reihe von Instrumenten entwickelt haben, mit denen der Benutzer die Sicherheit seiner Transaktionen überprüfen kann. Wir erörterten auch Optimierungen und die Frage, wie die Finalität mit vertretbarem Rechenaufwand kalkulierbar gemacht werden kann. Wir sind dabei, Wahrscheinlichkeitswerte für die Finalitätstools zu bestimmen, so dass wir genau wissen, wie sicher wir sind. Der nächste Schritt der Gruppe wird darin bestehen, die Engpässe zu bestimmen, die im gegenwärtigen Ansatz optimiert werden müssen, indem das Verarbeitungsverfahren eines Knotens analysiert wird, sowie mit dem Schreiben der Spezifikationen zu beginnen.

Wir freuen uns darauf, Ihnen bald weitere Neuigkeiten mitzuteilen! Wie immer können Sie sich über das IOTA-Forschungsteam im Kanal #tanglemath auf unserem Discord auf dem Laufenden halten. Und Sie sind herzlich eingeladen, unsere technischen Diskussionen in unserem öffentlichen Forum zu verfolgen und daran teilzunehmen: IOTA.cafe.

IOTA würde Reisepass für COVID-19 validieren

Original by Gustavo Rizquez: https://www.iotalatino.org/iota-validaria-pasaporte-de-inmunosuficiencia-covid-19/ (10.04.2020)

Wenn im kreativen Ofen der Briefe die Formel „was wäre, wenn“ auftaucht, ertönt ein Dröhnen von Scharnieren und die Türen öffnen sich. Was wäre, wenn der „Pass der Immunschwäche“ heute möglich wäre? Das ist das vorliegende Thema, mit Daten, die aus dem MIT Technology Review entlehnt wurden. Es besteht die Möglichkeit, dass innerhalb weniger Tage eine der schlimmsten Folgen, die von dieser COVID-19-Pandemie erwartet werden, von der Bildfläche verschwinden würde: eine weltweite Wirtschaftsrezession.

In „Fluren“ von Online-Buchhandlungen gibt es eine Vielzahl von Titeln, die mit dem Ausdruck „Was-wäre-wenn“ beginnen. Konkret würde dann IOTA, wenn sie die Chance bekäme, mit ihrer Technologie einen Pass der Immunschwäche validieren. Dieses Dokument würde durch einen Scan mit einem an das Internet der Dinge angepassten Gerät gewonnen. Durch ihre Verwendung würde sie Arbeitserlaubnisse an Personen erteilen, die kein Infektionsrisiko bei der VICD-19-Pandemie darstellen.

Im Rahmen der „Was-wäre-wenn“-Option werten wir Daten aus einer Arbeit aus, die der Journalist Neel V. Patel für das MIT verfasst hat. Gemäß der Überprüfung könnte ein ordnungsgemäßer COVID-19-Antikörpertest feststellen, ob Sie gegen das Virus immun sind. Wenn Ihr Test negativ ist, könnten Sie dieses Visum mitten in der Pandemie erhalten, damit Sie wieder arbeiten können.

Der Immunschwäche-Pass

Dies ist eine große Investition. Beantworten Sie diese Frage: Was ist, wenn die Mehrheit der Bevölkerung gegen das Coronavirus immun ist? Warum alle unter Quarantäne stellen? „Was ist, wenn“ ist der Schlüssel. Der Herausgeber, der vor seiner Zeit am MIT für Popular Science, The Daily Beast, Slate, Wired, the Verge schrieb, schlägt eine Übung in Vorstellungskraft vor. Neel V. Patel schrieb:

„Stellen Sie sich vor, in ein paar Wochen oder Monaten wird Ihnen ein Covid-19-Testkit nach Hause geschickt. Es ist klein und tragbar, aber ziemlich leicht zu verstehen. Sie stechen sich in den Finger wie bei einem Blutzuckertest für Diabetiker, warten etwa 15 Minuten und bam – schon wissen Sie, ob Sie gegen das Coronavirus immun sind oder nicht.
Mit dieser Diagnose käme der Pass der Immunschwäche. Wenn Sie die Voraussetzungen erfüllen, „können Sie von der Regierung ausgestellte Unterlagen anfordern, aus denen dies hervorgeht“.

Bislang ist die Angelegenheit sehr ernst. Die COVID-19-Coronavirus-Antikörpertests sind bereit. Es ist jedoch zu beachten, dass sie verbesserungsbedürftig sind, um 100% zuverlässig zu sein. Aber darüber hinaus steht Deutschland, der Geburtsort der IOTA-Stiftung, am Vorabend einer großen Bewegung. Deutsche Forscher wollen Hunderttausende von Tests an die Öffentlichkeit schicken. Sie werden in den nächsten Wochen eintreffen, um festzustellen, wer gegen COVID-19 immun ist und wer nicht. Das Ergebnis würde den Menschen bescheinigen, dass sie gesund genug sind, um in die Gesellschaft zurückzukehren. Der Staat könnte ihnen einen Immunitätspass ausstellen.

IOTA würde dieses Verfahren validieren

Die COVID-19 Coronavirus-Antikörper-Testkits sind fertig. Dies ist ein biochemisches Minilabor, das nach Werten in Immunglobulin „G“ sucht. „IgG“ verbleibt im Blut und kann Immunität für Monate, Jahre oder ein Leben lang verleihen. Am ähnlichsten sind die Geräte, die von Menschen mit Diabetes verwendet werden. Ein Stich, eine Blutprobe wird verarbeitet und eine Karte mit einem Mikroprozessor zeigt an, ob Sie Coronavirus-Antikörper haben.

Weitere informationen: Von Maschine zu Maschine: Eine IOTA-Idylle, die in der Pandemie geboren wurde

Wenn es einen Sensor gibt und das Gerät von der IoT-Industrie angepasst wird, könnte die IOTA das Verfahren validieren. Die erste Transaktion würde mit der Ankunft des Geräts in der Wohnung aufgezeichnet. Dort würde die IOTA-Technologie die erste Microzahlung von Maschine zu Maschine generieren. Die nächste Zahlung wäre dann mit dem Ergebnis. Wenn der Test abgeschlossen ist, sendet das Gerät die Ergebnisse über das Internet, die mit der IOTA Distributed Ledger Technologie aufgezeichnet wurden.

Ein weiteres Verfahren wäre die Reihenfolge der Registrierung, des Drucks oder der Einfügung von Pässen mit ausreichender Immunität. Diese könnten in Papiernotizbüchern, im subkutanen Chips oder in biometrischen Paaren zur sozialen Kontrolle verwendet werden.

Es ist nur ein „Was wäre wenn“

Es muss festgestellt werden, dass IOTA das avantgardistischste technologische Versprechen der letzten Zeit ist. Ihre Gravitationsachse liegt im Internet der Dinge. Seine technologische Struktur hat gewaltige Schritte zur Positionierung unternommen. Dennoch ist sie immer noch als „freier Akteur“ dabei, ihre beste Chance aufzubauen.

Vorstellungskraft ist eines der Dinge, die IOTA tun muss, um die Welt zu schaffen, die im Entstehen begriffen ist. Ein Pass für Immunität ist eine Gelegenheit, neue Kräfte und Einsatzmöglichkeiten zu entdecken. IOTA würde eine Reihe von Prozessen validieren, bei denen Maschinen im Mittelpunkt der Transaktion stehen. Ihr Ziel ist es, eine Welt zu schaffen, in der sich der Mensch der Aufgabe widmet, die besten Dinge zu tun, die er tun will.

Der Präsident der IOTA Latino Foundation, Ingenieur Saul Ameliach, ist ein Enthusiast dieser Technologie. Seine Aufgabe ist es, die IOTA TANGLE-Technologie bekannt zu machen und zu verbreiten; in ganz Lateinamerika und in der Karibik. Ziel ist es, IOTA bei ihren Umstellungen auf einen weltweiten Standard für das Internet der Dinge zu fördern.

Die COVID-19-Pandemie hat einen Raum für die Fantasie geschaffen. Es war ein fruchtbarer Boden, auf dem technologische Lösungen verschiedener Art mit großer Geschwindigkeit entstanden sind. IOTA ist sich ihrer Zukunft bewusst, und inmitten dieser Katastrophe wird sie nicht versäumen, ihr Bestes zu tun, um eines Tages einen Unterschied zu machen.

Finanzaufsichtsbehörde empfiehlt Verbot von Stablecoins: Wird es Auswirkungen auf die Kryptomarkt haben?

Original by Errol Villorente: https://micky.com.au/financial-watchdog-recommends-ban-on-stablecoins-will-it-affect-crypto/ (15.04.2020)

Am 14. April befasste sich das Financial Stability Board (FSB) in einem Konsultationspapier mit den Herausforderungen, die das Aufkommen von Stablecoins auf dem globalen Finanzmarkt mit sich bringt.

Dem Dokument zufolge verbessern Stablecoins, wie andere Kryptowährungen auch, „die Effizienz der Bereitstellung von Finanzdienstleistungen“.

Sie stellen jedoch auch Risiken für die Finanzstabilität dar, wenn sie in größerem Umfang angenommen werden.

Zu ihren Empfehlungen gehört die Ermächtigung lokaler Behörden, bestimmte Stablecoins in ihrer eigenen Gerichtsbarkeit zu verbieten.

Weit verbreitete Annahme von Stablecoins: Segen oder Fluch?

Eines ihrer Hauptanliegen ist die weit verbreitete Annahme von Stablecoins. Sollte dies geschehen, könnte sich daraus möglicherweise eine unabhängige Zahlungsinfrastruktur entwickeln.

Ihrer Meinung nach könnten sich aus der weitverbreiteten Einführung von globalen Stablecoins regulatorische Fragen ergeben, insbesondere wenn sie dezentralisiert sind.

In einigen neu aufstrebenden Marktwirtschaften enthüllte das Dokument, dass es größere Besorgnis darüber gibt, dass an Fremdwährungen gebundene Stablecoins möglicherweise Fiat-Währungen, Privatkundeneinlagen oder sichere Vermögenswerte ersetzen könnten. Unter ihnen gibt es die Befürchtung, dass die Situation der Banken sich verschlimmern könnte.

FSB: Lokale Behörden ermächtigen


Die Empfehlung des FSB lautet, lokale Behörden zu ermächtigen, die Verwendung von globalen Stablecoins zu regulieren, zu kontrollieren und zu verbieten, einschließlich der Befugnis, „vollständig dezentralisierte Systeme“ zu verbieten.

Das FSB definiert einen globalen Stablecoin als eine Münze, die „die potenzielle Reichweite und Annahme über mehrere Gerichtsbarkeiten hinweg sowie das Potenzial hat, ein beträchtliches Volumen zu erreichen“.
Beispiele für diese Stablecoins sind
Tether (USDT) und TrueUSD (TUSD) – beide durch den US-Dollar gedeckt.

10 Empfehlungen für Stablecoins


FSB empfiehlt, dass bei der Regulierung globaler Stablecoins folgende Regularien erfüllt sein müssen:
  1. umfassend reguliert und beaufsichtigt werden sollte
  2. funktionell und proportional zu ihren Risiken reguliert werden sollte
  3. durch eine grenz- und sektorübergreifende Rechtsprechung reguliert und beaufsichtigt werden sollte, die jede Aufsicht unterstützt
  4. sie sollten über einen Verwaltungs-Rahmen verfügen, der umfassend ist und Rechenschaftspflicht vorsieht
  5. über einen wirksamen Rahmen für das Risikomanagement verfügt
  6. über robuste Systeme zur Sicherung, Verwaltung und Speicherung von Daten verfügt
  7. über geeignete Wiederherstellungs- und Abwicklungspläne verfügt
  8. transparente Informationen über Funktionen einschließlich aller Stabilisierungsmechanismen bereitstellen
  9. rechtliche Klarheit über die Durchsetzbarkeit von Rücknahmerechten schafft
  10. alle regulatorischen, aufsichtsrechtlichen und aufsichtsrechtlichen Anforderungen jeder Rechtsordnung erfüllen, bevor sie tätig werden

Wie könnte es sich möglicherweise auf den Kryptomarkt auswirken?


Das bedeutet, dass Krypto-Währungsfirmen potenziell unter den gleichen Regulierungsrahmen fallen könnten, der für Banken und andere Finanzdienstleister gilt.


Bis jetzt wird erwartet, dass die Zentralbanken beginnen werden, die Zusammenarbeit mit anderen Zentralbanken zu intensivieren, um die Aufsicht über Emittenten und Händler stabiler Münzen zu stärken.


Richy Qiao, Chief Business Officer von Ampleforth, fügte hinzu, dass dieser Schritt erwartet werde:

„Große Stablecoins, die zentralisiert oder an das Finanzsystem gebunden sind, funktionieren nur solange, bis sie von Bedeutung sind. Die Empfehlungen des FSB sind unvermeidlich und könnten dazu führen, dass in Zukunft das gesamte Krypto-Ökosystem unter die Kontrolle derjenigen gerät, die diese Art von regulierten „fiat-gesicherten Vermögenswerten“ kontrollieren.

Wenn die Empfehlungen des FSB angenommen werden, könnte dies auch zu einer Verringerung der Liquidität für Kryptowährungen führen. Auch das Versprechen eines erlaubnis- und reibungsfreien Systems, das zu seinen einzigartigsten Merkmalen zu gehören scheint, ist in Gefahr.


Blockchain Projekte, die in hohem Maße von Stablecoins abhängig sind, wie die
MakerDAO und Compound, sowie andere dezentralisierte Finanzprojekte (DeFi) könnten enorm leiden.


Die Annahme der Empfehlungen des FSB könnte die Kryptowährungsindustrie in eine prekäre Lage bringen.

Ankündigung von Nodle’s Arcadia Blockchain TestNet: Wir bringen Ihnen eine sicherere und schnellere Blockchain

Original by Nodle Team: https://medium.com/@nodle/announcing-nodles-arcadia-blockchain-testnet-bringing-you-a-more-secure-and-faster-blockchain-faf67801b687 (31.03.2020)
Nodle freut sich, die Veröffentlichung seiner eigenen Blockchain Arcadia bekannt zu geben, die das Polkadot-Netzwerk und das Paritätssubstrat nutzt.
Nachdem wir unser Netzwerk vor einem Jahr auf der Stellar Blockchain zur Unterstützung von Nodle Cash-Mikrotransaktionen gestartet haben, haben wir bis heute etwa 1,3 Millionen Transaktionen pro Tag verarbeitet (mehr dazu hier: https://medium.com/@nodle/transactions). Im Vergleich dazu realisiert Bitcoin etwa 300.000 Transaktionen pro Tag.
Während Stellar das Nodle-Netzwerk sehr gut handhaben konnte, wäre es nicht in der Lage, alle in Nodle’s Whitepaper beschriebenen Funktionen zu unterstützen. Deshalb haben wir Arcadia aufgebaut, das jetzt live und bereit für öffentliche Tests ist.
Eliott Teissonniere, Nodle’s Blockchain Architect, der die Bemühungen um den Aufbau der Nodle Arcadia Blockchain leitet, erklärt, warum Nodle eine eigene Blockchain benötigte.
„Der Start von Arcadia ist ein Sprung nach vorn für das IoT- und Blockchain-Ökosysteme. Es stellt die erste öffentliche Version einer zentralen Komponente des Nodle-Netzwerks dar, die für die sichere und private Pflege der IoT-Daten verantwortlich sein wird, die über das Netzwerk übertragen werden. Arcadia wird bisher ungeahnte Anwendungsfälle unterstützen und als Testbett für neue Funktionen dienen, die dann nach gründlichen Tests im Hauptnetzwerk von Nodle eingesetzt werden sollen.“- Eliott Teissonniere
Arcadia baut auf dem „Parity Substrate Framework“ auf, das einen modularen und zukunftssicheren Aufbau ermöglicht, bei dem wir das Netzwerk leicht pflegen und mit der Gemeinschaft zusammenarbeiten können, um neue Module zu entwickeln und gemeinsam zu nutzen. Es ist auch ein sich selbst verändernde Ledger, was bedeutet, dass das Netzwerk sich selbst aktualisieren, neue Funktionen hinzufügen oder Fehlerbehebungen in wenigen Minuten implementieren kann, ohne dass ein Fork erforderlich ist. Darüber hinaus werden in Arcadia neue Funktionen hinzugefügt, die die Identität und Sicherheit von IoT-Geräten unterstützen, sowie unser Modell des Konnektivitätsnachweises, das von seiner ursprünglichen Stellar-Implementierung auf eine stärker dezentralisierte Architektur portiert wird.
Wenn wir die Arcadia-Blockchain als produktionsbereit betrachten, werden wir ein zweites Netzwerk als primäres Netzwerk einsetzen, das die täglichen Transaktionen im Nodle-Netzwerk unterstützt. Unser Plan ist jedoch nicht, Arcadia und seinen kommenden produktionsbereiten Zwilling zu einer eigenständigen Blockkette zu machen. Durch eine künftige Aufrüstung wird Arcadia mit anderen Blockketten interoperabel werden; Stellar’s Testnet ist die erste.
Arcadia wird die Anstrengungen des umliegenden Ökosystems nutzen, um das Nodle Netzwerk zu einem größeren Erfolg zu machen. Darüber hinaus prüfen wir die Möglichkeit, dass Arcadia ein „Fallschirmspringer/Tanz auf zwei Hochzeiten“ (Parachain) sowohl auf Kusama (Polkadot’s Canary Network) als auch auf dem Polkadot-Netzwerk für die produktionsreife Variante wird.
„Wir freuen uns sehr darüber, dass Nodle sich dafür entschieden hat, Arcadia auf dem „Parity’s Substrate Framework aufzubauen“. Eric Wang, Ecosystem Development Lead bei Parity, sagt uns: „Nodle war als Mitglied unseres selektiven „Substrate Builders Program“ sehr aktiv in unserer Gemeinde und hat technische Beiträge zu unserem Ökosystem geleistet. Das Arcadia Testnet ist mit seinen neuen Funktionen ein wichtiger Schritt in Richtung von Nodle’s Vision einer vernetzteren Welt, die durch IoT und Blockchain ermöglicht wird“, erklärt Eric Wang, Leiter der Ökosystementwicklung bei Parity Technologies.
Zusammenfassend lässt sich sagen, dass das Arcadia Testnet die erste Iteration einer Initiative ist, die die Einführung einer neuen, produktionsbereiten Blockkette anführen wird. Es wird ein schnelleres, sichereres und flexibleres System für das Bürgernetzwerk (Nodle’s IoT-Netzwerk von Nodle Cash Inhabern) sowie für Nodle’s Kunden weltweit ermöglichen.
Wenn Sie einen Knoten betreiben und dem Netzwerk beitreten möchten, sehen Sie sich bitte eine Nodle-Chain betreiben an.

PeakLock und andere Verbesserungen

Original by @peakd :https://hive.blog/hive-163399/@peakd/peaklock-and-others-improvements

Eine neue Version von peakd.com ist jetzt verfügbar. Diese Version enthält einige Verbesserungen für PeakLock, um die Benutzung zu erleichtern, sowie einige andere Änderungen und Aktualisierungen auf der gesamten Website.

Die neue Version ist jetzt live unter https://peakd.com verfügbar.

Neue PeakLock-Version

Mit diesem Update sollte PeakLock einfacher zu benutzen sein und das Konto wird für einen längeren Zeitraum freigeschaltet bleiben. Auch der ‚aktive‘ Schlüssel wird nicht mehr im „locker“ gespeichert, sondern kann bei Bedarf zum Signieren von Transaktionen verwendet werden.

HINWEIS: Leider ist diese neue Version nicht mit der vorherigen Version kompatibel. Um sie zu benutzen, müssen Sie Ihre Konten einrichten und sich erneut anmelden.

Bessere Benachrichtigungen

Beginnend mit dieser Version werden wir die kleinen Benachrichtigungen, die am unteren Bildschirmrand angezeigt werden, ständig verbessern.

Ein erstes Ergebnis des neuen und verbesserten Systems ist dieses kleine Popup, das Sie sehen werden, wenn es Belohnungen zu beanspruchen gibt. Der Schwellenwert für die Auslösung des Popup-Fensters ist konfigurierbar, so dass Sie es Ihren Wünschen entsprechend anpassen (oder ganz deaktivieren) können.

Ein Witness kann jetzt ein Inhaberkonto festlegen

Dies wird es dem Witness erleichtern, einen „Eigentümer“ anzugeben. Wie Sie sehen werden, haben wir diese neue Funktion verwendet, um den @steempeak Witness mit dem @peakd Projekt zu „verlinken“.

Neue API-Node und bessere Knotendetails

Der neue API-Knoten api.pharesim.me ist jetzt dank @pharesim verfügbar und Sie können ihn in Ihren Einstellungen auswählen. Mehr über den neuen Knoten und das Hardware-Setup können Sie hier lesen.

Mit dieser Version haben wir auch einige zusätzliche Details zur Konfiguration der API-Knoten hinzugefügt. Sie können diese Details überprüfen, wenn Sie einen Knoten auswählen.

Neue Node Benchmark-Seite

Diese neue Seite befindet sich noch in der Beta-Phase, wird aber den Benutzern helfen, den für sie beste API-Node auszuwählen. Sie können es hier ausprobieren: https://peakd.com/me/tools/benchmark.

Diese Seite ist nicht als vollständiger Benchmark der verfügbaren Nodes gedacht und sollte nur dazu verwendet werden, die beste Node für jeden Benutzer zu finden. Denken Sie daran, dass sich die Geschwindigkeit jeder Node je nach geographischer Lage, Netzwerk und Node ändern kann.

Kurze Community-Links

Dies ist eine kleine Aktualisierung, aber es ist jetzt möglich, einen kürzeren Link für Communitys zu verwenden: https://peakd.com/c/163399

Der obige Link leitet automatisch auf die entsprechende Communityseite weiter.

Mehr Einbettungen und bessere Vorschauen

Mit dieser Version haben wir die Option zum Einbetten von „vimm.tv“-Videos hinzugefügt. Außerdem gibt es einige Korrekturen für DTube und wir haben die Vorschau von YouTube-Videos verbessert, wenn ein Beitrag auf anderen Websites freigegeben wird.

Einige kleinere Fehlerbehebungen und kleinere Verbesserungen

Wie immer einige kleinere Korrekturen und Verbesserungen auf der gesamten Website 😉

Distributed Ledger Technology zur Bindung des IoT

Original by Joe McKendrick: https://www.rtinsights.com/distributed-ledger-technology-to-bind-the-iot/

Die Anwendungen werden eine sichere Datenübertragung für Sensoren in der gesamten Lieferkette ermöglichen, um die Herkunft und Authentizität von Waren festzustellen.

Sie nennen es „das Gewirr (Tangle)“. Dabei handelt es sich um einen virtuellen Mechanismus, der alle Geräte, Sensoren und Systeme zu einem verteilten, aber rechenschaftspflichtigen Netzwerk verknüpft, das ihre Verfolgung und ihren Informationsaustausch auf sichere Weise ermöglicht. Es handelt sich um eine verteilte Ledger-Technologie (DLT) für das Internet der Dinge, ohne den Overhead und die Komplikationen von Blockketten.

Das ist die Vision der Eclipse Foundation und der IOTA Foundation, die kürzlich gemeinsam die Tangle EE Working Group ins Leben gerufen haben, die sich aus Mitgliedern von Unternehmen zusammensetzt, die sich der Entwicklung kommerzieller Open-Source-IoT-Zahlungen und sicherer Datenübertragungstechnologien für die Maschinenwirtschaft verschrieben haben.

Das IOTA-Protokoll ist eine distributed Ledger-Technologie, die von der IOTA-Stiftung entwickelt wurde. Der Begriff „IOTA“ selbst ist eigentlich kein Akronym, sondern eher ein Wortspiel, das sowohl das Internet der Dinge als auch das „Jota“, also eine extrem kleine Menge, umfasst.

Der Tangle „ist die IoT-Version von blockchain“, so Christoph Strnadl, VP Innovation & Architektur der Software AG und IOTA-Befürworter. „Das Hauptunterscheidungsmerkmal besteht darin, dass es für die Machine-to-Machine-Ökonomie optimiert ist, wie das Sammeln von Milliarden von Endpunkten, Millionen von Geräten, im Gegensatz zu Bitcoin, das nicht skaliert, wenn wir ein paar tausend Knoten haben. Wichtiger als ein Wertgutschein ist die Identität der Geräte und die Fähigkeit, Nachrichten zu senden und auszuführen. Denn das ist es, was die Geräte mit der IoT-Plattform und mit den Anbietern und Lieferketten-Netzwerken verbindet“.

Noch im Anfangsstadium arbeiten Hersteller wie Jaguar mit dem Tangle zusammen, um Funktionen wie „Wallet“ zu unterstützen, mit denen Maut- und Parkgebühren automatisch bezahlt werden können, sagt Strnadl. Die Anwendungsbeispiele reichen von Maschinenidentitäten bis hin zu intelligenten Brieftaschen für Automobile und ermöglichen eine sichere Datenübertragung für Sensoren in der gesamten Lieferkette, um die Herkunft und Authentizität von Waren festzustellen.

Eine wichtige Funktion, die innerhalb des Tangle unterstützt wird, sind intelligente Verträge (Smart Contracts), fügt Strnadl hinzu. Der Dienst soll über „ein Kontinuum von Geräten, ein Kontinuum von Edge-Computing-Einrichtungen“ laufen, erklärt er. „Dann kann alles teilnehmen – selbst wenn es nur ein sehr kleiner Sensor ist“. IOTA unterstützt mehrere Berechnungsebenen, fügt er hinzu. „Sie können die Sensoren an einen Knoten anschließen, und Sie können Informationen auslagern, Sie können die Ausführung von intelligenten Verträgen auslagern. Ihr Gerät kann ein anderes, größeres Gerät um Hilfe bei der Berechnung dieser intelligenten Verträge bitten. Es gibt keinen Betrug, weil sie digitale Identitäten haben, und es gehen keine Nachrichten in der Werkstatt oder in den Protokolldateien verloren. Dies alles geschieht, weil alles im Tangle gespeichert ist – die gesamte Lieferkette“.

Die Tangle EE-Arbeitsgruppe versucht, die Entwicklung von Bausteinen und Schnittstellen zum Tangle zu fördern. Zu den Gründungsmitgliedern gehören Dell Computers, STMicroelectronics, Object Management Group, accessec, BiiLabs, Calypso Network Association, Geometric Energy Corporation, RWTH Aachen, Software AG, Industrial Internet Consortium, AKITA und Xain.

 

Spenden:

OOXKDDPERSTNHSCQGYDYEWGDRLQEUZCIBDLYCDKSKIHGWAG9WFPVDVSRAUN9GDUOJ9INP9LMSMHYKNLNCOKMGFBZFA

Das Coronavirus und die Entstehung einer globalen Bürgersolidarität

Original by: Micha Benoliel: https://medium.com/@anthenor/the-corona-virus-and-the-emergence-of-a-global-citizens-solidarity-54289541be9a

Wie Technologien die Weltbürger befähigen, zum Wohle der Menschheit zu handeln

Wie wir beobachtet haben, haben Regierungen und ihre Gesundheitssysteme viele verschiedene Ansätze zur Bekämpfung der COVID-19-Pandemie gewählt. Während einige Länder früh reagierten und Maßnahmen in die Wege leiteten, leugneten andere die Schwere dieses Virus und reagierten zu spät, um die Ausbreitung einzudämmen und die Kurve abzuflachen. Diese unterschiedlichen Reaktionszeiten wirkten sich eindeutig auf diejenigen Länder aus, die mit den aggressiven Maßnahmen hinterherhinkten, während diejenigen, die früh reagierten, die Auswirkungen auf ihre Wirtschaft und ihre Gesundheitsdienste verringern konnten.

Während die Gesundheitssysteme auf der ganzen Welt aufgrund von Versorgungsengpässen bei Persönlicher Schutzausrüstung (PPE), unzureichenden Tests, Bürokratie und mangelnder Kapazitäten zur Behandlung aller Menschen in akuter Not zu kämpfen haben, müssen viele Bürger abwarten und hören, welche Vorsichtsmaßnahmen und offiziellen Anweisungen sie von ihren lokalen Regierungen erhalten. Strenge Reiseprotokolle, soziale Distanzierung, Selbstisolierung, Quarantäne und Schutzmaßnahmen haben, obwohl sie notwendig sind, ihre eigenen Auswirkungen auf die Märkte, den wirtschaftlichen Lebensunterhalt und in der Folge auf die Gesellschaft als Ganzes gehabt.

Da ein Impfstoff mindestens ein Jahr außer Reichweite ist, haben führende Experten in der ganzen Welt dazu aufgerufen, sich solidarisch zusammenzuschließen, um globale Lösungen zur Eindämmung der Verluste an Menschenleben, der wirtschaftlichen Verwüstung und des Verlusts verschiedener individueller Freiheiten aufgrund der Auswirkungen des Virus zu verabschieden.

Ausgehend von den soliden und nahezu beispielhaften Vorbereitungen von Ländern wie Singapur, Hongkong, Taiwan und Südkorea, um nur einige zu nennen, wird ein weltweites System zur Ermittlung von Erstkontakten zum Schutz der Privatsphäre benötigt; ein System, das von den Menschen und für die Menschen verwaltet wird.

Wir brauchen ein globales Frühwarnsystem, das uns vor den schlimmsten Alpträumen der Menschheit schützt. – Dr. Larry Brilliant, führender amerikanischer Epidiemologe, der zur erfolgreichen Ausrottung der Pocken beigetragen hat

Was bisher nur wenige Regierungen vollständig zu begreifen scheinen, ist, dass jede Lösung oder jedes System, das uns vor den Verwüstungen von COVID-19 retten kann, eine global koordinierte Lösung sein muss. Die Wechselseitige Abhängigkeit zwischen unseren Regierungen und Volkswirtschaften ist äußerst kritisch.

Diese Krise wirkt sich nicht nur auf die Wirtschaft und die Gesundheit weltweit aus, sondern macht auch viele andere gesellschaftliche und ökologische Fragen deutlich, die die Menschheit und alle Dinge in den Ökosystemen unseres Planeten zutiefst beeinflussen. Dies sollte uns zwingen, den Weg zur globalen Einheit zu finden und mit Taten auf den Weckruf zu reagieren, der uns als Kollektiv gegeben wurde.

Yuval Noah Harari brachte dieselbe Notwendigkeit und wichtige Entscheidung in einem kürzlich in der Financial Times vom 19. März 2020 veröffentlichten Artikel zum Ausdruck.

„Die Menschheit muss eine Entscheidung treffen. Werden wir den Weg der Uneinigkeit beschreiten oder den Weg der globalen Solidarität einschlagen? Wenn wir uns für die Uneinigkeit entscheiden, wird dies nicht nur die Krise verlängern, sondern in Zukunft wahrscheinlich noch schlimmere Katastrophen nach sich ziehen. Wenn wir uns für globale Solidarität entscheiden, wird dies nicht nur ein Sieg gegen das Coronavirus sein, sondern gegen alle künftigen Epidemien und Krisen, die die Menschheit im 21.“

Die Welt muss zusammenarbeiten

Mit den heutigen technologischen Fortschritten und der Allgegenwart von Smartphones auf dem Planeten ist es möglich, diesen Virus global und effizient zu bekämpfen. Die Crowdsourcing-Konnektivität zeigte viele störende und positive Ergebnisse bei früheren Anwendungen wie Nodle, Firechat und Piperchain, die mein Team und ich aus jahrzehntelanger Forschung und Entwicklung im Bereich dezentralisierter drahtloser Netzwerke und sicherer Identitätsmanagementsysteme entwickelt haben.

Inzwischen weisen alle Statistiken darauf hin, dass die Ermittlung von Kontaktpersonen für die Eindämmung des sich exponentiell ausbreitenden Virus von entscheidender Bedeutung ist. Eine automatisierte und umfassende Plattform zur Rückverfolgung, mit wem Coronavirus-infizierte Personen in engem Kontakt gestanden haben, kann den Zyklus von der ersten Entdeckung über die Behandlung, die Isolierungsanforderungen und die anschließende Zertifizierung der Genesung rasch verkürzen. Darüber hinaus kann sie die Wirksamkeit der Eindämmung drastisch verbessern und in vielen Fällen eine Quarantäne überflüssig machen.

Die bisherige Rückverfolgung bedeutete eine Beeinträchtigung der Privatsphäre; die Benutzer verraten ihre Identität, ihren Aufenthaltsort und sogar „unter der Haut“ biometrische Daten. Dies ist der Status quo aller Optionen, die für die Ermittlung von Kontaktpersonen zur Verfügung stehen.

Die liberale Demokratie braucht eine „privacy-first“-Version der Ermittlung von Kontaktpersonen. Zwischen Überwachung und COVID-19 müssen wir NICHT nur der Wahl des einen oder des anderen unterworfen sein.

Mein Vorschlag: Eine einfache mobile Anwendung, die Bluetooth und Nähe nutzt, könnte eine effiziente Lösung zur Kontaktverfolgung ermöglichen. Jedes Mal, wenn ein Benutzer/Patient meldet, dass er infiziert ist, alarmiert die App automatisch und anonym alle Personen, mit denen er in den letzten 14 Tagen Kontakt hatte. Das Alarmierungssystem funktioniert fast augenblicklich und stellt sicher, dass andere Benutzer in kürzester Zeit die notwendigen Massnahmen ergreifen können. Auch dies ist von höchster Wichtigkeit, und mit der heutigen Kryptographie ist es möglich, dies unter Wahrung der Privatsphäre der Menschen zu tun:

  • Die Standortdaten der Benutzer werden niemals an die Cloud gesendet;
  • Bluetooth-Näherungsdaten werden verschlüsselt und bleiben auf Ihrem Gerät;
  • Die Benutzer sind alleinige Eigentümer der Daten – Frühere Kontakte werden anonym und sicher benachrichtigt, wenn sie von COVID19 krank werden, und;
  • Alle Daten werden anonymisiert und verschlüsselt

Wir lancieren diese mobile Anwendung als Non-Profit-Anwendung: Wir nannten sie Coalition – #StopTheSpread
Die Koalitionsapplikation nutzt die von vielen Menschen genutzte Konnektivität und benötigt daher den Beitrag aller. Wir können diesen Krieg gegen das Coronavirus nur gewinnen, wenn sich die Coalition App schneller verbreitet als das Virus selbst.

Der Zustand von Qubic und die Zukunft der Smart Contracts auf IOTA

Original by Eric Hopp: https://blog.iota.org/the-state-of-qubic-63ffb097da3f

TL;DR:

Die IOTA-Stiftung hat beschlossen, unseren Schwerpunkt auf einen neuen Ansatz für Smart Contracts zu verlagern, der sich aus unserer früheren Arbeit ableitet. IOTA Smart Contracts ist eine „Layer-2-Lösung“, die auf der Entwicklung von Coordicide in GoShimmer aufbaut. Eine kurze Einführung finden Sie hier. Die Weiterentwicklung von Qubic erfordert erhebliche Ressourcen und Zeit, und unser neuer Ansatz wird eine breitere und schnellere Anwendung ermöglichen. Wir haben einen funktionierenden Proof of Concept der Programmiersprache Qupla, der auf FPGA-Hardware ausgeführt werden kann, als Open Source zur Verfügung gestellt. Wir laden die Open-Source-Gemeinschaft ein, ihn zu erforschen.

Der Zustand von Qubic

Es ist schon eine Weile her, dass wir uns umfassend mit dem aktuellen Stand des Qubic-Projekts befasst haben. Dieser Artikel wird hier Abhilfe schaffen, indem er eingehend darauf eingeht, wo wir das Projekt derzeit sehen, wie weit wir gekommen sind, welche Lektionen wir gelernt haben und wie die IOTA-Stiftung die Entwicklung von Smart Contracts weiter vorantreiben wird.

Bitte beachte: Wir gehen davon aus, dass der Leser über ein grundlegendes Verständnis des Qubic-Systems sowie der Artikelserie über das Qubic-Berechnungsmodell verfügt. Einige der in diesen Ressourcen verwendeten Begriffe haben sich möglicherweise im Laufe der Zeit aus Gründen der Klarheit etwas geändert.

Qubic: ein layered-System

Wenn man sich Qubic genauer ansieht, dann besteht es eigentlich aus zwei sehr lose gekoppelten Schichten, die sich gegenseitig nicht so sehr zu brauchen scheinen. Diese beiden Schichten sind:

  • Die „Nachrichtenschicht“ Smart Contract (SC), die als Level-2-Protokoll über dem IOTA Tangle läuft. Diese Schicht regelt die Ausführung von SCs durch ein Komitee von Verarbeitungsknoten (Nodes). Die Nodes erzeugen einen beschlussfähigen Konsens über die Verarbeitungsergebnisse und bieten einen Prüfpfad für das Tangle. Diese Schicht kümmert sich nicht darum, wie die Verarbeitung erfolgt, sondern nur darum, dass die Ergebnisse durch den Prüfpfad, den SC-Code, die Eingabedaten und die Ausgabedaten nachweislich korrekt und überprüfbar sind.
  • Die Ebene der virtuellen Maschine (VM) von Abra. Diese Schicht regelt die tatsächliche Ausführung des SC-Codes. Sie hat einen besonderen Schwerpunkt auf der Fähigkeit, auf IoT-Geräten mit geringem Ressourcenbedarf ausgeführt werden zu können. Die Schicht nimmt Eingabedaten entgegen, führt den (möglicherweise hardwarebeschleunigten) Code aus und gibt Ergebnisse aus. Dieser Schicht ist es gleichgültig, woher die Eingabedaten kommen und wohin die Ergebnisse gesendet werden.

Diese beiden separaten Schichten werden durch das Qubic Computation Model (QCM), ein Ereignisverarbeitungssystem, zusammengeklebt. Das QCM regelt die Weiterleitung der Eingabedaten von der SC-Schicht an die VM-Schicht und die Rückgabe der Ergebnisse von der VM-Schicht an die SC-Schicht. Das QCM ist ein sehr generisches Modell. Es nimmt nichts über die Ereignisverarbeitung an, woher die Ereignisdaten kommen oder wohin die Verarbeitungsergebnisse gehen. Es handelt sich lediglich um einen einfachen Dispatching-Mechanismus, der eine vollständige Entkopplung zwischen den Schichten, die miteinander reden müssen, sicherstellt.

Verbinden der Schichten

Wo also findet die Kopplung dieser beiden Systeme statt, wenn sie fast vollständig entkoppelt sind? Zunächst besteht die Notwendigkeit, Berechnungsergebnisse unabhängig voneinander verifizieren zu können. Das bedeutet, dass Sie neben einem Audit-Trail für die Eingabedaten und Ergebnisse von SC-Aufrufen auch den entsprechenden SC-Code benötigen, der aufgerufen wurde, um Teil dieses Audit-Trails zu sein. Auf diese Weise weißt du genau, welchen Code du mit den Eingabedaten ausführen musst, wenn du das Ergebnis verifizieren willst.

Beachte, dass dies immer noch nicht die Verwendung des Qubic-spezifischen Qupla-Codes und des entsprechenden Abra VM zur Ausführung des SC erfordern würde. Du könntest im Wesentlichen jede VM und jede Programmiersprache verwenden, solange der SC-Code mit diesen kompatibel ist. Unsere erste Proof-of-Concept-Implementierung des QCM vermischt in der Game of Life-Demo tatsächlich Qubic-spezifischen Abra-Code mit Standard-Java-UI-Code. Es gibt jedoch einen ganz bestimmten Grund, bei der Auswahl einer VM zur Ausführung Ihres SC-Codes vorsichtig zu sein. Da Knoten diesen Code immer dann ausführen, wenn Daten für die SC automatisch und unbeaufsichtigt ankommen, möchten Sie verhindern, dass laufende SC-Programme in der VM-Schicht ausgeführt werden (unbegrenzte Schleifen/Rekursionen). Du benötigst einen Mechanismus, um das SC-Programm in Schach zu halten, so dass es nur für eine vernünftige, vorhersehbare Zeitspanne läuft.

In Ethereum wird dieses Runaway-Problem durch die Einführung von Gasgebühren (Gas) gelöst. Die Höhe der vorgesehenen Gebühren entspricht einem bestimmten Höchstbetrag für die SC-Verarbeitung. Sobald dieses Maximum überschritten wird, wird die SC-Ausführung abgebrochen, wodurch verhindert wird, dass der unkontrollierte SC-Code unbegrenzt weiterläuft. Der Nachteil dieser Methode besteht darin, dass es schwierig sein kann, die Höhe der Gasgebühren, die Sie für Ihre SC benötigen werden, im Voraus vorherzusagen, wenn die SC irgendeine Art von nicht-trivialer Verarbeitung durchführt. Und wenn Sie zu wenig Gasgebühren bereitstellen, könnte dies dazu führen, dass Ihre SC-Ausführung abgebrochen wird, bevor sie abgeschlossen ist. In diesem Fall haben Sie die Gasgebühren verloren, ohne dass die Vollstreckung zu einem Vollstreckungsergebnis geführt hätte.

In Qubic lösen wir dieses Problem deterministisch, indem wir ein funktionales Datenflussprogrammierungsmodell in der Abra VM haben, das keine unbegrenzten Schleifen/Rekursion zulässt und daher an und für sich nicht Turing-fähig ist. Jede Funktion definiert klar, wie viel Verarbeitung sie leisten wird. Es gibt keine direkte Verzweigung oder Schleifenbildung in der Abra VM, was bedeutet, dass jede Funktion immer genau die gleiche Anzahl von Anweisungen ausführt. Selbst wenn eine Funktion rekursiv aufgerufen wird, ist sie auf eine bestimmte maximale Anzahl von Aufrufen beschränkt. Unbegrenzte Schleifen können auf einer höheren Ebene, durch das QCM, aktiviert werden, aber die Einheit der Ausführung ist absolut klar und garantiert auf Funktionsebene begrenzt. Wenn du erwartest, dass dir die Aufrufe für eine Funktion ‚ausgehen‘, kannst du deinen Code so gestalten, dass der Fortsetzungszustand des SC Teil der resultierenden Ausgabe ist. Und das wiederum ermöglicht es dir, die Ausführung von diesem Punkt aus in einer nächsten Runde begrenzter Aufrufe fortzusetzen. Wir sagen daher, dass die Ausführung durch den QCM Quasi-Turing-Abschluss ist.

Beachte, dass, obwohl die Möglichkeit der Bereitstellung von Belohnungen als potenzieller Anreiz für die Verarbeitung besteht, es in Qubic nicht erforderlich ist, das Äquivalent der Ethereum-Gebühren für die Verarbeitung bereitzustellen. Es könnte andere Anreize geben, die genauso gut oder sogar besser funktionieren. Zum Beispiel, wenn eine Baugruppe speziell dafür ausgelegt ist, bestimmte Sensordaten zu aggregieren. Ein Prüfpfad oder sogar redundante Berechnungen könnten in einem solchen Fall Anreiz genug sein.

Virtuelle Maschine Abra

Das Abra VM-Programmiermodell ist insofern sehr ehrgeizig, als dass es uns nicht nur ein Programmiermodell zur Verfügung stellt, das Quasi-Turing-fähig gemacht werden kann, sondern es entfernt sich auch von Standard-Opcode-basierten sequentiellen Befehlen, die von einer komplexen CPU verarbeitet werden. Stattdessen bietet es uns eine maximale Parallelisierung von Operationen durch ein Datenflussmodell, das letztlich nur zwei Arten von Operationen hat, mit denen jede Funktion implementiert werden kann: Lookup-Tabellen (LUTs) und Fusionen. Diese Operationen wurden speziell wegen ihrer Fähigkeit ausgewählt, einfach direkt in der Schaltung instanziiert zu werden. Die maximale Parallelisierung von Operationen wird nur bei der Instantiierung in Schaltkreisen erreicht. Die einzigen sequentiellen Datenflusspfade werden durch Operationen gebildet, die direkt von den Ergebnissen früherer Operationen abhängen. Alles andere kann parallel ausgeführt werden. Sie erhalten also maximal parallele sequentielle Datenflusspfade.

Die Einfachheit des Abra VM-Programmiermodells bedeutet auch, dass es sehr einfach ist, einen Software-Emulator (Interpreter) zu erstellen, der diese VM auf einem Standardprozessor ausführen kann. In diesem Fall gehen viele Möglichkeiten der Parallelverarbeitung verloren, aber es werden trotzdem korrekte Verarbeitungsergebnisse geliefert. Für einfache SCs, die nur spärlich aufgerufen werden, könnten Sie also auf eine software-emulierte Abra-VM zurückgreifen. Wenn Sie jedoch Hardware-Beschleunigung benötigen, müssen Sie die VM tatsächlich in einer Schaltung implementieren. An dieser Stelle stellen wir uns drei Ebenen der Hardware-Implementierung vor.

  1. Verwenden Sie vorhandene FPGAs, um die Abra-VM zu implementieren. Dies hat den Vorteil, dass Sie den VM-Schaltkreis nur einmal für jeden unterschiedlichen FPGA-Typ erstellen müssen und Sie anschließend beliebigen Abra-VM-Code auf einem solchen Gerät ausführen können. Allein diese Fähigkeit ist bahnbrechend. Derzeit benötigen Sie einen sehr leistungsfähigen PC, der lange Zeit läuft, um die Schaltung für ein Programm zu entwerfen, das auf einem bestimmten FPGA-Typ läuft. Und das ist etwas, das Sie jedes Mal tun müssen, wenn Sie etwas an Ihrem Programm ändern oder wenn Sie einen anderen FPGA-Typ anvisieren. Stattdessen layouten Sie jetzt die Schaltung für unsere Open Source Abra VM nur einmal für jeden FPGA-Typ. Danach können Sie das Programm, das Sie auf der VM ausführen möchten, einfach ändern, neu kompilieren, laden und auf jedem FPGA ausführen, der die Abra-VM ohne weitere Änderungen implementiert hat.
  2. Verwenden Sie ein ASIC, um die Abra-VM direkt zu implementieren. Das bedeutet, dass wir ein Open-Source-ASIC-Design für eine Abra-VM erstellen werden. Der Vorteil besteht darin, dass wir die Erstellung eines programmierbaren Bausteins vermeiden, der auf einem anderen (proprietären) programmierbaren Baustein (FPGA) läuft. Statt die Bausteine des FPGA zu programmieren, können wir direkt eine ASIC-Schaltung erstellen, die die Abra-VM implementiert. Das bedeutet nicht nur eine Geschwindigkeitssteigerung, sondern auch eine enorme Verringerung der erforderlichen Schaltungsmenge. Ein solcher Abra VM ASIC könnte leicht als Koprozessor für aktuelle Hardware oder als Hauptprozessor für bestimmte IoT-Anwendungen eingesetzt werden.
  3. Wenn Sie einen spezifischen Code für den Abra VM programmiert haben und überprüft haben, dass er korrekt funktioniert, könnten Sie auch einen ASIC erstellen, der die Operationen für diesen spezifischen Code als dedizierte Schaltung implementiert. Sie würden den allgemeinen Aspekt der Programmierbarkeit der VM-Implementierung verlieren, aber es gibt viele Anwendungsfälle, in denen Sie die einmal eingesetzte Hardware nie mehr ändern werden. Vor allem bei Sensoren und anderen Geräten, die Sie in Bereichen einsetzen, in denen Sie nach dem Einsatz nicht mehr so leicht darauf zugreifen können. Dies ist die IoT-Vision, auf die wir letztendlich hinarbeiten. Die Einfachheit der Operationen, aus denen sich der spezifische Programmcode zusammensetzt, macht die Erstellung eines ASICs relativ einfach. Und der generierte Schaltkreis erlaubt tatsächlich eine Reihe verrückter Optimierungen auf der Ebene der Logikgatter, da er keine programmierbaren Allzweck-Schaltkreise mehr verwendet.

Die wirklichen Verbesserungen des Abra-VM-Programmiermodells, wie der reduzierte Energiebedarf, die Aspekte des Datenflusses und die Möglichkeit des Wave-Pipelining werden diese letzte Implementierungsebene benötigen, um wirklich zu glänzen. Die allgemeineren programmierbaren Ebenen sind mit bestimmten Designeinschränkungen verbunden, die zusätzlichen „Overhead“ verursachen werden.

Ternäre Kodierung

Vielleicht ist Ihnen aufgefallen, dass in all dem oben Gesagten das Wort ternär noch nicht erwähnt wurde. Und natürlich wäre es möglich, diese gesamte Vision binär umzusetzen. Aber ein Teil der Qubic-Vision war schon immer die Fähigkeit, über die Grenzen der aktuellen Ausführungsmodelle hinauszugehen und die Hardware über das Mooresche Gesetz hinaus zu erweitern, das wohl ausgelaufen ist. Zu diesem Zweck haben wir immer die Vision eines ternären Ausführungsmodells gehabt. Auch wenn es noch keine nativen ternären Prozessoren gibt, kann dieses Modell dennoch einige Vorteile bieten. Die bemerkenswertesten unmittelbaren Vorteile sind: Datendichte und Berechnungsgeschwindigkeit.

Unser Programmiermodell arbeitet mit Schaltungen und daher mit der Informationseinheit der untersten Ebene. Bei binären Systemen wäre das nur ein bisschen. Aber das Abra-Datenflussmodell erfordert auch eine Darstellung der „Abwesenheit von Daten“ (Null), die für seinen Entscheidungslogikmechanismus entscheidend ist. Die normale Art und Weise, dies in binären Systemen darzustellen, wäre, ein zusätzliches Bit zu haben, um diesen Zustand anzuzeigen. Das bedeutet, dass jedes Informationsbit durch zwei Bits repräsentiert werden muss, um alle drei möglichen sich gegenseitig ausschließenden Zustände (0, 1 und null) kodieren zu können. Da aber 2 Bits 4 Zustände repräsentieren können, erscheint es nur natürlich, dies in vollem Umfang zu nutzen. Durch die Verwendung der ternären Kodierung benötigen wir immer noch nur 2 Bits, um die 4 sich gegenseitig ausschließenden Zustände (-, 0, 1 und null) darzustellen. Das bedeutet, dass wir Werte im Vergleich zur binären Kodierung, die sonst einen dieser 4 möglichen Zustände verschwenden würde, effizienter kodieren können. Im Vergleich zur ternären Kodierung benötigt die binäre Kodierung etwa 50% mehr 2-Bit-Informationseinheiten, um den gleichen Wertebereich darstellen zu können. Beispielsweise können 16 Bit Werte von -32768 bis +32767 kodieren, während nur 11 Trits bereits Werte von -88573 bis +88573 kodieren können.

Sobald Sie weniger Informationseinheiten zur Darstellung desselben Wertebereichs benötigen, sind auch bestimmte Berechnungen so viel schneller. Nehmen Sie zum Beispiel einen einfachen Ripple-Carry-Addierer. Um zwei Werte zu addieren, addiert er zwei entsprechende Informationseinheiten, was jedoch zu einem Übertrag auf die Addition der nächsten Einheit führen kann. Das heißt, wenn Sie 50% mehr Einheiten benötigen, um einen Wertebereich darzustellen, dauert die Ausführung einer solchen Addition ebenfalls 50% länger. Der Engpaß hierbei ist die Tatsache, daß jede Addition von der vorhergehenden Addition abhängt, da sie den Übertrag berücksichtigen muß. Die nächste Addition kann also erst dann erfolgen, wenn die vorhergehende vollständig ist und der Wert des Übertrags bekannt ist. Bringen Sie dies nun auf eine andere Ebene: die Multiplikation. Wenn Sie die einfache Methode verwenden, jede Einheit mit jeder Einheit zu multiplizieren, erhalten Sie eine zweidimensionale Abhängigkeit, was bedeutet, dass die Verarbeitungszeit bei Verwendung desselben Algorithmus mit binärer Kodierung 150% x 150% oder 225% der Zeit benötigt, die der Algorithmus bei Verwendung einer ternären Kodierung benötigen würde.

Die ternäre Kodierung, die wir für unsere Prototyp-FPGA-Implementierung verwendet haben, nennen wir 2b-Kodierung. Diese kodiert die 4 Zustände (-, 0, 1 und null) jeweils als (10, 11, 01 und 00). Wir nennen diese 2b-Kodierung, weil sie, wie oben diskutiert, 2 Bits pro Informationseinheit verwendet. Wir haben auch eine Alternative entwickelt, die wir 3b-Kodierung nennen, die 3 Bits pro Informationseinheit verwendet und die 4 Zustände jeweils als (100, 010, 001 und 000) kodiert. Die 3b-Kodierung mag vielleicht verschwenderischer erscheinen, aber sie hat eine Reihe interessanter Eigenschaften, die für die dritte Ebene der Hardware-Implementierung (direkter Code zur Schaltung) von größerer Bedeutung sind und in Zukunft noch eingehender untersucht werden sollen. Der Abra-Code ist völlig unabhängig von der verwendeten Kodierung. Die tatsächlich verwendete Kodierung wird letztlich von der spezifischen Implementierung der Abra-VM diktiert.

Sowohl die 2b- als auch die 3b-Kodierung verwenden alle Nullen, um den Nullzustand zu kodieren. Dies sollte dazu beitragen, den Energiebedarf der Hardware zu reduzieren, da der Null-Zustand der Standardzustand für alle Schaltkreise ist und normalerweise die meiste Energie darauf verwendet wird, den Zustand zu ändern. Abra ist so konzipiert, dass Entscheidungspfade so früh wie möglich zur Verwendung des Null-Zustands gezwungen werden, so dass keine Daten durch den größten Teil der Schaltung wandern und nicht verwendete Schaltungen ohne Umschalten im Standard-Null-Zustand bleiben können.

„Echte“ ternäre Hardware

Wie die Kodierung auf tatsächlich nativer ternärer Hardware aussehen wird, ist derzeit schwer vorstellbar, da wir noch kein funktionierendes ternäres System haben, mit dem wir arbeiten könnten. Eine interessante Idee, die aus der Qubic-Forschung hervorging, ist, dass man, da ternäre Prozessoren angeblich mit 3 Zuständen arbeiten, ein binäres Bit und den erforderlichen Nullzustand mit einem einzigen ternären Trit kodieren könnte. Dies würde bedeuten, dass ternäre Hardware unser Datenflussmodell direkt mit binärer Informationskodierung unterstützen kann. Anstatt also 2 Leitungen und alle zugehörigen Schaltkreise pro Leitung zu benötigen, um ein Bit und ein Null-Flag darzustellen, würden Sie nur eine einzige Leitung und die zugehörigen Schaltkreise benötigen, wodurch vielleicht sogar die Schaltungstechnik/Energie halbiert würde, die sonst für die gleiche binär codierte Verarbeitung in binärer Hardware erforderlich wäre. Ternäre Hardware ist derzeit in erster Linie eine Denksportaufgabe, aber es ist definitiv ein aufregendes Unterfangen für die Zukunft.

Hardware-Operationen

Das Abra-Programmiermodell hat ursprünglich 5 verschiedene explizite Operationen. 3 dieser Operationen reduzieren sich auf eine einfache Verdrahtung, sobald man sie auf Schaltungsebene implementiert. Sie sind nur notwendig, um Informationen als Trit-Vektoren zu gruppieren und weiterzugeben. Da aber auf der Schaltungsebene alles auf einzelnen Trits arbeitet, sind diese Trit-Vektoren meist konzeptionell. Daher erzwingen die Verkettungs- und Slicing-Operationen lediglich die korrekte Gruppierung von Informationen. Die Aufrufoperation ist nur vorhanden, um den Code effizient in einen Aufrufbaum zu reduzieren, aber sobald sie in einer Schaltung implementiert ist, erzwingt jede Aufrufoperation die Instantiierung des gesamten aufgerufenen Funktionsbaums in der Schaltung und verknüpft die Eingangs- und Ausgangs-Trit-Vektoren mit ihren Quell- und Zielvektoren.

Damit bleiben nur noch 2 Operationen übrig, die tatsächlich als logische Schaltung implementiert werden. Die erste ist die ternäre Lookup-Operation, die 3 Eingangstrits nimmt und einen einzelnen Trit gemäß der entsprechenden Lookup-Tabelle ausgibt. Die zweite ist die Merge-Operation, die getrennte Datenfluss-Eingänge zu einem einzigen Ausgang kombiniert und entweder als eine sehr spezielle Lookup-Operation oder durch Verwendung einfacher ODER-Gatter implementiert werden kann. Nur eine Eingabe darf ungleich Null sein und wird zur Ausgabe. Die Sprache Qupla, die den Abra-Code generiert, stellt sicher, dass nur ein Pfad ungleich Null sein kann. Alle anderen Werkzeuge, die direkt Abrac-Code erzeugen würden, sind erforderlich, um dies sicherzustellen.

Der FPGA-Konzeptnachweis

Um das Programmiermodell auf FPGA zu erleichtern, haben wir den FPGA so programmiert, dass er eine Bank von so genannten QLUTs (Qubic Look-Up Tables) bereitstellt. Jeder QLUT nimmt drei 2b-kodierte Trits als Eingabe und gibt dann einen weiteren 2b-kodierten Trit über eine konfigurierbare Nachschlagetabelle aus. Fusionen werden innerhalb der QLUTs durch Setzen eines speziellen Konfigurationsbits implementiert, das sie veranlasst, eine vordefinierte Lookup-Operation mit leicht unterschiedlicher Semantik zu verwenden.

Natürlich enthält der FPGA auch die zusätzliche Konfigurationslogik, die notwendig ist, um jede Eingangsoperation mit jeder Ausgangsoperation verbinden zu können. Diese Logik kann durch eine spezielle binäre Konfigurationsdatei konfiguriert werden, die leicht direkt aus dem auszuführenden VM-Code generiert werden kann. Der Code wird derzeit „on the fly“ konvertiert, wenn er an den FPGA gesendet wird. Sie enthält die Konfigurationsdaten für jedes einzelne QLUT und die Konfigurationsdaten für die Verbindungen zwischen den QLUTs.

Die QLUTs wurden bereits getestet, indem die gesamte Qupla-Testsuite im Emulator ausgeführt wurde, während eine bestimmte Funktion hardwarebeschleunigt wurde. Wir erlauben dem Benutzer, eine Funktion als hardwarebeschleunigt zu markieren, und die Qupla-Umgebung lädt automatisch die Konfigurationsdaten für diese Funktion in den FPGA. Wenn der Emulator dann den Emulator ausführt, übergibt er jedes Mal, wenn er auf diese spezifische Funktion trifft, die Eingangsdaten der Funktion an das FPGA und verwendet die resultierenden Ausgangsdaten, anstatt das Ergebnis für diese Funktion vom Emulator berechnen zu lassen. Wir haben mehrere repräsentative Funktionen auf diese Weise getestet und freuen uns, berichten zu können, dass dies perfekt funktioniert.

Als Nächstes benötigen wir eine FPGA-Version des Qubic Supervisors, d.h. der Entität, die Eingangsdatenereignisse an den korrekten VM-Code sendet und die berechneten Ergebnisse weiterleitet. Um zu vermeiden, dass wir ein Miniaturbetriebssystem schreiben müssen, werden wir zunächst eine einfache Embedded-Linux-Version verwenden, die auf einer CPU laufen kann, die auf dem FPGA eingebettet ist. Auf diese Weise können wir bestimmte Funktionen out of the box nutzen, ohne sie selbst entwickeln zu müssen. Wir haben es geschafft, dieses Linux bereits auf dem FPGA zu booten und es zu benutzen, um die Kommunikation zwischen dem Emulator und dem FPGA über ein einfaches Socket-Protokoll abzuwickeln. Der nächste Schritt wird die Implementierung des Supervisors und einiger zusätzlicher Glue-Code sein, um stattdessen die Kommunikation mit der Außenwelt über HTTP zu ermöglichen.

Der nächste Schritt wäre die Implementierung eines HTTP-Listeners auf dem Embedded-Linux des FPGAs, der auf zwei Arten von Anfragen reagieren kann. Der erste Anfragetyp kann verwendet werden, um die Konfigurationsdatei auf den FPGA zu übertragen, und dieser wird dann zur Konfiguration des Programmiermodells, zur Einrichtung einer HTTP-Callback-Adresse und zur Initialisierung des Supervisors verwendet. Der zweite Anforderungstyp ist eine Eingabedatenanforderung, die verwendet werden kann, um die Ausführung einer Funktion mit den vom Supervisor bereitgestellten Eingabedaten auszulösen. Nach der Berechnung des Ergebnisses sendet der Supervisor die resultierenden Ausgabedaten asynchron an die HTTP-Callback-Adresse.

Beachten Sie, dass dies bedeutet, dass der anfängliche End-to-End-Konzeptnachweis (Qupla-to-FPGA, der ursprünglich für Ende Januar 2020 geplant war) noch nicht die volle Supervisor-Funktionalität haben wird, sondern nur in der Lage sein wird, eine einzige beliebige Funktion auf dem FPGA einzurichten und aufzurufen und das Ergebnis zurückzugeben. Das Laden und Aufrufen mehrerer Funktionen und komplexere Planung durch EEE wird der nächste Schritt für die Implementierung im Supervisor-Code sein.

Auf der Softwareseite ist der Qupla-Compiler jetzt in der Lage, eine spezifische Version des Abra-Codes zu erzeugen, die leichter eine 1-zu-1-Konvertierung in die binäre Konfigurationsdatei ermöglicht, indem alle Verkettungs-, Slice- und Aufrufoperationen eliminiert werden. Wir haben überprüft, dass der resultierende transformierte Code immer noch korrekt funktioniert, indem wir die Testsuite mit diesem Code im Emulator ausgeführt haben. Der Emulator selbst ist nun in der Lage, über die Socket-Schnittstelle eine Schnittstelle zum FPGA herzustellen. Er sendet die generierte Konfigurationsdatei an das FPGA und ruft diese Funktion bei Bedarf auf. In Zukunft wird der Qupla-Supervisor in der Lage sein, Ereignisse über die HTTP-Schnittstelle zum und vom FPGA zu senden.

Erste Lehren aus dem PoC

Bis jetzt funktioniert alles wie vorgesehen. Wir haben ein völlig neues Verarbeitungsmodell geschaffen, das jede Art von allgemeiner Verarbeitung durchführen kann. Das Modell behandelt die RAM-Speicherung genauso wie jede andere Art von E/A, d.h. es liegt außerhalb des Geltungsbereichs des Abra-Codes und wird an Entitäten weitergegeben, die Daten für uns mit Hilfe von EEE speichern/abrufen können. Dies erfordert eine andere Art der Problembetrachtung, und es wird wichtig sein, die resultierende Komplexität zu bewerten und/oder zu sehen, ob es eine Möglichkeit gibt, die Komplexität in Qupla-Sprachkonstrukten zu verbergen, oder ob eine noch höhere Computersprache erforderlich ist. So wurde beispielsweise bereits die Notwendigkeit einer Art von Schleifenkonstrukt gesehen.

Zwei unmittelbare Hürden zeichnen sich derzeit ab und erfordern eine Lösung:

  1. Der derzeitige Ressourcenbedarf der QLEs auf dem ausgewählten FPGA (DE10-Nano) begrenzt uns auf insgesamt nur 512 QLEs. Dies mag ein wenig optimiert werden, aber wir erwarten nicht, dass sich dieser Bedarf auf mehr als etwa das Doppelte erhöht. Natürlich könnten wir einen größeren, teureren FPGA auswählen, aber für das Prototyping wollen wir es einfach und erschwinglich halten für Leute, die unsere Anstrengungen verdoppeln und damit herumspielen möchten. Eine direkte Folge davon ist, dass wir nur einige kleinere Funktionen auf den FPGA laden können, und der Kommunikations-Overhead beim Aufruf dieser Funktionen überwiegt meist den Verarbeitungsgewinn. Das war zu erwarten, und wir hoffen, dass wir, sobald wir zum nächsten Schritt übergehen, einem ASIC Abra VM, Größenordnungen darüber hinaus gehen können.
  2. Die Instantiierung von Funktionsaufrufen wird sehr schnell unerschwinglich. Aufgrund der „Call-Tree-Natur“ des Codes hat die Expansion eines solchen Aufrufbaums ein exponentielles Wachstum. Wenn X dreimal Y aufruft, was wiederum viermal Z aufruft, erhalten Sie drei vollständige Y-Instanziierungen, die 3×4 oder 12 vollständige Z-Instanziierungen verursachen. Sie können sehen, wie schnell dies eskaliert. Die Lösung dieses Problems wird unser Hauptaugenmerk sein müssen. Derzeit schwirren einige Ideen herum, aber wir haben uns noch nicht mit allen Konsequenzen für das Datenflussmodell befasst.

Übrigens leidet der Abra-Emulator nicht unter diesen Problemen, da er die Funktionsinstantiierung durch einen gewöhnlichen stapelbasierten Funktionsaufrufmechanismus emuliert und die Lookup-Tabellen in einem von den Lookup-Anweisungen getrennten Speicher ablegt. Heutige Gigabyte RAM-Größen würden Millionen von Abra VM-Befehlen ohne Probleme ermöglichen.

Schlussfolgerung

Nach einem langen Weg mit vielen unvorhergesehenen Hürden haben wir bewiesen, dass das Abra-Datenflussprogrammiermodell durchgängig funktioniert, von der Programmiersprache Qupla bis zur Ausführung des generierten Codes auf dedizierter FPGA-Hardware. Wir laden alle ein, mit dem Qupla-Repository herumzuspielen und zu sehen, was Qupla kann und wie es im Emulator läuft. Diejenigen, die sich mehr für Hardware interessieren, können mit dem Qubic HDL-Repository herumspielen und tatsächlich Code auf einem DE10-Nano ausführen, so wie wir es tun, oder sogar den Code an Ihr eigenes bevorzugtes FPGA-System anpassen.

Eine neue Richtung für intelligente Verträge auf IOTA

Auch wenn diese Arbeit die Vision hinter Qubic beweist und einen großen Schritt nach vorn darstellt, sind noch weitere Fragen zu lösen und es sind noch erhebliche Entwicklungsinvestitionen erforderlich, um Qubic produktionsreif zu machen. Unsere umfangreiche Arbeit an Qubic hat viel wertvolle Forschung und Entwicklung hervorgebracht und bildet die Grundlage für unseren weiteren Ansatz. Dementsprechend hat die IOTA-Stiftung die Entscheidung getroffen, die Entwicklung von Qubic einzustellen und unseren Schwerpunkt speziell auf die Ebene der intelligenten Verträge zu legen.

Der Hauptgrund für diese Entscheidung besteht darin, dass IOTA mit einer neuartigen intelligenten Vertragslösung, die in Verbindung mit der Coordicide-Knotenpunkt-Software arbeitet, schneller auf den Markt kommen kann. Am Ende verfügen wir über ein komplettes System – bereit für eine breitere und schnellere Einführung.

IOTA Smart Contracts ist das, was wir unsere intelligente Layer-2-Vertragslösung nennen. Sie ist aus der in diesem Beitrag beschriebenen Arbeit hervorgegangen und wurde von Grund auf neu konzipiert. Mit IOTA Smart Contracts wollen wir eine Vision für intelligente Verträge verfolgen, die skalierbar sind und niedrige Transaktionskosten haben.

Wir arbeiten derzeit an einer Alpha-Version von IOTA Smart Contracts durch die GoShimmer-Implementierung, und wir werden in Kürze weitere Informationen über diesen neuen Weg veröffentlichen. Wenn die Alpha-Version fertig ist, wird sie von einer Reihe einfacher intelligenter Vertrags-PoCs begleitet werden, um Gemeinschaftsentwickler auf den Weg zu bringen und zu demonstrieren, was möglich ist, um eine neue Ära von Anwendungen auf der Grundlage von IOTA anzustoßen.

Fühlen Sie sich frei, unser Ingenieursteam direkt in den Smart Contract-Kanälen über den IOTA-Discord zu erreichen und Fragen zu diesem neuen Weg, den wir beschreiten, zu stellen.

Spenden: OOXKDDPERSTNHSCQGYDYEWGDRLQEUZCIBDLYCDKSKIHGWAG9WFPVDVSRAUN9GDUOJ9INP9LMSMHYKNLNCOKMGFBZFA