Smart Contracts für die Menschen

This page is machine-translated.
Alex Chepurnoy

19. Oktober 2018

Viele blockchainbezogene Nachrichten heutzutage sagen uns, dass eine Bank X oder ein Unternehmen Y eine "Blockchain" verwenden wird, um "Kosten zu senken". Im Grunde bedeutet das, dass ein weiteres Schlagwort von großen Bankern als ein weiteres Werkzeug betrachtet wird, um Wert effizienter aus überall zu extrahieren und auch, um Stellen abzubauen.

Während ich es vermeide, etwas über "Satoshis Vision" zu sagen (nichts als Spekulationen könnte man dort nach seinem Exodus finden), ist eine breite Sicht, die ich in den frühen Jahren in Online-Foren beobachtet habe, dass eine Kryptowährung Werkzeuge bereitstellen sollte, um die gewöhnlichen Menschen hinter ihren kleinen Unternehmen zu bereichern, die nicht viel mehr als das Überleben ermöglichen, nicht entpersonalisiertes großes Finanzkapital. Die Werkzeuge einer Kryptowährung sollten es den Menschen ermöglichen, wirtschaftliche Aktivitäten unabhängig von Unternehmensgröße, geografischem Standort, von großen Akteuren festgelegten Zinssätzen usw. durchzuführen. Die Werkzeuge sollten es den Menschen ermöglichen, Verträge (keine Papierverträge, sondern digitale, selbstdurchsetzende und vernünftig intelligente Verträge) unabhängig von Unterschieden in Rechtsordnungen, Traditionen, gefolgten Geschäftspraktiken usw. abzuschließen.

Ich hoffe, Ergo wäre hier nützlich. Tausende von kleinen Genossenschaften und einzelnen Unternehmern sind für ein gesundes und nachhaltiges Wohlstandswachstum weltweit wichtiger als ein paar Unternehmen, die Gewinne in Offshore-Himmeln verstecken.

Als Beispiel betrachten wir eine Genossenschaftsvereinigung (wie Radical Routes), die bereit ist, einem Unternehmer, der tausende Kilometer entfernt ist (sagen wir, in Rojava), finanzielle Hilfe zu leisten.

Wir müssen jetzt einige Details annehmen. Zunächst nehmen wir an, dass es vier Genossenschaften im Netzwerk gibt. Sie sperren gemeinsam 10.000 Ergs (in gleichen Teilen, also 2.500 Ergs jeweils) in einem Vertrag, der Folgendes besagt:

  1. Die Genossenschaften sind mit den öffentlichen Schlüsseln pubkeyA, pubkeyB, pubkeyC, pubkeyD verbunden. Der Unternehmer ist mit einem öffentlichen Schlüssel businessKey verbunden.
  2. Die Genossenschaften sperren Geld in einer Münze, die durch einen Finanzierungsvertrag geschützt ist, und führen dann eine Due Diligence durch und stimmen darüber ab, ob sie den Unternehmer finanzieren oder nicht. Alle Vertragsmittel (10.000 Ergs) gehen an den Unternehmer, wenn 3 von 4 Stimmen dafür sind. Technisch wird die Abstimmung über eine 3-aus-4-Schwellenunterschrift durchgeführt. Wenn die Abstimmung nicht erfolgreich ist (3 von 4 Unterschriften werden nicht gesammelt) bevor die Blocknummer 1.000 erreicht ist, kann jede Genossenschaft (tatsächlich kann jeder) eine Abhebungs-Transaktion einreichen, die 2.500 Ergs (mindestens) an jede Genossenschaft zurückgibt. Darüber hinaus wird der Finanzierungsvertrag auch als Abstimmungsvertrag bezeichnet.
  3. Die Investitionen könnten für drei Ziele ausgegeben werden, mit einigen strengen Grenzen. Nämlich muss der Unternehmer mindestens 5.000 Ergs für Ausrüstung ausgeben, mindestens 2.000 Ergs für den Bau eines benötigten Gebäudes, andere Mittel kann der Unternehmer beliebig ausgeben.
  4. Um sicherzustellen, dass das Geld für die Ausrüstung auch für die Ausrüstung ausgegeben wird, verwendet die Genossenschaftsvereinigung öffentliche Schlüssel von bekannten Ausrüstungsverkäufern im Gebiet des Unternehmers. Zum Beispiel nehmen wir an, dass es Ausrüstungsverkäufer mit den öffentlichen Schlüsseln pubkeyTool1, pubkeyTool2, pubkeyTool3, pubkeyTool4 in der Gegend gibt. Technisch wird die Übertragung als kollektive Unterschrift eines Ausrüstungsverkäufers organisiert (also Ringunterschrift aus dem Ring der Ausrüstungsverkäufer UND Unterschrift des Unternehmers)
  5. Ebenso nehmen wir an, dass es 3 Bauunternehmer in der Genossenschaftsvereinigung gibt, die mit den öffentlichen Schlüsseln pubkeyConstr1, pubkeyConstr2 und pubkeyConstr3 verbunden sind.
  6. Ähnlich wie beim Abstimmungsvertrag, wenn die Ausrüstungs- und Bauverträge nicht vor der Blocknummer 5000 mitunterzeichnet werden, könnten die Genossenschaften der Vereinigung Mittel abheben.

