Simplicity für Blockchains – denkbar einfach!
Blockstream Research

Simplicity für Blockchains – denkbar einfach!

Blockstream

"Simplicity is a blockchain programming language that is so simple, it fits on a t-shirt."
-- Dr. Russel O'Connor, Infrastructure Tech Developer @ Blockstream


Dr. Russell O’Connor von Blockstream hält heute in einer Session über neue Sprachen und Tools im Rahmen der Veranstaltung PLAS 2017 – dem ACM SIGSAC Workshop über Programmiersprachen und Sicherheitsanalysen – einen Vortrag über, Simplicity: Eine neue Sprache für Blockchains“. Die Programmiersprache Simplicity stellt eine Weiterentwicklung bestehender Kryptosprachen dar, denn sie umgeht ihre Mängel und eröffnet neue Möglichkeiten für Smart Contracts auf Blockchains, wobei sie sich auf das Bitcoin UTXO-Modell stützt.

Simplicity basiert auf dem Sequenzenkalkül und ist ein aktualisierter Ansatz zur Verbesserung der Skriptsprache von Bitcoin. So bietet Simplicity ein paar wesentliche Verbesserungen, allem voran die Vervollständigung und Erweiterung der Scripting-Fähigkeiten. Eine der Einschränkungen bei der aktuellen Version von Bitcoin Script, der Bitcoin-eigenen Programmiersprache, besteht darin, dass in den Anfängen von Bitcoin eine Reihe von opcodes deaktiviert wurden, so zum Beispiel der opcode OP_CAT, der zwei Zeichenfolgen verkettet. Die Elements-Plattform von Blockstream re-aktiviert und fügt einige opcodes hinzu, aber O’Connor wollte mehr Flexibilität. Simplicity bietet diese Aussagekraft.

Zudem bietet Simplicity verbesserte Sicherheit. Es beginnt mit der Typsicherheit: Simplicity ist eine typisierte, funktionale Programmiersprache, die Kombinatoren nutzt. Ferner trägt ihre Analysierbarkeit zur Sicherheit bei: Obwohl Simplicity die Programmierung sämtlicher finiter Berechnungen ermöglicht und alle Funktionen für ein leistungsfähiges Smart Contract-System bietet, ist es Turing-unvollständig, lässt keine unbegrenzten Schleifen zu und erlaubt statische Analysen. Schließlich ermöglicht die formale Semantik logische Schlussfolgerungen über die Sprache mithilfe des Coq-Beweisassistenten, der die Sicherheit der formalen Verifizierung ermöglicht, wie z. B. O’Connors formal verifizierte Implementierung der in Simplicity verfassten SHA-256 Hash-Funktion.

Simplicity verbessert bestehende Kryptosprachen weiter, indem es Merklized Abstract Syntax Trees (MASTs) integriert. Als native MAST-Programmiersprache ordnet Simplicity seine Programme in Baumstrukturen an und enthüllt nur die für die Einlösung erforderlichen Teile; die nicht benutzten Programmteile werden eliminiert, wodurch der Datenschutz erhöht und der Blockplatzbedarf verringert wird.

O’Connors Referat zu Simplicity bietet einen ersten Einblick in diese neue Sprache für Kryptowährungen. Das Blockstream Forschungs- und Entwicklungsprojekt bietet Möglichkeiten zur Anwendung in zukünftigen Produkten von Blockstream. Der nächste Schritt ist die Veröffentlichung eines Simplicity Software Developer Kits. In der Zwischenzeit können Sie mehr über die Zukunftschancen dieser Sprache erfahren, indem Sie „Simplicity: Eine neue Sprache für Blockchains“ lesen, das im Einzelnen beschreibt, wie die Sprache Simplicity funktioniert.

If you have specific preferences, please, mark the topic(s) you would like to read: