Pax Vertrag

Solidity Smart Contracts für den Paxos Standard ERC20 stablecoin PAX Der Implementierungsvertrag wird nur für die Logik der Nicht-Admin-Methoden verwendet. Ein neuer Implementierungsvertrag kann durch Aufrufen von upgradeTo() oder upgradeToAndCall() auf dem Proxy festgelegt werden, wobei dieser für Upgrades verwendet wird, die eine neue Initialisierung oder Datenmigration erfordern, sodass dies alles in einer Transaktion möglich ist. Sie müssen zunächst eine Kopie des neuen Implementierungsvertrags bereitstellen, der vom Konstruktor automatisch angehalten wird, um versehentliche Aufrufe direkt an den Proxyvertrag zu vermeiden. Diese Eigenschaften machen PAX wie die anderen kürzlich entstandenen stabilenMünzen – USD Coin (USDC), TrueUSD (TUSD) und Gemini Dollar (GUSD). Alle von ihnen sind vollständig einlösbare regulierte ERC-20 Token, die 1:1 unterstützt werden, die von US-Dollar unterstützt werden, Ethereum Smart Contracts verwendet, um Token auszustellen und zu verbrennen, und von den US-Prüfern und Regulierungsbehörden überwacht werden. Außerdem erhebt keine dieser Plattformen Transaktions-/Umwandlungsgebühren (trotz einiger Ausnahmen). Das für Paxos Standard verwendete Proxymuster, das als Upgradeability mit Unstructured Storage bezeichnet wird, ist einer der einfachsten und sichersten verfügbaren Ansätze. Es nutzt eine Soliditätsfunktion, die aus der traditionellen Programmierung nicht vertraut ist: Delegatecall. delegatecall führt den Bytecode eines anderen Vertrags im Speicherkontext des aufrufenden Vertrags aus. Die Idee, die auch Teil des Ewigen Speicher-Upgradeability-Musters ist, ist, dass die gesamte Wahrheit (siehe unten) des Vertrags auf dem ewigen Proxy-Vertrag selbst gehalten wird, während der auszuführende Code auf einem Implementierungsvertrag steht. Das Vertrags-Abi ist in PAX.abi. Es ist die Abi des Durchführungsvertrags.

Die Interaktion mit PAX Standard erfolgt an der Adresse des Proxys unter 0x8e870d67f660d95d5be530380d0ec0bd388289e1. Weitere Informationen finden Sie in etherscan.io/token/0x8e870d67f660d95d5be530380d0ec0bd388289e1 für Details zu Live-Ketten und im Abschnitt zur Bytecodeüberprüfung unten. Siehe auch unsere unabhängigen Sicherheitsaudits von Nomic Labs, ChainSecurity und Trail of Bits. Da es sich bei der Implementierungsadresse im Proxy um eine private Variable handelt, erfordert die Überprüfung, ob es sich um den verwendeten Proxy handelt, das direkte Lesen des Vertragsspeichers. Dies kann mit einem Mainnet-Knoten, wie infura, durch Einfügen der Netzwerkadresse in trüffel-config.js und ausführen Unsere Wahl der Brieftasche Muster ist eine weitere Möglichkeit, dass die Paxos Standard-Team hat besonders vorsichtig mit der Ethereum Blockchain. Da sich die Ethereum-Community noch nicht auf einen Standard für Vertragsmulti-sig festgelegt hat, sind wir zurückhaltend, mit einer unerprobten Technologie für die kryptografische Zugriffskontrolle auf Kundengelder zu riskieren. Stattdessen haben wir ein vollständig offlinees Multi-Sig-Schema entwickelt und entwickelt, das mehr Sicherheit, Sichtbarkeit und einen stark reduzierten Bedrohungsvektor ermöglicht. Die Paxos Standard Smart Contracts sind so einfach, wie wir sie machen könnten. Unser Ziel war es, Risiken durch Einfachheit zu minimieren und die Komplexität nach Möglichkeit von der Kette zu verlagern. Dies wurde mit einem grundlegenden Upgradeability-Proxymodell und einem geheimen Offline-Sharding erreicht, um ein Asset der nächsten Generation zu erstellen, dem unsere Benutzer vertrauen können.

Wir hoffen, dass Sie einige Inspiration in unseren intelligenten Vertragsdesign-Entscheidungen finden können, während Sie gehen, um tolle Dinge auf der Blockchain zu bauen – vielleicht sogar eine Anwendung auf dem Paxos Standard Token! Um die Aufrüstbarkeit der unveränderlichen Blockchain zu erleichtern, folgen wir einem Standardmäßigen Delegierungsmuster mit zwei Verträgen: Ein Proxyvertrag stellt das Token dar, während alle Aufrufe, bei denen der Vertrag nicht aktualisiert wird, an einen Implementierungsvertrag delegiert werden.