Es gibt verschiedene Möglichkeiten, Verträge in Ergo zu definieren. Ein Skript in der Low-Level-Sprache, ErgoTree, beschreibt eine (einzige) logische Bedingung, ob eine Münze entsprechend ausgegeben werden kann, und auch einen Ausgabebeweis, der durch eine Ausgabetransaktion bereitgestellt wird. Intern wird die Bedingung als typisierter Syntaxbaum dargestellt, daher der Name. Die Struktur ermöglicht es uns, eine Kostenanalyse im Voraus durchzuführen usw. Die höherstufige Sprache namens ErgoScript ermöglicht eine traditionellere und lesbarere Beschreibung, die Verwendung von Variablen und die Aufteilung der Logik in Unterprogramme.

Lassen Sie uns mit dem Hauptvertrag beginnen, der in (1-3) oben definiert ist:

{
 val votingSuccess  = atLeast(3, Array(pubkeyA, pubkeyB, pubkeyC, pubkeyD))
 val properSpending = OUTPUTS(0).value >= 5000L &&
                      blake2b256(OUTPUTS(0).propositionBytes) == spendingContract1Hash &&
                      OUTPUTS(1).value >= 2000L &&
                      blake2b256(OUTPUTS(1).propositionBytes) == spendingContract2Hash

 val withdrawCondition = HEIGHT >= 1000L &&
                         OUTPUTS(0).value >= 2500L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 2500L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 2500L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 2500L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 (votingSuccess && properSpending) || withdrawCondition
}

Dieses Skript in ErgoScript wird in einen Syntaxbaum (der in serialisierter Form in die Blockchain geschrieben werden soll) kompiliert, indem es mit konkreten Werten für Variablen (pubkeyA, pubkeyB, pubkeyC, pubkeyD, spendingContract1Hash, spendingContract2Hash) gebunden wird. spendingContract1Hash ist ein Hash des (serialisierten) Ausgabeskripts für Ausrüstung, das weiter unten bereitgestellt wird, spendingContract2Hash ist ein Hash des Ausgabeskripts für den Bau.

Das Ausgabeskript für die Ausrüstung ist unten:

{
 val spendingSuccess = (pubkeyTool1 || pubkeyTool2 || pubkeyTool3 || pubkeyTool4) && businessKey

 val withdrawCondition = HEIGHT > 5000L &&
                         OUTPUTS(0).value >= 1250L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 1250L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 1250L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 1250L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 spendingSuccess || withdrawCondition
}

Und das Bau-Skript ist:

{
 val spendingSuccess = (pubkeyConstr1 || pubkeyConstr2 || pubkeyConstr3) && businessKey

 val withdrawCondition = HEIGHT > 5000L &&
                         OUTPUTS(0).value >= 500L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 500L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 500L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 500L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 spendingSuccess || withdrawCondition
}

Nehmen wir nun an, dass die Genossenschaftsvereinigung eine Münze geschaffen hat, die durch den Abstimmungsvertrag geschützt ist. Unten ist, wie der Unternehmer sein Geschäft betreiben kann:

  1. Erstellen Sie eine Transaktion, die die Münze verbraucht und mindestens drei Münzen erstellt, eine mit dem Ausgabevertrag für Ausrüstung, eine andere mit dem Ausgabevertrag für den Bau, die dritte erstellt eine Münze, die durch den öffentlichen Schlüssel des Unternehmers geschützt ist.
  2. Senden Sie die Transaktion an die Genossenschaften, warten Sie auf die Transaktion mit dem schwellenunterschriebenen Input, die auf der Blockchain veröffentlicht wird.
  3. Betrachten Sie einen Vertrag mit einem Ausrüstungsverkäufer, unterzeichnen Sie eine Ausgabetransaktion.
  4. Betrachten Sie einen Vertrag mit einem Bauunternehmer, unterzeichnen Sie eine Ausgabetransaktion.

Der Unternehmer kann leicht weglaufen, ohne Geschäfte zu machen, aber mit nicht mehr als 3.000 Ergs. Dies kann behoben werden, z.B. könnte dieses Geld erst nach Blocknummer 5.000 ausgegeben werden, und davor könnte das Geld von den Genossenschaften abgehoben werden. Für Ausgaben für Ausrüstung und Bau arbeitet der Unternehmer mit einigen, vermutlich bereits renommierten, Unternehmen zusammen. Somit reduziert der Investor seine Risiken.

Sie können Code und Beispieltransaktionen online finden. Bitte beachten Sie, dass wir weitere Beispiele für komplexe Signaturschemata, mehrstufige Verträge (mit Ausführungswegen, die wie MAST in Bitcoin offenbart werden, aber mit erlaubten Zyklen), Orakel, Crowdfunding usw. haben. Bitte überprüfen Sie unser Beispiel-Repository.

