Hoskinson und Lucas Rosa entwickeln eine neue Cardano Programmiersprache

Die Sprache würde Transaktionsintents mit Proof Carrying Data über Groth16 Nachweise kombinieren und so gewünschte Ergebnisse mit kryptografisch verifizierbarer Berechnung verknüpfen.

By SongMarketCap

Updated:

Cardano News - Hoskinson und Lucas Rosa entwickeln eine neue Cardano Programmiersprache

Charles Hoskinson kündigte am 18. Oktober an, dass er persönlich eine neue Programmiersprache für Cardano entwickelt. Er nannte Lucas Rosa, einen Aiken Mitgründer und Tooling Architect von Midnight, als seinen Mitstreiter bei dem Projekt.

Aiken Mitgründer arbeitet an der Seite von Hoskinson

Rosa, online bekannt als @rvcas, hat Aiken mitgegründet und die Entwicklung mehr als zweieinhalb Jahre lang geleitet. Seiner Projektgeschichte zufolge umfasste diese Arbeit die Gestaltung der Funktionen der Sprache, bevor Eigentum und Lizenz für die langfristige Betreuung an Pragma übertragen wurden.

Aiken ist eine Programmiersprache und ein Entwicklungstoolkit für Cardano Smart Contracts. Entwickler nutzen es, um Regeln festzulegen, die bestimmen, ob Transaktionen Vermögenswerte ausgeben können oder andere vertragsgesteuerte Operationen ausführen dürfen.

Rosa gibt derzeit seine Position als Tooling Architect bei Midnight an. Sein Hintergrund umfasst Compiler, verteilte Systeme und Anwendungsinfrastruktur.

Hoskinsons Ankündigung nennt Rosa als Mitwirkenden, ohne Midnight eine organisatorische Rolle zuzuweisen.

Wie Intents und Groth16 Nachweise zusammenhängen

Intents beschreiben ein Ergebnis, das ein Nutzer erreichen möchte, und die Bedingungen, unter denen es akzeptabel ist. Ein Nutzer könnte den Tausch von ADA gegen einen anderen Token anfordern und dabei eine Mindestmenge zum Erhalt sowie eine maximale Gebühr festlegen. Spezialisierte Teilnehmer, sogenannte Solver, können dann einen Ausführungspfad finden und Transaktionen konstruieren, die diese Bedingungen erfüllen.

Proof Carrying Data oder PCD bezeichnet Informationen, die von kryptografischen Nachweisen begleitet werden, dass sie definierten Regeln entsprechen. Die Nachweise können auch die Verarbeitungshistorie abdecken und belegen, dass vorherige Rechenschritte diese Regeln eingehalten haben. Ein Empfänger kann den Nachweis prüfen, ohne die gesamte vorausgehende Berechnung zu wiederholen.

Groth16 bietet kompakte Zero Knowledge Nachweise mit relativ geringer Verifikationskomplexität. Es ermöglicht einer Partei nachzuweisen, dass eine bestimmte Berechnung korrekt durchgeführt wurde, ohne die privaten Eingaben offenzulegen, die zur Erstellung des Nachweises verwendet wurden. Welche Anwendungsdaten öffentlich bleiben, hängt vom Design des umgebenden Systems ab.

Zusammen könnten diese Konzepte es einer Anwendung ermöglichen, akzeptable Ergebnisse auszudrücken und Nachweise dafür zu verifizieren, dass die relevanten rechnerischen Bedingungen erfüllt wurden. Der spezifische Mechanismus, der sie in der vorgeschlagenen Sprache verbindet, wurde nicht beschrieben.

Anbindung der Sprache an Cardano Validatoren

Cardano stellt bereits kryptografische Bausteine für nachweisbasierte Anwendungen bereit. Plutus V3 umfasst BLS12-381 Operationen, die die effiziente Verifizierung kompatibler Zero Knowledge Nachweise unterstützen. Entwickler können diese Primitive nutzen, um Verträge zu erstellen, die Nachweise über außerhalb der Blockchain ausgeführte Berechnungen prüfen.

Verifizierung verbraucht Ausführungsressourcen und trägt zu den in ADA gezahlten Transaktionsgebühren bei. Die Praxistauglichkeit jeder Implementierung hängt daher davon ab, dass das Nachweissystem, der Verifizierer und die Arbeitslast in die Transaktionsgrenzen von Cardano passen.

Hoskinsons Beitrag nannte weder einen Sprachnamen noch ein Repository, eine Spezifikation oder ein Veröffentlichungsdatum. Auch die Beziehung zu Aiken und Plutus bleibt ungenannt. Der ungelöste Integrationspunkt ist, wie ein in der neuen Sprache geschriebenes Programm einen Nachweis erzeugen und ihn einem Cardano Validator zur Verfügung stellen würde, um die vom Nutzer angegebenen Bedingungen mit dem Vertrag zu verknüpfen, der die Abwicklung autorisiert.