Ich habe gerade Ethereum Smart Contracts kennengelernt und habe ein fakultätsbezogenes Projekt, das deren Verwendung impliziert.
Die Idee ist, eine DApp zu erstellen, die es Kunden (Personen) ermöglicht, Steuern (in Ethereum) an eine öffentliche Institution zu zahlen.
Mein Problem ist, dass ich nicht entscheiden kann, welche High-Level-Version von Smart Contract den Best Practices folgt:
Globaler intelligenter Vertrag
Smart Contract pro Kunde
Generischer Smart Contract
Sind die oben genannten Ideen im Zusammenhang mit Ethereum – Smart Contracts umsetzbar?
Wenn ja, welches ist das Richtige?
Wenn nein, wie soll der passende Smart Contract basierend auf meiner Idee aussehen?
Es ist ein bisschen schwierig zu wissen, wie gründlich man vorgehen muss. Aber lassen Sie mich Ihnen eine Alternative anbieten:
1) Ethereum-Adresse (jede Person muss eine persönliche Ethereum-Adresse haben)
2) Steuerbetrag, der gezahlt werden muss (in Ether)
Danach stellt der Vertrag sicher, dass die Leute die Steuern auf irgendeine Weise zahlen. Nach dem Datum X gibt die Institution eine Transaktion zum Vertrag an eine makeSureTaxesArePaid
Funktion aus, die sicherstellt, dass alle Steuern bezahlt wurden. Wenn nicht, passiert etwas. Alle an den Vertrag gezahlten Steuern können später von seinem Eigentümer (Ersteller) aus dem Vertrag zurückgezogen werden.
Das kommt Ihrer ursprünglichen ersten Idee also ziemlich nahe.
Aus meiner Sicht habe ich keine Zweifel: Die erste Lösung ist die beste Praxis.
Es stellt sicher, dass alle erforderlichen Maßnahmen, abgesehen von der Zahlung von Steuern, der Institution obliegen, die von dem Geld profitiert, dh es wird nicht erhoben, wer Steuern für Mehrarbeit oder Mehrausgaben zahlt; außerdem ist es natürlich koordiniert (im Gegensatz dazu erfordert das zweite eine Koordination zwischen der Institution und allen Steuerzahlern); außerdem ist es nicht erforderlich, N Verträge zu klonen, die sich nur für die Client-Adresse unterscheiden. Denken Sie daran, dass Sie Gas für jeden einzelnen bereitgestellten Vertrag und für jedes in der Blockchain belegte Byte bezahlen: zu viele Duplikate in Lösung 2!
Die dritte Lösung ist wirklich schlecht und nicht billiger.
Die von Lauri vorgeschlagene Lösung kann nützlich sein, wenn ein Kunde einen anderen Steuerbetrag zu zahlen hat, Ihre Frage uns jedoch keine Informationen zu dieser Angelegenheit gibt.
Kurz gesagt: erste Lösung verwenden!
Hoffe das hilft!
OP hat nicht gesagt, ob dies Umsatzsteuer, Einkommenssteuer oder etwas anderes ist, daher haben wir keine Informationen darüber, wie sie berechnet wird. Ich gehe mit einem Steuerformular / Steuerüberweisungssystem, da es am wahrscheinlichsten erscheint.
Oberflächlich betrachtet klingt das nach einer „Zahlungsanfrage“-App und wenig mehr. Wenn die Vertraulichkeit ein Problem darstellt, müssen sorgfältige Anstrengungen unternommen werden, um sie zu schützen, und man sollte davon absehen, unnötige Informationen in die Blockchain aufzunehmen.
Ich würde zu Option 1 tendieren. Zur Verdeutlichung:
Institution schafft es
Und ...
Die Adressen und Beträge von Verpflichtungen und Quittungen sind für jedermann einsehbar, was möglicherweise nicht wünschenswert ist. Erwägen Sie die Untersuchung von Verschleierungsmethoden, um die Zusicherung der Vertraulichkeit zu unterstützen, einschließlich Metadatenanalyse.
Ich hoffe es hilft.
GrandFleet
xSkyripper
GrandFleet