Share post

Ergo Infrastructure DAO: Dezentralisierung des Rückgrats des Ergo-Ökosystems

Ergo Infrastructure DAO: Dezentralisierung des Rückgrats des Ergo-Ökosystems

Die Mission von Ergo war schon immer in der Dezentralisierung verwurzelt, nicht nur auf der Konsensschicht, sondern über den gesam.

Ergo Platform

13. August 2025

Mew Finance: Ein verspieltes DeFi-Toolkit für das Ergo-Ökosystem

Mew Finance: Ein verspieltes DeFi-Toolkit für das Ergo-Ökosystem

Mew Finance ist eine dezentrale Anwendungs-Suite auf der Ergo-Blockchain.

Ergo Platform

12. August 2025

Lithos: Dezentralisierung des Minings mit On-Chain-Pools

Lithos: Dezentralisierung des Minings mit On-Chain-Pools

Lithos ist ein neues Protokoll, das darauf abzielt, die Funktionsweise von Mining-Pools zu revolutionieren, indem es sie on-chain .

Ergo Platform

24. Juli 2025

Sigma 6.0: Ein intelligenteres, flexibleres Ergo

Sigma 6.0: Ein intelligenteres, flexibleres Ergo

Sigma 6.0 ist ein bedeutendes vorgeschlagenes Upgrade für die Ergo-Blockchain.

Ergo Platform

23. Juli 2025

Die Zukunft von Rosen gestalten: Ein Gemeinschaftsaufruf zu fünf wichtigen Treasury-Vorschlägen

Die Zukunft von Rosen gestalten: Ein Gemeinschaftsaufruf zu fünf wichtigen Treasury-Vorschlägen

Der Mitbegründer von Rosen, Armeanio, hat fünf neue Vorschläge an die Rosen Treasury eingereicht.

Ergo Platform

9. Juli 2025

Ergos erweitertes UTXO und der Aufstieg der künstlichen wirtschaftlichen Intelligenz

Ergos erweitertes UTXO und der Aufstieg der künstlichen wirtschaftlichen Intelligenz

Eine praktische Vision für autonome wirtschaftliche Agenten Autonome wirtschaftliche Agenten auf der Ergo-Blockchain leisten nütz.

Ergo Platform

12. Mai 2025

ErgoHACK X: Künstliche Intelligenz auf der Ergo-Blockchain

ErgoHACK X: Künstliche Intelligenz auf der Ergo-Blockchain

Feier eines Jahrzehnts dezentraler Innovation Feiern Sie das 10-jährige Jubiläum von ErgoHACK und seien Sie an der Spitze der KI-R.

Ergo Platform

10. April 2025

Ergohack 9: Innovationen in UI/UX und Mining – Lernen Sie die visionären Gewinner kennen!

Ergohack 9: Innovationen in UI/UX und Mining – Lernen Sie die visionären Gewinner kennen!

Der letzte jährliche Ergo-Hackathon, ErgoHack IX, war eine sechstägige Veranstaltung, die Ende Oktober stattfand.

Ergo Platform

9. Dezember 2024

ErgoHack IX: Nächste Schritte zur erhöhten Akzeptanz

ErgoHack IX: Nächste Schritte zur erhöhten Akzeptanz

Wir haben einen langen Weg seit den frühen Tagen von Bitcoin zurückgelegt, und Kryptowährungen haben sich zu einer Branche mit Tau.

Ergo Platform

20. Oktober 2024

Ergo Vs Andere Blockchain-Plattformen: Was ist der Unterschied?

Ergo Vs Andere Blockchain-Plattformen: Was ist der Unterschied?

Ergo bietet eine Reihe einzigartiger Funktionen, die es von anderen Blockchain-Plattformen abheben.

Ergo Platform

19. August 2024

Verdienen Mit Der Rosen Brücke

Verdienen Mit Der Rosen Brücke

Bitcoin hat offiziell die Ergo-Ökosystem über die Rosen Brücke verbunden! Diese neu gebaute, dezentrale Infrastruktur ermöglicht v.

Ergo Platform

8. August 2024

Verdienen Mit Der Rosen Brücke

Verdienen Mit Der Rosen Brücke

Bitcoin hat offiziell die Ergo-Ökosystem über die Rosen Brücke verbunden! Diese neu gebaute, dezentrale Infrastruktur ermöglicht v.

Ergo Platform

8. August 2024

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Ergos leistungsstarke, flexible und sichere Smart-Contract-Funktionalität öffnet die Tür zu einer ganzen Reihe neuer Anwendungsfäl.

Ergo Platform

15. Juli 2024

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Die leistungsstarke, flexible und sichere Smart-Contract-Funktionalität von Ergo öffnet die Tür zu einer ganzen Reihe neuer Anwend.

Ergo Platform

15. Juli 2024