Ethereum: Eine Plattform der nächsten Generation für Smart Contracts und dezentrale Anwendungen
Abstract
Ethereum เป็นแพลตฟอร์ม cryptocurrency และแอปพลิเคชันแบบกระจายศูนย์รุ่นถัดไป ที่นำเสนอ blockchain พร้อมภาษาโปรแกรมมิ่ง Turing-complete ในตัว ซึ่งอนุญาตให้ทุกคนเขียน smart contract และแอปพลิเคชันแบบกระจายศูนย์ที่สามารถสร้างกฎเกณฑ์ตามอำเภอใจสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และ state transition function ได้
นวัตกรรมพื้นฐานของ Ethereum คือการรวมเทคโนโลยี blockchain ที่ริเริ่มโดย Bitcoin เข้ากับสภาพแวดล้อมการเขียนโปรแกรมอเนกประสงค์ ในขณะที่ Bitcoin มอบระบบ state transition แบบง่ายสำหรับการโอนเงินตราจากบัญชีหนึ่งไปยังอีกบัญชีหนึ่ง Ethereum มอบแพลตฟอร์มที่นักพัฒนาสามารถสร้างแอปพลิเคชันแบบกระจายศูนย์ทุกประเภทที่จินตนาการได้ ตั้งแต่สกุลเงินทางเลือกและเครื่องมือทางการเงิน ไปจนถึงระบบจดทะเบียนโดเมนและองค์กรแบบกระจายศูนย์
Ethereum บรรลุเป้าหมายนี้โดยการสร้างสิ่งที่เป็นชั้นพื้นฐานนามธรรมสูงสุด: blockchain พร้อมภาษาโปรแกรมมิ่ง Turing-complete ในตัว ที่อนุญาตให้ทุกคนเขียน smart contract และแอปพลิเคชันแบบกระจายศูนย์ที่สามารถสร้างกฎเกณฑ์ตามอำเภอใจสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และ state transition function ได้ เวอร์ชันพื้นฐานของ Namecoin สามารถเขียนได้ในสองบรรทัดของโค้ด และโปรโตคอลอื่น ๆ เช่น สกุลเงินและระบบชื่อเสียงสามารถสร้างได้ในไม่ถึงยี่สิบบรรทัด
Abstract
Ethereum ist eine Kryptowaehrungs- und dezentrale Anwendungsplattform der naechsten Generation, die eine Blockchain mit einer integrierten Turing-vollstaendigen Programmiersprache einfuehrt. Dies ermoeglicht es jedem, Smart Contracts und dezentrale Anwendungen zu schreiben, in denen sie ihre eigenen beliebigen Regeln fuer Eigentum, Transaktionsformate und Zustandsuebergangsfunktionen erstellen koennen.
Die grundlegende Innovation von Ethereum besteht darin, die von Bitcoin pionierhaft entwickelte Blockchain-Technologie mit einer universellen Programmierumgebung zu kombinieren. Waehrend Bitcoin ein einfaches Zustandsuebergangssystem zum Verschieben von Waehrung von einem Konto zu einem anderen bereitstellt, bietet Ethereum eine Plattform, auf der Entwickler jede Art von dezentraler Anwendung bauen koennen, die sie sich vorstellen koennen, von alternativen Waehrungen und Finanzinstrumenten bis hin zu Domain-Registrierungssystemen und dezentralen Organisationen.
Ethereum erreicht dies, indem es im Wesentlichen die ultimative abstrakte Grundschicht aufbaut: eine Blockchain mit einer integrierten Turing-vollstaendigen Programmiersprache, die es jedem ermoeglicht, Smart Contracts und dezentrale Anwendungen zu schreiben, in denen sie ihre eigenen beliebigen Regeln fuer Eigentum, Transaktionsformate und Zustandsuebergangsfunktionen erstellen koennen. Eine minimale Version von Namecoin kann in zwei Zeilen Code geschrieben werden, und andere Protokolle wie Waehrungen und Reputationssysteme koennen in weniger als zwanzig erstellt werden.
Introduction and Existing Concepts
แนวคิดของสกุลเงินดิจิทัลแบบกระจายอำนาจ รวมถึงแอปพลิเคชันทางเลือก เช่น การลงทะเบียนทรัพย์สิน มีมานานหลายทศวรรษแล้ว โปรโตคอล e-cash ที่ไม่ระบุชื่อในช่วงทศวรรษ 1980 และ 1990 ซึ่งส่วนใหญ่อาศัยการเข้ารหัสแบบดั้งเดิมที่เรียกว่า Chaumian blinding ทำให้สกุลเงินมีความเป็นส่วนตัวในระดับสูง แต่โปรโตคอลส่วนใหญ่ล้มเหลวในการรับแรงดึงเนื่องจากการพึ่งพาตัวกลางแบบรวมศูนย์ ในปี 1998 b-money ของ Wei Dai กลายเป็นข้อเสนอแรกที่แนะนำแนวคิดในการสร้างเงินผ่านการไขปริศนาทางการคำนวณ เช่นเดียวกับฉันทามติแบบกระจายอำนาจ แต่ข้อเสนอดังกล่าวยังไม่มีรายละเอียดมากนักเกี่ยวกับวิธีการนำฉันทามติแบบกระจายอำนาจไปใช้จริง
ในปี 2009 สกุลเงินแบบกระจายอำนาจถูกนำมาใช้ในทางปฏิบัติเป็นครั้งแรกโดย Satoshi Nakamoto โดยรวมเอาหลักการพื้นฐานที่กำหนดไว้สำหรับการจัดการความเป็นเจ้าของผ่านการเข้ารหัสคีย์สาธารณะเข้ากับอัลกอริธึมที่เป็นเอกฉันท์สำหรับการติดตามว่าใครเป็นเจ้าของเหรียญ หรือที่เรียกว่า "หลักฐานการทำงาน" กลไกเบื้องหลังการพิสูจน์การทำงานถือเป็นความก้าวหน้าในด้านนี้ เนื่องจากสามารถแก้ไขปัญหาสองประการไปพร้อมๆ กัน ประการแรก ให้อัลกอริธึมฉันทามติที่เรียบง่ายและมีประสิทธิภาพปานกลาง ซึ่งช่วยให้โหนดในเครือข่ายตกลงร่วมกันเกี่ยวกับชุดการอัปเดตตามรูปแบบบัญญัติสำหรับสถานะของ Bitcoin ledger ประการที่สอง เป็นกลไกในการอนุญาตให้เข้าสู่กระบวนการฉันทามติอย่างเสรี แก้ปัญหาทางการเมืองในการตัดสินใจว่าใครจะมีอิทธิพลต่อฉันทามติ ขณะเดียวกันก็ป้องกันการโจมตีของซีบิลไปพร้อมๆ กัน
บล็อกเชน Bitcoin ได้รับการพิสูจน์แล้วว่าแข็งแกร่งอย่างน่าทึ่งตลอดระยะเวลาหลายปีของการดำเนินงาน แต่ก็มีข้อจำกัดโดยเนื้อแท้ ภาษาสคริปต์ของ Bitcoin ได้รับการออกแบบโดยเจตนาให้มีข้อจำกัดและไม่สมบูรณ์ ขาดการวนซ้ำ และคุณสมบัติอื่นๆ มากมายที่จำเป็นต่อการสร้างแอปพลิเคชันที่ซับซ้อนมากขึ้น ข้อจำกัดนี้มีไว้เพื่อป้องกันการวนซ้ำไม่สิ้นสุดและการโจมตีทางคอมพิวเตอร์ในรูปแบบอื่นๆ แต่จะจำกัดสิ่งที่สามารถสร้างบน Bitcoin ได้อย่างเข้มงวด
ในช่วงห้าปีที่ผ่านมา มีความพยายามหลายครั้งในการขยายฟังก์ชันการทำงานของ Bitcoin เหรียญสีพยายามใช้บล็อคเชน Bitcoin เพื่อติดตามความเป็นเจ้าของสินทรัพย์ทางเลือก Namecoin พยายามสร้างฐานข้อมูลการลงทะเบียนชื่อแบบกระจายอำนาจ และโปรโตคอล metacoin ต่างๆ ที่มีวัตถุประสงค์เพื่อสร้างเลเยอร์เพิ่มเติมที่ด้านบนของ Bitcoin แม้ว่าแนวทางเหล่านี้แสดงให้เห็นแนวโน้มที่ดี แต่ท้ายที่สุดแล้วแนวทางเหล่านี้ถูกจำกัดด้วยความสามารถในการเขียนสคริปต์ของ Bitcoin และไม่สามารถเข้าถึงข้อมูลบล็อกเชนจากภายในสคริปต์ได้
สิ่งที่ Ethereum ตั้งใจที่จะมอบให้คือบล็อกเชนที่มีภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ในตัว ซึ่งสามารถใช้เพื่อสร้าง "สัญญา" ที่สามารถใช้เพื่อเข้ารหัสฟังก์ชันการเปลี่ยนสถานะตามอำเภอใจ ช่วยให้ผู้ใช้สามารถสร้างระบบใดๆ ที่อธิบายไว้ข้างต้น เช่นเดียวกับระบบอื่นๆ อีกมากมายที่เรายังไม่ได้จินตนาการ เพียงแค่เขียนตรรกะในโค้ดเพียงไม่กี่บรรทัด
Introduction and Existing Concepts
Das Konzept der dezentralen digitalen Waehrung sowie alternative Anwendungen wie Eigentumsregister existieren seit Jahrzehnten. Die anonymen E-Cash-Protokolle der 1980er und 1990er Jahre, die hauptsaechlich auf einem kryptographischen Primitiv namens Chaumian Blinding beruhten, boten eine Waehrung mit einem hohen Mass an Privatsphaere, doch die Protokolle konnten sich wegen ihrer Abhaengigkeit von einem zentralisierten Vermittler weitgehend nicht durchsetzen. 1998 wurde Wei Dais b-money zum ersten Vorschlag, der die Idee einfuehrte, Geld durch das Loesen von Rechenaufgaben sowie durch dezentralen Konsens zu schaffen, aber der Vorschlag enthielt nur wenige Details darueber, wie dezentraler Konsens tatsaechlich umgesetzt werden koennte.
Im Jahr 2009 wurde eine dezentrale Waehrung erstmals in der Praxis von Satoshi Nakamoto implementiert, indem etablierte Primitive fuer die Verwaltung von Eigentum durch Public-Key-Kryptographie mit einem Konsensalgorithmus zur Verfolgung des Coin-Besitzes kombiniert wurden, bekannt als "Proof of Work". Der Mechanismus hinter Proof of Work war ein Durchbruch in diesem Bereich, da er gleichzeitig zwei Probleme loeste. Erstens bot er einen einfachen und maessig effektiven Konsensalgorithmus, der es den Knoten im Netzwerk ermoeglichte, sich kollektiv auf eine Reihe kanonischer Aktualisierungen des Zustands des Bitcoin-Hauptbuchs zu einigen. Zweitens bot er einen Mechanismus fuer den freien Eintritt in den Konsensprozess, der das politische Problem loeiste, wer den Konsens beeinflussen darf, waehrend gleichzeitig Sybil-Angriffe verhindert wurden.
Die Bitcoin-Blockchain hat sich ueber ihre Betriebsjahre hinweg als bemerkenswert robust erwiesen, ist aber inhaerent begrenzt. Bitcoins Skriptsprache ist absichtlich so konzipiert, dass sie restriktiv und nicht-Turing-vollstaendig ist, ohne Schleifen und viele andere Funktionen, die fuer den Aufbau komplexerer Anwendungen erforderlich waeren. Diese Einschraenkung existiert, um Endlosschleifen und andere Formen von Rechenangriffen zu verhindern, schraenkt aber stark ein, was auf Bitcoin aufgebaut werden kann.
In den letzten fuenf Jahren gab es eine Reihe von Versuchen, die Funktionalitaet von Bitcoin zu erweitern. Colored Coins versuchten, die Bitcoin-Blockchain zur Verfolgung des Eigentums an alternativen Vermoegenswerten zu nutzen, Namecoin versuchte, eine dezentrale Namensregistrierungsdatenbank zu schaffen, und verschiedene Metacoin-Protokolle zielten darauf ab, zusaetzliche Schichten auf Bitcoin aufzubauen. Obwohl diese Ansaetze vielversprechend waren, waren sie letztlich durch die Skriptfaehigkeiten von Bitcoin und die Unfaehigkeit, auf Blockchain-Daten aus Skripten heraus zuzugreifen, begrenzt.
Was Ethereum bereitstellen will, ist eine Blockchain mit einer integrierten vollwertigen Turing-vollstaendigen Programmiersprache, die verwendet werden kann, um "Vertraege" zu erstellen, die beliebige Zustandsuebergangsfunktionen kodieren koennen, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorgestellt haben, erstellen koennen, indem sie die Logik einfach in wenigen Zeilen Code schreiben.
Bitcoin As A State Transition System
จากมุมมองทางเทคนิค ledger ของสกุลเงินดิจิทัล เช่น Bitcoin สามารถถือเป็นระบบการเปลี่ยนสถานะ โดยมี "สถานะ" ประกอบด้วยสถานะความเป็นเจ้าของของ bitcoins ที่มีอยู่ทั้งหมด และ "ฟังก์ชันการเปลี่ยนสถานะ" ที่รับสถานะและธุรกรรม และส่งออกสถานะใหม่ซึ่งเป็นผลลัพธ์ ตัวอย่างเช่น ในระบบธนาคารมาตรฐาน รัฐคืองบดุล ธุรกรรมคือการร้องขอให้ย้าย \(X จาก A ไป B และฟังก์ชันการเปลี่ยนสถานะจะลดมูลค่าในบัญชีของ A ลง \)X และเพิ่มมูลค่าในบัญชีของ B ลง \(X หากบัญชีของ A มีน้อยกว่า \)X ในตอนแรก ฟังก์ชันการเปลี่ยนสถานะจะส่งกลับข้อผิดพลาด

"สถานะ" ใน Bitcoin คือการรวบรวมเหรียญทั้งหมด (ในทางเทคนิค "เอาต์พุตธุรกรรมที่ยังไม่ได้ใช้" หรือ UTXO) ที่ได้รับการสร้างเสร็จและยังไม่ได้ใช้ โดยแต่ละ UTXO มีสกุลเงินและเจ้าของ (กำหนดโดยที่อยู่ 20 ไบต์ ซึ่งโดยพื้นฐานแล้วคือคีย์สาธารณะที่เข้ารหัส) ธุรกรรมประกอบด้วยอินพุตหนึ่งรายการขึ้นไป โดยแต่ละอินพุตประกอบด้วยการอ้างอิงถึง UTXO ที่มีอยู่และลายเซ็นการเข้ารหัสที่สร้างโดยคีย์ส่วนตัวที่เกี่ยวข้องกับที่อยู่ของเจ้าของ และเอาต์พุตอย่างน้อยหนึ่งรายการ โดยแต่ละเอาต์พุตจะมี UTXO ใหม่ที่จะเพิ่มลงในสถานะ
ฟังก์ชันการเปลี่ยนสถานะ APPLY(S,TX) - S' สามารถกำหนดได้คร่าวๆ ดังนี้:
- สำหรับแต่ละอินพุตใน TX หาก UTXO ที่อ้างอิงไม่ได้อยู่ใน S ให้ส่งกลับข้อผิดพลาด
- หากลายเซ็นที่ให้ไว้ไม่ตรงกับเจ้าของ UTXO ให้ส่งคืนข้อผิดพลาด
- หากผลรวมของส่วนของอินพุต UTXO ทั้งหมดน้อยกว่าผลรวมของส่วนของเอาต์พุต UTXO ทั้งหมด ให้ส่งกลับข้อผิดพลาด
- ส่งคืน S โดยเอาอินพุต UTXO ทั้งหมดออกและเพิ่ม UTXO เอาต์พุตทั้งหมด
ครึ่งแรกของขั้นตอนแรกจะป้องกันไม่ให้ผู้ส่งธุรกรรมใช้เหรียญที่ไม่มีอยู่จริง ครึ่งหลังของขั้นตอนแรกจะป้องกันไม่ให้ผู้ส่งธุรกรรมใช้เหรียญของผู้อื่น และขั้นตอนที่สองบังคับใช้การอนุรักษ์มูลค่า เพื่อใช้ในการชำระเงิน โปรโตคอลจะเป็นดังนี้: สมมติว่าอลิซต้องการส่ง 11.7 BTC ให้กับ Bob ก่อนอื่น Alice จะมองหาชุดของ UTXO ที่มีอยู่ซึ่งเธอเป็นเจ้าของ ซึ่งมีมูลค่ารวมอย่างน้อย 11.7 BTC ตามความเป็นจริงแล้ว Alice จะไม่สามารถรับ 11.7 BTC ได้อย่างแน่นอน บอกว่าค่าที่เล็กที่สุดที่เธอหาได้คือ 6+4+2=12 จากนั้นเธอก็สร้างธุรกรรมด้วยอินพุตสามรายการและเอาต์พุตสองรายการ เอาต์พุตแรกจะเป็น 11.7 BTC โดยมีที่อยู่ของ Bob เป็นเจ้าของ และเอาต์พุตที่สองจะเป็น "การเปลี่ยนแปลง" ที่เหลือ 0.3 BTC โดยเจ้าของคืออลิซเอง
Bitcoin As A State Transition System
Aus technischer Sicht kann das Hauptbuch einer Kryptowaehrung wie Bitcoin als Zustandsuebergangssystem betrachtet werden, bei dem es einen "Zustand" gibt, der aus dem Eigentumsstatus aller existierenden Bitcoins besteht, und eine "Zustandsuebergangsfunktion", die einen Zustand und eine Transaktion nimmt und einen neuen Zustand als Ergebnis ausgibt. In einem Standard-Bankensystem ist beispielsweise der Zustand eine Bilanz, eine Transaktion ist eine Anforderung, \(X von A nach B zu verschieben, und die Zustandsuebergangsfunktion reduziert den Wert in As Konto um \)X und erhoeht den Wert in Bs Konto um \(X. Wenn As Konto von vornherein weniger als \)X hat, gibt die Zustandsuebergangsfunktion einen Fehler zurueck.

Der "Zustand" in Bitcoin ist die Sammlung aller Coins (technisch "nicht ausgegebene Transaktionsausgaben" oder UTXO), die gepraegt und noch nicht ausgegeben wurden, wobei jedes UTXO eine Denomination und einen Eigentuemer hat (definiert durch eine 20-Byte-Adresse, die im Wesentlichen ein kryptographischer oeffentlicher Schluessel ist). Eine Transaktion enthaelt eine oder mehrere Eingaben, wobei jede Eingabe eine Referenz auf ein existierendes UTXO und eine kryptographische Signatur enthaelt, die durch den mit der Adresse des Eigentuemers verknuepften privaten Schluessel erzeugt wurde, und eine oder mehrere Ausgaben, wobei jede Ausgabe ein neues UTXO enthaelt, das dem Zustand hinzugefuegt werden soll.
Die Zustandsuebergangsfunktion APPLY(S,TX) - S' kann ungefaehr wie folgt definiert werden:
- Fuer jede Eingabe in TX: Wenn das referenzierte UTXO nicht in S enthalten ist, Fehler zurueckgeben.
- Wenn die bereitgestellte Signatur nicht mit dem Eigentuemer des UTXO uebereinstimmt, Fehler zurueckgeben.
- Wenn die Summe der Denominationen aller Eingabe-UTXO kleiner ist als die Summe der Denominationen aller Ausgabe-UTXO, Fehler zurueckgeben.
- S zurueckgeben, wobei alle Eingabe-UTXO entfernt und alle Ausgabe-UTXO hinzugefuegt werden.
Die erste Haelfte des ersten Schritts verhindert, dass Transaktionssender Coins ausgeben, die nicht existieren, die zweite Haelfte des ersten Schritts verhindert, dass Transaktionssender die Coins anderer Leute ausgeben, und der zweite Schritt erzwingt die Werterhaltung. Um dies fuer eine Zahlung zu verwenden, ist das Protokoll wie folgt: Angenommen, Alice moechte 11,7 BTC an Bob senden. Zunaechst sucht Alice nach einem Satz verfuegbarer UTXO, die sie besitzt und die insgesamt mindestens 11,7 BTC ergeben. Realistischerweise wird Alice nicht genau 11,7 BTC bekommen koennen; sagen wir, das Kleinste, was sie bekommen kann, ist 6+4+2=12. Sie erstellt dann eine Transaktion mit diesen drei Eingaben und zwei Ausgaben. Die erste Ausgabe wird 11,7 BTC mit Bobs Adresse als Eigentuemer sein, und die zweite Ausgabe wird das verbleibende Wechselgeld von 0,3 BTC sein, dessen Eigentuemer Alice selbst ist.
Mining
หากเราเข้าถึงบริการแบบรวมศูนย์ที่น่าเชื่อถือ ระบบนี้คงใช้งานไม่ได้ มันสามารถเขียนโค้ดได้ตรงตามที่อธิบายไว้ โดยใช้ฮาร์ดไดรฟ์ของเซิร์ฟเวอร์ส่วนกลางเพื่อติดตามสถานะ อย่างไรก็ตาม ด้วย Bitcoin เรากำลังพยายามสร้างระบบสกุลเงินที่กระจายอำนาจ ดังนั้นเราจะต้องรวมระบบธุรกรรมของรัฐเข้ากับระบบฉันทามติเพื่อให้แน่ใจว่าทุกคนเห็นด้วยกับลำดับของธุรกรรม กระบวนการฉันทามติแบบกระจายอำนาจของ Bitcoin กำหนดให้โหนดในเครือข่ายพยายามสร้างแพ็คเกจธุรกรรมที่เรียกว่า "บล็อก" อย่างต่อเนื่อง เครือข่ายมีวัตถุประสงค์เพื่อสร้างประมาณหนึ่งบล็อกทุกๆ สิบนาที โดยแต่ละบล็อกมีการประทับเวลา nonce การอ้างอิงถึง (เช่น แฮชของ) บล็อกก่อนหน้า และรายการธุรกรรมทั้งหมดที่เกิดขึ้นตั้งแต่บล็อกก่อนหน้า

เมื่อเวลาผ่านไป สิ่งนี้จะสร้าง "บล็อกเชน" ที่ต่อเนื่องและเติบโตอย่างต่อเนื่อง โดยมีการอัปเดตอย่างต่อเนื่องเพื่อแสดงสถานะล่าสุดของ Bitcoin ledger อัลกอริธึมสำหรับการตรวจสอบว่าบล็อกนั้นถูกต้องหรือไม่ ซึ่งแสดงในกระบวนทัศน์นี้มีดังนี้:
- ตรวจสอบว่าบล็อกก่อนหน้าที่บล็อกอ้างอิงนั้นมีอยู่และถูกต้องหรือไม่
- ตรวจสอบว่าการประทับเวลาของบล็อกนั้นมากกว่าของบล็อกก่อนหน้าและน้อยกว่า 2 ชั่วโมงในอนาคต
- ตรวจสอบว่าหลักฐานการทำงานบนบล็อกนั้นถูกต้อง
- ให้ S เป็นสถานะที่ส่วนท้ายของบล็อกก่อนหน้า
- สมมติว่า TX คือรายการธุรกรรมของบล็อกที่มีธุรกรรม n รายการ สำหรับ i ทั้งหมดใน 0...n-1 ให้ตั้งค่า S = APPLY(S,TX[i]) หากแอปพลิเคชันใดส่งคืนข้อผิดพลาด ให้ออกและส่งคืนค่าเท็จ
- คืนค่าเป็นจริง และลงทะเบียน S เป็นสถานะที่ส่วนท้ายของบล็อกนี้
โดยพื้นฐานแล้ว แต่ละธุรกรรมในบล็อกจะต้องจัดให้มีการเปลี่ยนสถานะที่ถูกต้องจากสถานะมาตรฐานก่อนที่ธุรกรรมจะถูกดำเนินการไปสู่สถานะใหม่ โปรดทราบว่าสถานะไม่ได้ถูกเข้ารหัสในบล็อก แต่อย่างใด มันเป็นนามธรรมล้วนๆ ที่ต้องจดจำโดยโหนดตรวจสอบความถูกต้อง และสามารถคำนวณได้ (อย่างปลอดภัย) สำหรับบล็อกใดๆ โดยเริ่มจากสถานะกำเนิดและใช้ทุกธุรกรรมตามลำดับในทุกบล็อก
นักขุดจะได้รับรางวัลสำหรับงานคำนวณด้วย bitcoins ที่สร้างขึ้นใหม่พร้อมค่าธรรมเนียมการทำธุรกรรม กระบวนการขุดมีดังต่อไปนี้: นักขุดใช้ส่วนหัวของบล็อกและแฮชมันซ้ำ ๆ ด้วยค่า nonce ที่แตกต่างกันจนกระทั่งพวกเขาพบแฮชที่ต่ำกว่าเป้าหมายความยากที่แน่นอน เมื่อนักขุดพบแฮชดังกล่าว พวกเขาจะออกอากาศบล็อกไปยังเครือข่าย และโหนดอื่น ๆ จะตรวจสอบว่าแฮชนั้นถูกต้องและธุรกรรมทั้งหมดในบล็อกนั้นถูกต้อง เป้าหมายความยากจะถูกปรับโดยอัตโนมัติโดยโปรโตคอลทุก ๆ บล็อกในปี 2559 (ประมาณสองสัปดาห์) เพื่อให้แน่ใจว่าบล็อกนั้นมีอัตราคงที่โดยประมาณ
โปรดทราบว่าในระยะยาว ความปลอดภัยของบล็อกเชนขึ้นอยู่กับนักขุดที่มีแรงจูงใจทางการเงินให้ประพฤติตนอย่างซื่อสัตย์ หากผู้โจมตีควบคุมพลังการขุดของเครือข่ายมากกว่า 50% พวกเขาก็สามารถดำเนินการ "โจมตี 51%" ได้ด้วยการสร้างบล็อคเชนทางเลือกที่เติบโตเร็วกว่าเชนที่ซื่อสัตย์ อย่างไรก็ตาม การโจมตีดังกล่าวจะต้องใช้ทรัพยากรคอมพิวเตอร์จำนวนมหาศาล และอาจส่งผลให้รางวัลการขุดของผู้โจมตีไร้ค่า เนื่องจากเครือข่ายสูญเสียความมั่นใจในความสมบูรณ์ของบล็อคเชน
Mining
Haetten wir Zugang zu einem vertrauenswuerdigen zentralisierten Dienst, waere dieses System trivial zu implementieren; es koennte einfach genau wie beschrieben programmiert werden, wobei die Festplatte eines zentralen Servers verwendet wuerde, um den Zustand zu verfolgen. Mit Bitcoin versuchen wir jedoch, ein dezentrales Waehrungssystem aufzubauen, daher muessen wir das Zustandstransaktionssystem mit einem Konsenssystem kombinieren, um sicherzustellen, dass alle sich ueber die Reihenfolge der Transaktionen einig sind. Bitcoins dezentraler Konsensprozess erfordert, dass Knoten im Netzwerk kontinuierlich versuchen, Pakete von Transaktionen zu erstellen, die "Bloecke" genannt werden. Das Netzwerk soll ungefaehr alle zehn Minuten einen Block produzieren, wobei jeder Block einen Zeitstempel, einen Nonce, eine Referenz auf den (d.h. den Hash des) vorherigen Block und eine Liste aller Transaktionen enthaelt, die seit dem vorherigen Block stattgefunden haben.

Im Laufe der Zeit entsteht dadurch eine bestaendige, staendig wachsende "Blockchain", die sich kontinuierlich aktualisiert, um den neuesten Zustand des Bitcoin-Hauptbuchs darzustellen. Der Algorithmus zur Ueberpruefung, ob ein Block gueltig ist, ausdrueckt in diesem Paradigma, lautet wie folgt:
- Pruefen, ob der vom Block referenzierte vorherige Block existiert und gueltig ist.
- Pruefen, dass der Zeitstempel des Blocks groesser ist als der des vorherigen Blocks und weniger als 2 Stunden in der Zukunft liegt.
- Pruefen, dass der Proof of Work des Blocks gueltig ist.
- Sei S der Zustand am Ende des vorherigen Blocks.
- Angenommen, TX ist die Transaktionsliste des Blocks mit n Transaktionen. Fuer alle i in 0...n-1, setze S = APPLY(S,TX[i]). Wenn eine Anwendung einen Fehler zurueckgibt, beenden und falsch zurueckgeben.
- Wahr zurueckgeben und S als Zustand am Ende dieses Blocks registrieren.
Im Wesentlichen muss jede Transaktion im Block einen gueltigen Zustandsuebergang vom kanonischen Zustand vor der Ausfuehrung der Transaktion zu einem neuen Zustand liefern. Beachten Sie, dass der Zustand in keiner Weise im Block kodiert ist; er ist rein eine Abstraktion, die vom validierenden Knoten gespeichert wird und nur (sicher) fuer jeden Block berechnet werden kann, indem man vom Genesis-Zustand ausgeht und sequenziell jede Transaktion in jedem Block anwendet.
Der Miner wird fuer seine Rechenarbeit mit neu erzeugten Bitcoins plus Transaktionsgebuehren belohnt. Der Mining-Prozess funktioniert wie folgt: Miner nehmen den Block-Header und hashen ihn wiederholt mit verschiedenen Nonce-Werten, bis sie einen Hash finden, der unter einem bestimmten Schwierigkeitsziel liegt. Wenn ein Miner einen solchen Hash findet, verbreitet er den Block im Netzwerk, und andere Knoten verifizieren, dass der Hash gueltig ist und dass alle Transaktionen im Block gueltig sind. Das Schwierigkeitsziel wird automatisch vom Protokoll alle 2016 Bloecke (ungefaehr zwei Wochen) angepasst, um sicherzustellen, dass Bloecke mit einer ungefaehr konstanten Rate produziert werden.
Beachten Sie, dass langfristig die Sicherheit der Blockchain davon abhaengt, dass Miner einen finanziellen Anreiz haben, sich ehrlich zu verhalten. Wenn ein Angreifer mehr als 50% der Mining-Leistung des Netzwerks kontrolliert, kann er potenziell einen "51%-Angriff" ausfuehren, indem er eine alternative Blockchain erstellt, die schneller waechst als die ehrliche Kette. Ein solcher Angriff wuerde jedoch enorme Rechenressourcen erfordern und wuerde wahrscheinlich dazu fuehren, dass die Mining-Belohnungen des Angreifers wertlos werden, da das Netzwerk das Vertrauen in die Integritaet der Blockchain verlieren wuerde.
Merkle Trees
ต้นไม้ Merkle เป็นโครงสร้างข้อมูลพื้นฐานที่ใช้ในบล็อก Bitcoin เพื่อให้สามารถยืนยันการรวมธุรกรรมได้อย่างมีประสิทธิภาพและปลอดภัย Merkle tree เป็นแผนผังไบนารี่ของแฮช โดยที่ leaf nodes มีแฮชของธุรกรรมแต่ละรายการ และโหนดภายในแต่ละโหนดมีแฮชของลูกสองคนของมัน โดยสร้างแบบวนซ้ำจนกลายเป็นแฮชรูทเดี่ยวที่ถูกเก็บไว้ในส่วนหัวของบล็อก โครงสร้างแบบลำดับชั้นนี้ช่วยให้ใครก็ตามสามารถตรวจสอบได้ว่าธุรกรรมใดรวมอยู่ในบล็อกโดยการดาวน์โหลดเฉพาะสาขา Merkle ซึ่งเป็นสายโซ่ของแฮชจากธุรกรรมจนถึงราก แทนที่จะดาวน์โหลดธุรกรรมทั้งหมดในบล็อก

ประสิทธิภาพที่เพิ่มขึ้นมีนัยสำคัญ: แม้ว่าโหนด Bitcoin แบบเต็มจะต้องจัดเก็บบล็อกเชนทั้งหมด (ประมาณ 15GB ในปี 2013) แต่โหนดการตรวจสอบการชำระเงิน (SPV) แบบง่ายขึ้นจะต้องดาวน์โหลดส่วนหัวของบล็อกที่มีรากของ Merkle เท่านั้น ซึ่งต้องการข้อมูลเพียง 4MB ในการตรวจสอบธุรกรรม โหนด SPV จะร้องขอสาขา Merkle จากโหนดแบบเต็ม ซึ่งต้องการเฉพาะข้อมูล O(log n) โดยที่ n คือจำนวนธุรกรรมในบล็อก มาตราส่วนลอการิทึมนี้ทำให้สามารถรันไคลเอนต์แบบน้ำหนักเบาบนอุปกรณ์มือถือและสภาพแวดล้อมที่มีทรัพยากรต่ำได้
การใช้แผนผัง Merkle ของ Bitcoin แสดงให้เห็นถึงหลักการสำคัญ: โครงสร้างการเข้ารหัสสามารถลดความไว้วางใจและความต้องการทรัพยากรสำหรับการเข้าร่วมในเครือข่ายแบบกระจายอำนาจได้อย่างมาก หลักการเดียวกันนี้รองรับการออกแบบของ Ethereum โดยที่แผนผัง Merkle ไม่เพียงแต่ใช้สำหรับธุรกรรมเท่านั้น แต่ยังใช้สำหรับการจัดเก็บสถานะและใบเสร็จรับเงินด้วย ซึ่งช่วยให้โปรโตคอลไคลเอ็นต์แบบ light มีความซับซ้อนมากยิ่งขึ้น
Merkle Trees
Merkle-Baeume sind eine fundamentale Datenstruktur, die in Bitcoin-Bloecken verwendet wird, um eine effiziente und sichere Verifizierung der Transaktionsinklusion zu ermoeglichen. Ein Merkle-Baum ist ein binaerer Baum von Hashes, bei dem die Blattknoten Hashes einzelner Transaktionen enthalten und jeder innere Knoten den Hash seiner beiden Kinder enthaelt, wobei rekursiv bis zu einem einzigen Wurzel-Hash aufgebaut wird, der im Block-Header gespeichert ist. Diese hierarchische Struktur ermoeglicht es jedem zu verifizieren, dass eine bestimmte Transaktion in einem Block enthalten ist, indem nur der Merkle-Zweig heruntergeladen wird — die Kette von Hashes von der Transaktion bis zur Wurzel — anstatt alle Transaktionen im Block herunterzuladen.

Die Effizienzgewinne sind erheblich: Waehrend ein vollstaendiger Bitcoin-Knoten die gesamte Blockchain speichern muss (etwa 15 GB Stand 2013), muss ein Knoten fuer vereinfachte Zahlungsverifizierung (SPV) nur Block-Header mit Merkle-Wurzeln herunterladen, was lediglich 4 MB Daten erfordert. Um eine Transaktion zu verifizieren, fordert ein SPV-Knoten den Merkle-Zweig von vollstaendigen Knoten an, was nur O(log n) Daten erfordert, wobei n die Anzahl der Transaktionen in einem Block ist. Diese logarithmische Skalierung macht es moeglich, leichtgewichtige Clients auf mobilen Geraeten und in ressourcenarmen Umgebungen auszufuehren.
Bitcoins Verwendung von Merkle-Baeumen demonstriert ein Schluesselprinzip: Kryptographische Strukturen koennen die Vertrauens- und Ressourcenanforderungen fuer die Teilnahme an einem dezentralen Netzwerk drastisch reduzieren. Dasselbe Prinzip liegt dem Design von Ethereum zugrunde, wo Merkle-Baeume nicht nur fuer Transaktionen, sondern auch fuer Zustands- und Quittungsspeicherung verwendet werden, was noch ausgefeiltere Light-Client-Protokolle ermoeglicht.
Alternative Blockchain Applications
ความสำเร็จของบล็อกเชนของ Bitcoin เป็นแรงบันดาลใจให้เกิดความพยายามมากมายในการขยายแนวคิดไปไกลกว่าสกุลเงินธรรมดา Namecoin เปิดตัวในปี 2010 เป็นหนึ่งในตัวอย่างแรกสุด ฐานข้อมูลการลงทะเบียนชื่อแบบกระจายอำนาจที่สร้างขึ้นบนบล็อกเชน ช่วยให้ผู้ใช้สามารถลงทะเบียนชื่อในเนมสเปซแบบกระจายที่ไม่มีหน่วยงานกลางใดสามารถเซ็นเซอร์หรือเพิกถอนได้ เหรียญสีกลายเป็นวิธีหนึ่งในการนำเสนอสินทรัพย์ทางเลือกบนบล็อกเชน Bitcoin โดยการ "แท็ก" ผลลัพธ์ของธุรกรรมเฉพาะเพื่อแสดงถึงความเป็นเจ้าของสินทรัพย์ในโลกแห่งความเป็นจริง หุ้นบริษัท หรือสกุลเงินดิจิตอลอื่น ๆ Metacoins และเมตาโปรโตคอล เช่น Mastercoin (ต่อมาคือ Omni) แบ่งชั้นฟังก์ชันการทำงานเพิ่มเติมไว้ด้านบนสุดของ Bitcoin โดยการเข้ารหัสข้อมูลเพิ่มเติมในธุรกรรม Bitcoin และสร้างกฎโปรโตคอลแยกต่างหากไว้ด้านบน
อย่างไรก็ตาม วิธีการทั้งหมดนี้ได้รับผลกระทบจากข้อจำกัดพื้นฐานที่กำหนดโดยสถาปัตยกรรมของ Bitcoin ภาษาสคริปต์ Bitcoin ถูกจำกัดโดยเจตนา เนื่องจากไม่สามารถเข้าถึงสถานะบล็อกเชน ขาดลูปและโฟลว์การควบคุมที่ซับซ้อน และให้การพิจารณามูลค่าธุรกรรมอย่างจำกัด การสร้างแอปพลิเคชันที่ซับซ้อนจำเป็นต้องมีวิธีแก้ปัญหาชั่วคราว: การเข้ารหัสข้อมูลเมตาในฟิลด์ธุรกรรมที่ไม่เคยมีจุดประสงค์เพื่อจุดประสงค์นั้น อาศัยโครงสร้างพื้นฐานนอกเครือข่ายสำหรับตรรกะที่ซับซ้อน หรือการยอมรับข้อจำกัดที่รุนแรงเกี่ยวกับสิ่งที่โปรโตคอลสามารถทำได้สำเร็จ
ข้อจำกัดเหล่านี้กระตุ้นให้เกิดการค้นหาแพลตฟอร์มบล็อกเชนที่มีจุดประสงค์ทั่วไปมากขึ้น แทนที่จะสร้างโปรโตคอลที่มีจุดประสงค์พิเศษอื่นนอกเหนือจากรากฐานอันจำกัดของ Bitcoin Ethereum ใช้วิธีการที่แตกต่างออกไป: มอบบล็อกเชนด้วยภาษาการเขียนโปรแกรมที่สมบูรณ์ในตัวของ Turing ช่วยให้ใครก็ตามสามารถเขียนสัญญาอัจฉริยะและแอปพลิเคชันที่กระจายอำนาจด้วยกฎที่กำหนดเองสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และฟังก์ชันการเปลี่ยนสถานะ
Alternative Blockchain Applications
Der Erfolg von Bitcoins Blockchain inspirierte zahlreiche Versuche, das Konzept ueber einfache Waehrung hinaus zu erweitern. Namecoin, gestartet 2010, war eines der fruehesten Beispiele — eine dezentrale Namensregistrierungsdatenbank, die auf einer Blockchain aufgebaut ist und es Benutzern ermoeglicht, Namen in einem verteilten Namensraum zu registrieren, den keine zentrale Behoerde zensieren oder widerrufen konnte. Colored Coins entstanden als Moeglichkeit, alternative Vermoegenswerte auf der Bitcoin-Blockchain darzustellen, indem bestimmte Transaktionsausgaben "markiert" wurden, um Eigentum an realen Vermoegenswerten, Unternehmensanteilen oder anderen Kryptowaehrungen zu repraesentieren. Metacoins und Meta-Protokolle wie Mastercoin (spaeter Omni) fueegten zusaetzliche Funktionalitaet ueber Bitcoin hinzu, indem sie zusaetzliche Daten in Bitcoin-Transaktionen kodierten und separate Protokollregeln darauf aufbauten.
Allerdings litten all diese Ansaetze unter fundamentalen Einschraenkungen, die durch Bitcoins Architektur auferlegt wurden. Die Bitcoin-Skriptsprache ist absichtlich eingeschraenkt — sie kann nicht auf den Blockchain-Zustand zugreifen, es fehlen Schleifen und komplexe Kontrollflussstrukturen, und sie bietet begrenzte Introspektion in Transaktionswerte. Der Aufbau anspruchsvoller Anwendungen erforderte unbeholfene Umgehungsloesungen: Kodierung von Metadaten in Transaktionsfeldern, die nie dafuer vorgesehen waren, Abhaengigkeit von Off-Chain-Infrastruktur fuer komplexe Logik oder Akzeptanz schwerwiegender Einschraenkungen dessen, was das Protokoll erreichen konnte.
Diese Einschraenkungen motivierten die Suche nach einer allgemeineren Blockchain-Plattform. Anstatt ein weiteres Spezialprotokoll auf Bitcoins begrenztem Fundament aufzubauen, verfolgt Ethereum einen anderen Ansatz: die Bereitstellung einer Blockchain mit einer integrierten Turing-vollstaendigen Programmiersprache, die es jedem ermoeglicht, Smart Contracts und dezentrale Anwendungen mit beliebigen Regeln fuer Eigentum, Transaktionsformate und Zustandsuebergangsfunktionen zu schreiben.
Scripting
สคริปต์ Bitcoin ซึ่งเป็นภาษาที่ใช้ในการกำหนดเงื่อนไขการใช้จ่ายสำหรับธุรกรรม Bitcoin ได้รับการออกแบบโดยตั้งใจโดยมีข้อจำกัดที่เข้มงวด มันไม่ใช่ทัวริงที่สมบูรณ์ โดยเฉพาะอย่างยิ่ง มันขาดลูปและโครงสร้างโฟลว์การควบคุมที่ซับซ้อน ภาษาทำงานเป็นสภาพแวดล้อมการดำเนินการแบบอิงสแต็กอย่างง่าย โดยที่การดำเนินการดันและป๊อปค่า ประเมินเงื่อนไขการเข้ารหัส และส่งคืนค่าจริงหรือเท็จในท้ายที่สุดเพื่อพิจารณาว่าธุรกรรมนั้นถูกต้องหรือไม่ แม้ว่าความเรียบง่ายนี้จะให้ประโยชน์ด้านความปลอดภัยและทำให้การวิเคราะห์อย่างเป็นทางการง่ายขึ้น แต่ก็ยังทำให้แอปพลิเคชันหลายประเภทไม่สามารถนำไปใช้ได้
ข้อจำกัดเหล่านี้แบ่งออกเป็นสามประเภทหลัก ประการแรก การขาดความสมบูรณ์ของทัวริงจะขัดขวางการนำเครื่องสถานะที่ซับซ้อน แผนผังการตัดสินใจ หรืออัลกอริทึมใดๆ ที่ต้องการการวนซ้ำ ประการที่สอง การมองไม่เห็นคุณค่าหมายความว่าสคริปต์ไม่สามารถระบุการควบคุมจำนวนเงินที่ถอนอย่างละเอียดได้ โดย UTXO สามารถใช้ได้ทั้งหมดเท่านั้น โดยจะส่งการเปลี่ยนแปลงไปยังเอาต์พุตใหม่ ตัวอย่างเช่น สคริปต์ไม่สามารถจำกัดการถอนได้สูงสุด X ต่อวัน โดยปล่อยให้ส่วนที่เหลือถูกล็อคไว้ ประการที่สาม การขาดการรับรู้ถึงสถานะบล็อคเชน หมายความว่า UTXO ถูกใช้ไปหรือไม่ถูกใช้โดยไม่มีสถานะตัวกลาง ทำให้สัญญาแบบหลายขั้นตอนเป็นไปไม่ได้ที่จะนำไปใช้แบบออนไลน์ล้วนๆ
ข้อจำกัดเหล่านี้ทำให้แอปพลิเคชันที่ซับซ้อน เช่น องค์กรอิสระแบบกระจายอำนาจ, กระเป๋าเงินออมทรัพย์ที่มีขีดจำกัดการถอน, การแลกเปลี่ยนแบบกระจายอำนาจ หรือตลาดการคาดการณ์ เป็นไปไม่ได้หรือต้องใช้กลไกนอกเครือข่ายที่น่าอึดอัดใจ สัญญาทางการเงินขั้นสูงอาจต้องการการเข้าถึงข้อมูลตลาด ความสามารถในการรักษาสถานะภายในของธุรกรรมหลายรายการ และตรรกะเงื่อนไขที่ซับซ้อน ซึ่งสคริปต์ Bitcoin ไม่สามารถให้ได้ Ethereum ลบข้อจำกัดเหล่านี้ด้วยการจัดเตรียมภาษาทัวริงที่สมบูรณ์พร้อมการเข้าถึงสถานะบล็อกเชนอย่างเต็มรูปแบบ
Scripting
Bitcoin Script, die Sprache zur Definition von Ausgabebedingungen fuer Bitcoin-Transaktionen, ist absichtlich mit schwerwiegenden Einschraenkungen entworfen. Sie ist nicht Turing-vollstaendig — am auffaelligsten fehlen Schleifen und komplexe Kontrollflussstrukturen. Die Sprache funktioniert als einfache stapelbasierte Ausfuehrungsumgebung, in der Operationen Werte auf den Stapel legen und entfernen, kryptographische Bedingungen auswerten und letztendlich wahr oder falsch zurueckgeben, um zu bestimmen, ob eine Transaktion gueltig ist. Waehrend diese Einfachheit Sicherheitsvorteile bietet und formale Analyse erleichtert, macht sie auch viele Arten von Anwendungen unmoeglich zu implementieren.
Diese Einschraenkungen fallen in drei Hauptkategorien. Erstens verhindert das Fehlen von Turing-Vollstaendigkeit die Implementierung komplexer Zustandsmaschinen, Entscheidungsbaeume oder jedes Algorithmus, der Iteration erfordert. Zweitens bedeutet Wert-Blindheit, dass Skripte keine feingranulare Kontrolle ueber Abhebungsbetraege festlegen koennen — ein UTXO kann nur in seiner Gesamtheit ausgegeben werden, wobei Wechselgeld an eine neue Ausgabe gesendet wird. Ein Skript kann beispielsweise Abhebungen nicht auf maximal X pro Tag begrenzen, waehrend der Rest gesperrt bleibt. Drittens bedeutet das Fehlen von Blockchain-Zustandsbewusstsein, dass UTXO entweder ausgegeben oder nicht ausgegeben sind, ohne Zwischenzustaende, was mehrstufige Vertraege rein On-Chain unmoeglich macht.
Diese Einschraenkungen machen anspruchsvolle Anwendungen wie dezentrale autonome Organisationen, Sparwallets mit Abhebungslimits, dezentrale Boersen oder Vorhersagemaerkte entweder unmoeglich oder erfordern unbeholfene Off-Chain-Mechanismen. Ein fortgeschrittener Finanzvertrag koennte Zugang zu Marktdaten benoetigen, die Faehigkeit, einen internen Zustand ueber mehrere Transaktionen hinweg aufrechtzuerhalten, und komplexe bedingte Logik — nichts davon kann Bitcoin Script bereitstellen. Ethereum beseitigt diese Einschraenkungen, indem es eine Turing-vollstaendige Sprache mit vollem Zugriff auf den Blockchain-Zustand bereitstellt.
Ethereum
เป้าหมายพื้นฐานของ Ethereum คือการจัดเตรียมบล็อกเชนด้วยภาษาโปรแกรมทัวริงที่สมบูรณ์ในตัว ซึ่งช่วยให้ใครก็ตามสามารถเขียนสัญญาอัจฉริยะและแอปพลิเคชันแบบกระจายอำนาจ ซึ่งพวกเขาสามารถสร้างกฎตามอำเภอใจของตนเองสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และฟังก์ชันการเปลี่ยนสถานะ แทนที่จะออกแบบโปรโตคอลสำหรับแอปพลิเคชันเฉพาะ เช่น สกุลเงิน การจดทะเบียนชื่อ หรือการซื้อขายสินทรัพย์ Ethereum มอบเลเยอร์พื้นฐาน ซึ่งเป็นแพลตฟอร์มการประมวลผลแบบกระจายบนบล็อกเชนที่นักพัฒนาสามารถใช้เพื่อสร้างแอปพลิเคชันใดๆ ที่พวกเขาสามารถจินตนาการได้
สถาปัตยกรรมแตกต่างโดยพื้นฐานจากโมเดล UTXO ของ Bitcoin Ethereum ใช้ระบบตามบัญชีโดยที่สถานะบล็อกเชนประกอบด้วยการแมปจากที่อยู่ไปยังออบเจ็กต์บัญชี แต่ละบัญชีมียอดคงเหลือ ตัวนับธุรกรรม (nonce) และสำหรับบัญชีสัญญา รหัสที่เกี่ยวข้องและพื้นที่เก็บข้อมูล แพลตฟอร์มดังกล่าวประกอบด้วยภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ในตัวสำหรับการเขียนโค้ดสัญญาที่ดำเนินการใน Ethereum Virtual Machine (EVM) ซึ่งเป็นสภาพแวดล้อมการดำเนินการแบบสแต็กที่ประมวลผลธุรกรรมและการเปลี่ยนสถานะ
ลักษณะทั่วไปนี้ทำให้เกิดการใช้งานที่หลากหลาย: สกุลเงินดิจิทัลทางเลือกที่มีกฎการออกแบบกำหนดเอง อนุพันธ์ทางการเงินและเหรียญเสถียร ระบบข้อมูลประจำตัวและชื่อเสียง พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจ องค์กรอิสระแบบกระจายอำนาจ (DAO) และอื่นๆ อีกมากมาย เอกสารไวท์เปเปอร์เน้นย้ำว่า Ethereum ไม่ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานเฉพาะใดๆ แต่กลับจัดเตรียมบล็อคส่วนประกอบพื้นฐาน เช่น บัญชี ธุรกรรม ภาษาที่สมบูรณ์ของทัวริง และการดำเนินการตามปริมาณก๊าซ ซึ่งนักพัฒนาสามารถนำมารวมกันเพื่อสร้างแอปพลิเคชันใดก็ตามที่ระบบนิเวศต้องการ
Ethereum
Das grundlegende Ziel von Ethereum ist die Bereitstellung einer Blockchain mit einer integrierten Turing-vollstaendigen Programmiersprache, die es jedem ermoeglicht, Smart Contracts und dezentrale Anwendungen zu schreiben, in denen sie ihre eigenen beliebigen Regeln fuer Eigentum, Transaktionsformate und Zustandsuebergangsfunktionen erstellen koennen. Anstatt ein Protokoll fuer spezifische Anwendungen wie Waehrung, Namensregistrierung oder Vermoegenswerthandel zu entwerfen, stellt Ethereum eine Grundschicht bereit — eine Blockchain-basierte verteilte Computerplattform, die Entwickler nutzen koennen, um jede Anwendung zu bauen, die sie sich vorstellen koennen.
Die Architektur unterscheidet sich grundlegend von Bitcoins UTXO-Modell. Ethereum verwendet ein kontobasiertes System, bei dem der Blockchain-Zustand aus einer Zuordnung von Adressen zu Kontoobjekten besteht. Jedes Konto hat ein Guthaben, einen Transaktionszaehler (Nonce) und fuer Vertragskonten zugehoerigen Code und Speicher. Die Plattform enthaelt eine integrierte Turing-vollstaendige Programmiersprache zum Schreiben von Vertragscode, der in der Ethereum Virtual Machine (EVM) ausgefuehrt wird, einer stapelbasierten Ausfuehrungsumgebung, die Transaktionen und Zustandsuebergaenge verarbeitet.
Diese Allgemeinheit ermoeglicht eine breite Palette von Anwendungen: alternative Kryptowaehrungen mit benutzerdefinierten Ausgaberegeln, Finanzderivate und Stablecoins, Identitaets- und Reputationssysteme, dezentraler Dateispeicher, dezentrale autonome Organisationen (DAOs) und vieles mehr. Das Whitepaper betont, dass Ethereum nicht fuer einen bestimmten Anwendungsfall optimiert ist, sondern die grundlegenden Bausteine bereitstellt — Konten, Transaktionen, eine Turing-vollstaendige Sprache und Gas-gemessene Ausfuehrung — die Entwickler kombinieren koennen, um die Anwendungen zu erstellen, die das Oekosystem erfordert.
Ethereum Accounts
ใน Ethereum รัฐประกอบด้วยบัญชี และมีประเภทพื้นฐานอยู่ 2 ประเภท บัญชีที่เป็นเจ้าของภายนอก (EOA) ถูกควบคุมโดยคีย์ส่วนตัวและไม่มีรหัสที่เกี่ยวข้อง—บัญชีเหล่านี้เป็นตัวแทนของผู้ใช้ที่เป็นมนุษย์หรือหน่วยงานภายนอกที่มีการโต้ตอบกับบล็อกเชน บัญชีสัญญาจะถูกควบคุมโดยรหัสสัญญาและจะเปิดใช้งานเมื่อได้รับข้อความหรือธุรกรรม ทั้งสองประเภทมีโครงสร้างร่วมกัน: ทุกบัญชีมี nonce (ตัวนับที่ใช้เพื่อให้แน่ใจว่าแต่ละธุรกรรมสามารถประมวลผลได้เพียงครั้งเดียว), ยอดคงเหลือ Ether และสำหรับสัญญาโดยเฉพาะ รหัสสัญญาและพื้นที่จัดเก็บถาวร
อีเธอร์เป็นสกุลเงินดิจิทัลภายในหลักของ Ethereum ซึ่งทำหน้าที่เป็นทั้งสื่อกลางในการโอนมูลค่าและเป็นหน่วยพื้นฐานสำหรับการจ่ายค่าธรรมเนียมการทำธุรกรรม (ก๊าซ) ต่างจากโมเดล UTXO ของ Bitcoin ที่มูลค่าจะถูกกระจายไปยังเอาต์พุตที่ยังไม่ได้ใช้หลายรายการ บัญชี Ethereum จะรักษายอดคงเหลือแบบง่าย ๆ ซึ่งจะเพิ่มขึ้นเมื่อได้รับอีเทอร์และลดลงเมื่อส่ง โมเดลตามบัญชีนี้ช่วยลดความซับซ้อนของแอปพลิเคชันหลายประเภท โดยเฉพาะอย่างยิ่งแอปพลิเคชันที่ต้องการสถานะถาวรหรือการควบคุมการเข้าถึงที่ซับซ้อน แม้ว่าจะมีข้อควรพิจารณาด้านความปลอดภัยที่แตกต่างกันเมื่อเปรียบเทียบกับแนวทางของ Bitcoin
ความแตกต่างระหว่าง EOA และบัญชีสัญญามีความสำคัญต่อการทำความเข้าใจการดำเนินงานของ Ethereum EOA สามารถเริ่มต้นธุรกรรมได้โดยการสร้างและลงนามข้อความด้วยคีย์ส่วนตัว โดยจ่ายค่าธรรมเนียมก๊าซเพื่อให้ธุรกรรมรวมอยู่ในบล็อก บัญชีสัญญาไม่สามารถเริ่มการทำธุรกรรมได้ด้วยตนเอง แต่สามารถส่งข้อความไปยังสัญญาอื่น ๆ เพื่อตอบสนองการรับธุรกรรมหรือข้อความ ทำให้เกิดห่วงโซ่การดำเนินการที่ซับซ้อน โดยที่ธุรกรรมภายนอกรายการเดียวทำให้เกิดการโต้ตอบระหว่างสัญญากับสัญญาหลายครั้ง
Ethereum Accounts
In Ethereum besteht der Zustand aus Konten, und es gibt zwei grundlegende Typen. Extern kontrollierte Konten (EOAs) werden durch private Schluessel kontrolliert und haben keinen zugehoerigen Code — sie repraesentieren menschliche Benutzer oder externe Entitaeten, die mit der Blockchain interagieren. Vertragskonten werden durch ihren Vertragscode kontrolliert und werden aktiviert, wenn sie eine Nachricht oder Transaktion empfangen. Beide Typen teilen eine gemeinsame Struktur: Jedes Konto hat eine Nonce (einen Zaehler, der sicherstellt, dass jede Transaktion nur einmal verarbeitet werden kann), ein Ether-Guthaben und fuer Vertraege speziell Vertragscode und persistenten Speicher.
Ether ist die primaere interne Kryptowaehrung von Ethereum und dient sowohl als Mittel zur Wertuebertragung als auch als grundlegende Einheit zur Zahlung von Transaktionsgebuehren (Gas). Im Gegensatz zu Bitcoins UTXO-Modell, bei dem der Wert ueber mehrere nicht ausgegebene Ausgaben verteilt ist, fuehren Ethereum-Konten ein einfaches Guthaben, das steigt, wenn sie Ether empfangen, und sinkt, wenn sie Ether senden. Dieses kontobasierte Modell vereinfacht viele Arten von Anwendungen, insbesondere solche, die persistenten Zustand oder komplexe Zugriffskontrolle erfordern, obwohl es im Vergleich zu Bitcoins Ansatz andere Sicherheitsueberlegungen einfuehrt.
Die Unterscheidung zwischen EOAs und Vertragskonten ist entscheidend fuer das Verstaendnis der Funktionsweise von Ethereum. EOAs koennen Transaktionen initiieren, indem sie Nachrichten mit ihren privaten Schluesseln erstellen und signieren und Gas-Gebuehren zahlen, damit ihre Transaktionen in Bloecke aufgenommen werden. Vertragskonten koennen selbst keine Transaktionen initiieren, koennen aber Nachrichten an andere Vertraege senden, wenn sie eine Transaktion oder Nachricht empfangen, was komplexe Ausfuehrungsketten ermoeglicht, bei denen eine einzelne externe Transaktion mehrere Vertrag-zu-Vertrag-Interaktionen ausloest.
Messages and Transactions
ธุรกรรมใน Ethereum เป็นแพ็คเกจข้อมูลที่ลงนามซึ่งสร้างโดยบัญชีที่เป็นเจ้าของภายนอกและออกอากาศไปยังเครือข่าย ธุรกรรมประกอบด้วยที่อยู่ผู้รับ ลายเซ็นเข้ารหัสที่พิสูจน์ตัวตนของผู้ส่ง จำนวนอีเทอร์ที่จะถ่ายโอน ช่องข้อมูลเสริม (สำคัญสำหรับการโต้ตอบกับสัญญา) STARTGAS (จำนวนขั้นตอนการคำนวณสูงสุดที่ธุรกรรมได้รับอนุญาตให้ทำ) และ GASPRICE (ค่าธรรมเนียมต่อขั้นตอนการคำนวณที่ผู้ส่งยินดีจ่าย) นักขุดรวบรวมธุรกรรมเหล่านี้ ตรวจสอบ ดำเนินการ และรวมไว้ในบล็อก โดยรับค่าธรรมเนียมก๊าซเป็นการชดเชย
ข้อความมีแนวคิดคล้ายกับธุรกรรม แต่จัดทำโดยสัญญามากกว่าผู้แสดงภายนอก เมื่อโค้ดของสัญญาดำเนินการ จะสามารถส่งข้อความไปยังสัญญาอื่นได้ ข้อความภายในเหล่านี้ประกอบด้วยผู้ส่ง (ที่อยู่ของสัญญา) ผู้รับ จำนวนอีเธอร์ที่จะถ่ายโอน เพย์โหลดข้อมูลเสริม และขีดจำกัด STARTGAS ข้อความช่วยให้สามารถสื่อสารตามสัญญาต่อสัญญาได้ ทำให้สามารถสร้างแอปพลิเคชันที่ซับซ้อนได้จากสัญญาที่มีการโต้ตอบหลายสัญญา แทนที่จะเป็นโปรแกรมแบบเสาหิน
กลไกของแก๊สมีความสำคัญอย่างยิ่งในการป้องกันการละเมิด: ทุกขั้นตอนการคำนวณ การดำเนินการจัดเก็บ และไบต์ข้อมูลในธุรกรรมต้องใช้แก๊ส หากธุรกรรมหมดก๊าซก่อนที่จะเสร็จสิ้น การเปลี่ยนแปลงสถานะทั้งหมดจะถูกคืนค่า (ยกเว้นการจ่ายก๊าซให้กับผู้ขุด) ป้องกันไม่ให้ลูปไม่สิ้นสุดหรือการคำนวณมากเกินไปทำให้เครือข่ายหยุดชะงัก ผู้ส่งระบุทั้งงบประมาณก๊าซทั้งหมด (STARTGAS) และราคาที่พวกเขายินดีจ่ายต่อหน่วย (GASPRICE) และก๊าซที่ไม่ได้ใช้จะได้รับคืนหลังจากการดำเนินการเสร็จสิ้น
Messages and Transactions
Transaktionen in Ethereum sind signierte Datenpakete, die von extern kontrollierten Konten erstellt und an das Netzwerk gesendet werden. Eine Transaktion enthaelt die Empfaengeradresse, eine kryptographische Signatur, die die Identitaet des Absenders beweist, die Menge an Ether zur Uebertragung, ein optionales Datenfeld (entscheidend fuer die Interaktion mit Vertraegen), STARTGAS (die maximale Anzahl von Berechnungsschritten, die die Transaktion durchfuehren darf) und GASPRICE (die Gebuehr pro Berechnungsschritt, die der Absender zu zahlen bereit ist). Miner sammeln diese Transaktionen, validieren sie, fuehren sie aus und nehmen sie in Bloecke auf, wobei sie die Gas-Gebuehren als Verguetung erhalten.
Nachrichten sind konzeptionell aehnlich wie Transaktionen, werden aber von Vertraegen statt von externen Akteuren erzeugt. Wenn der Code eines Vertrags ausgefuehrt wird, kann er Nachrichten an andere Vertraege senden — diese internen Nachrichten enthalten den Absender (die Vertragsadresse), den Empfaenger, eine Menge Ether zur Uebertragung, eine optionale Datennutzlast und ein STARTGAS-Limit. Nachrichten ermoeglichen die Vertrag-zu-Vertrag-Kommunikation und erlauben den Aufbau komplexer Anwendungen aus mehreren interagierenden Vertraegen statt aus monolithischen Programmen.
Der Gas-Mechanismus ist entscheidend zur Verhinderung von Missbrauch: Jeder Berechnungsschritt, jede Speicheroperation und jedes Datenbyte in einer Transaktion verbraucht Gas. Wenn einer Transaktion vor der Fertigstellung das Gas ausgeht, werden alle Zustandsaenderungen rueckgaengig gemacht (ausser der Gas-Zahlung an den Miner), was verhindert, dass Endlosschleifen oder uebermassige Berechnungen das Netzwerk lahmlegen. Der Absender gibt sowohl das gesamte Gas-Budget (STARTGAS) als auch den Preis an, den er pro Einheit zu zahlen bereit ist (GASPRICE), und ungenutztes Gas wird nach Abschluss der Ausfuehrung erstattet.
Ethereum State Transition Function
ฟังก์ชันการเปลี่ยนสถานะ Ethereum ใช้(S,TX) - S' กำหนดวิธีที่ธุรกรรมแปลงสถานะบล็อกเชน และเป็นไปตามลำดับขั้นตอนที่แม่นยำ ขั้นแรก ระบบจะตรวจสอบความถูกต้องของธุรกรรม: การตรวจสอบความถูกต้องของลายเซ็น การยืนยัน nonce ตรงกับบัญชี nonce ของผู้ส่ง และทำให้มั่นใจว่าผู้ส่งมียอดคงเหลือเพียงพอที่จะชำระค่าใช้จ่ายล่วงหน้า (STARTGAS × GASPRICE บวกมูลค่าที่ส่ง) หากการตรวจสอบล้มเหลว ธุรกรรมจะถูกปฏิเสธก่อนเริ่มดำเนินการ หากถูกต้อง ค่าธรรมเนียมการทำธุรกรรมจะถูกหักออกจากบัญชีของผู้ส่ง nonce ของผู้ส่งจะเพิ่มขึ้น และตัวนับก๊าซเริ่มต้นจะถูกตั้งค่าเป็น STARTGAS ลบค่าธรรมเนียมต่อไบต์สำหรับข้อมูลธุรกรรม

จากนั้นระบบจะโอนค่าอีเธอร์ที่ระบุจากผู้ส่งไปยังผู้รับ หากผู้รับเป็นบัญชีภายนอก การทำธุรกรรมจะเสร็จสมบูรณ์ หากผู้รับเป็นบัญชีสัญญา รหัสของสัญญาจะทำงานใน Ethereum Virtual Machine ซึ่งใช้แก๊สในการดำเนินการแต่ละครั้งจนกว่ารหัสจะเสร็จสมบูรณ์สำเร็จ รหัสหยุดลงอย่างชัดเจน หรือแก๊สหมด ในระหว่างการดำเนินการ สัญญาสามารถอ่านและแก้ไขพื้นที่เก็บข้อมูล ส่งข้อความไปยังสัญญาอื่น และสร้างสัญญาใหม่ได้
สุดท้ายนี้ หากการถ่ายโอนค่าล้มเหลว (ยอดคงเหลือไม่เพียงพอ) หรือการดำเนินการโค้ดล้มเหลว (แก๊สหมดหรือเกิดข้อผิดพลาด) การเปลี่ยนแปลงสถานะทั้งหมดจะถูกคืนกลับ ยกเว้นว่าผู้ส่งยังคงจ่ายค่าธรรมเนียมก๊าซให้กับนักขุดสำหรับการคำนวณที่ดำเนินการ หากการดำเนินการสำเร็จ ก๊าซที่เหลือจะถูกคืนให้กับผู้ส่ง และก๊าซที่ใช้ไปจะถูกส่งไปยังนักขุดโดยมีค่าธรรมเนียม กลไกนี้ช่วยให้แน่ใจว่านักขุดได้รับการชดเชยสำหรับการคำนวณ ในขณะเดียวกันก็ป้องกันการดำเนินการแบบควบคุมไม่ได้จากการใช้ทรัพยากรที่ไม่จำกัด
Ethereum State Transition Function
Die Ethereum-Zustandsuebergangsfunktion APPLY(S,TX) - S' definiert, wie eine Transaktion den Blockchain-Zustand transformiert, und folgt einer praezisen Abfolge von Schritten. Zuerst prueft das System die Transaktionsgueltigkeit: Es verifiziert die Korrektheit der Signatur, bestaetigt, dass die Nonce mit der Konto-Nonce des Absenders uebereinstimmt, und stellt sicher, dass der Absender ueber ausreichendes Guthaben verfuegt, um die Vorabkosten zu bezahlen (STARTGAS x GASPRICE plus den gesendeten Wert). Wenn eine Pruefung fehlschlaegt, wird die Transaktion vor Beginn der Ausfuehrung abgelehnt. Bei Gueltigkeit werden die Transaktionsgebuehren vom Konto des Absenders abgezogen, die Nonce des Absenders wird erhoeht, und ein anfaenglicher Gas-Zaehler wird auf STARTGAS minus einer Pro-Byte-Gebuehr fuer die Transaktionsdaten gesetzt.

Als Naechstes uebertraegt das System den angegebenen Ether-Wert vom Absender an den Empfaenger. Wenn der Empfaenger ein extern kontrolliertes Konto ist, wird die Transaktion damit abgeschlossen. Wenn der Empfaenger ein Vertragskonto ist, wird der Code des Vertrags in der Ethereum Virtual Machine ausgefuehrt, wobei fuer jede Operation Gas verbraucht wird, bis entweder der Code erfolgreich abgeschlossen wird, der Code explizit anhaelt oder das Gas aufgebraucht ist. Waehrend der Ausfuehrung kann der Vertrag seinen Speicher lesen und aendern, Nachrichten an andere Vertraege senden und neue Vertraege erstellen.
Schliesslich werden, wenn die Wertuebertragung fehlgeschlagen ist (unzureichendes Guthaben) oder die Code-Ausfuehrung fehlgeschlagen ist (Gas aufgebraucht oder Fehler aufgetreten), alle Zustandsaenderungen rueckgaengig gemacht — mit der Ausnahme, dass der Absender immer noch Gas-Gebuehren an den Miner fuer die durchgefuehrte Berechnung zahlt. Bei erfolgreicher Ausfuehrung wird das verbleibende Gas an den Absender erstattet, und das verbrauchte Gas wird als Gebuehr an den Miner gesendet. Dieser Mechanismus stellt sicher, dass Miner fuer Berechnungen entschaedigt werden, waehrend unkontrollierte Ausfuehrung daran gehindert wird, unbegrenzte Ressourcen zu verbrauchen.
Code Execution
Ethereum Virtual Machine (EVM) คือสภาพแวดล้อมรันไทม์ที่โค้ดสัญญาดำเนินการ ซึ่งเป็นเครื่องเสมือนแบบสแต็กระดับต่ำซึ่งมีแนวคิดคล้ายกับ Java Virtual Machine หรือ WebAssembly รหัสสัญญาจะถูกจัดเก็บเป็นลำดับไบต์ โดยแต่ละไบต์แสดงถึงการดำเนินการ (opcode) ที่ EVM สามารถดำเนินการได้ โมเดลการดำเนินการนั้นจงใจเรียบง่ายและกำหนดไว้ได้: ทุกโหนดที่ใช้งาน EVM ด้วยสถานะอินพุตและธุรกรรมเดียวกันจะต้องมาถึงที่สถานะเอาต์พุตเดียวกัน เพื่อให้แน่ใจว่าได้รับความเห็นพ้องต้องกันทั่วทั้งเครือข่าย
EVM มีพื้นที่จัดเก็บข้อมูลสามประเภทที่แตกต่างกันสำหรับการคำนวณ สแต็กเป็นโครงสร้างเข้าก่อนออกก่อน (LIFO) ซึ่งจำกัดอยู่ที่ 1,024 องค์ประกอบ ซึ่งใช้สำหรับค่าการดำเนินการทันที หน่วยความจำคืออาร์เรย์ไบต์ที่ขยายได้ไม่จำกัด ซึ่งจะคงอยู่ในช่วงเวลาของการเรียกข้อความเดียวเท่านั้น และจะถูกรีเซ็ตระหว่างการประมวลผล พื้นที่จัดเก็บข้อมูลคือการจัดเก็บคีย์-ค่าถาวรที่เชื่อมโยงอย่างถาวรกับบัญชีสัญญาแต่ละบัญชี โดยที่สัญญาจะรักษาสถานะระยะยาวของธุรกรรมต่างๆ ประเภทพื้นที่จัดเก็บข้อมูลเหล่านี้มีราคาแตกต่างกันในการดำเนินการแบบแก๊ส สแต็กและการดำเนินการหน่วยความจำมีราคาถูก ในขณะที่การดำเนินการพื้นที่จัดเก็บข้อมูลมีราคาแพงเพื่อป้องกันการบวมของบล็อกเชน
ในระหว่างการดำเนินการ รหัสสัญญาจะสามารถเข้าถึงบริบทที่สำคัญได้: สามารถอ่านที่อยู่ของผู้ส่งข้อความ จำนวนอีเทอร์ที่ส่ง เพย์โหลดข้อมูลที่ผู้โทรให้มา และคุณสมบัติระดับบล็อก เช่น หมายเลขบล็อกปัจจุบัน การประทับเวลา และที่อยู่ของนักขุด รหัสสามารถส่งคืนอาร์เรย์ไบต์เอาท์พุตไปยังผู้เรียกและสามารถส่งข้อความไปยังสัญญาอื่นหรือสร้างสัญญาใหม่ได้ โมเดลการดำเนินการนี้เป็นแบบทัวริงที่สมบูรณ์ โดยสามารถวนลูปและโฟลว์การควบคุมที่ซับซ้อนได้ แต่กลไกของแก๊สช่วยให้มั่นใจได้ว่าการคำนวณทั้งหมดยุติในเวลาที่กำหนด แก้ปัญหาการหยุดชะงักในเชิงเศรษฐกิจ แทนที่จะใช้ข้อจำกัดด้านภาษา
Code Execution
Die Ethereum Virtual Machine (EVM) ist die Laufzeitumgebung, in der Vertragscode ausgefuehrt wird — eine niedrigstufige, stapelbasierte virtuelle Maschine, die konzeptionell der Java Virtual Machine oder WebAssembly aehnelt. Vertragscode wird als Byte-Sequenz gespeichert, wobei jedes Byte eine Operation (Opcode) darstellt, die die EVM ausfuehren kann. Das Ausfuehrungsmodell ist bewusst einfach und deterministisch: Jeder Knoten, der die EVM mit demselben Eingabezustand und derselben Transaktion ausfuehrt, muss zum selben Ausgabezustand gelangen, was Konsens im Netzwerk gewaehrleistet.
Die EVM stellt drei verschiedene Speichertypen fuer Berechnungen bereit. Der Stapel ist eine Last-In-First-Out (LIFO)-Struktur, die auf 1024 Elemente begrenzt ist und fuer unmittelbare Operationswerte verwendet wird. Der Arbeitsspeicher ist ein unendlich erweiterbares Byte-Array, das nur fuer die Dauer eines einzelnen Nachrichtenaufrufs besteht und zwischen Ausfuehrungen zurueckgesetzt wird. Der Speicher ist der persistente Schluessel-Wert-Speicher, der dauerhaft mit jedem Vertragskonto verbunden ist und in dem Vertraege ihren langfristigen Zustand ueber Transaktionen hinweg pflegen. Diese Speichertypen werden unterschiedlich in Gas bepreist — Stapel- und Arbeitsspeicheroperationen sind guenstig, waehrend Speicheroperationen teuer sind, um ein Aufblaehen der Blockchain zu verhindern.
Waehrend der Ausfuehrung hat Vertragscode Zugriff auf entscheidenden Kontext: Er kann die Adresse des Nachrichtenabsenders lesen, die Menge des gesendeten Ethers, die vom Aufrufer bereitgestellte Datennutzlast und Block-Level-Eigenschaften wie die aktuelle Blocknummer, den Zeitstempel und die Miner-Adresse. Der Code kann ein Ausgabe-Byte-Array an den Aufrufer zurueckgeben und kann Nachrichten an andere Vertraege senden oder neue Vertraege erstellen. Dieses Ausfuehrungsmodell ist Turing-vollstaendig — Schleifen und komplexer Kontrollfluss sind moeglich — aber der Gas-Mechanismus stellt sicher, dass alle Berechnungen in begrenzter Zeit terminieren und loest das Halteproblem oekonomisch statt durch Spracheinschraenkungen.
Blockchain and Mining
บล็อกเชน Ethereum มีพื้นฐานคล้ายคลึงกับ Bitcoin โดยทำหน้าที่เป็นฐานข้อมูลที่รวบรวมทุกธุรกรรมที่เคยดำเนินการ อย่างไรก็ตาม แม้ว่า Bitcoin จะจัดเก็บเฉพาะรายการธุรกรรม แต่ Ethereum จะจัดเก็บทั้งรายการธุรกรรมและสถานะล่าสุด แต่ละบล็อกใน Ethereum ประกอบด้วยแฮชของบล็อกก่อนหน้า สถานะรูท (แฮชรูทของ Merkle Patricia trie ที่เป็นตัวแทนของสถานะทั้งหมด) รูทของธุรกรรม รูทการรับ (จัดเก็บข้อมูลจากการดำเนินการของธุรกรรม) พร้อมด้วยความยาก การประทับเวลา และค่า nonce รัฐนั้นเป็น Merkle Patricia ขนาดใหญ่ที่พยายามแมปที่อยู่กับออบเจ็กต์บัญชี โดยที่แต่ละบัญชีมียอดคงเหลือ nonce รหัส (ถ้ามี) และพื้นที่เก็บข้อมูล

Ethereum ใช้เวอร์ชันแก้ไขของโปรโตคอล GHOST (Greedy Heaviest Observed Subtree) เพื่อแก้ไขปัญหาด้านความปลอดภัยที่เกิดจากเวลาบล็อกที่รวดเร็ว ในโปรโตคอลแบบสายโซ่ที่ยาวที่สุดแบบดั้งเดิม การบล็อกที่รวดเร็วทำให้เกิดอัตราการเก่าสูง ลดความปลอดภัยของเครือข่าย และเพิ่มความเสี่ยงจากการรวมศูนย์ เนื่องจากนักขุดรายใหญ่เสียการประมวลผลที่เก่าน้อยลง GHOST รวมบล็อกเก่า (เรียกว่า "ลุง" ใน Ethereum) ในการคำนวณว่าเชนใดยาวที่สุด และมอบรางวัลบางส่วนให้กับบล็อกลุง จูงใจนักขุดให้อ้างอิงถึงบล็อกเหล่านั้น ซึ่งช่วยให้ Ethereum สามารถรักษาเวลาบล็อกเป้าหมายได้ประมาณ 12 วินาที โดยยังคงรักษาความปลอดภัยของเครือข่ายไว้
อัลกอริธึมการขุดทำงานคล้ายกับ proof-of-work ของ Bitcoin โดยกำหนดให้นักขุดค้นหา nonce เพื่อให้แฮชของบล็อกอยู่ต่ำกว่าเป้าหมายความยากที่แน่นอน อย่างไรก็ตาม อัลกอริธึมการขุดด้วยหน่วยความจำอย่างหนัก (Ethash) ของ Ethereum ได้รับการออกแบบมาให้ทนทานต่อ ASIC โดยส่งเสริมระบบนิเวศการขุดแบบกระจายอำนาจมากขึ้น ความยากจะปรับเปลี่ยนแบบไดนามิกตามเวลาบล็อกเพื่อรักษาเป้าหมาย ~12 วินาที เพื่อให้มั่นใจว่าการผลิตบล็อกมีความสม่ำเสมอ ในขณะที่โปรโตคอล GHOST ให้การรับประกันความปลอดภัย แม้ว่าเวลาบล็อกจะเร็วกว่าเมื่อเทียบกับค่าเฉลี่ย 10 นาทีของ Bitcoin
Blockchain and Mining
Die Ethereum-Blockchain ist grundsaetzlich aehnlich wie die von Bitcoin und dient als Datenbank, die jede jemals ausgefuehrte Transaktion enthaelt. Waehrend Bitcoin jedoch nur eine Transaktionsliste speichert, speichert Ethereum sowohl die Transaktionsliste als auch den aktuellsten Zustand. Jeder Block in Ethereum enthaelt den Hash des vorherigen Blocks, eine Zustandswurzel (den Wurzel-Hash des Merkle-Patricia-Tries, der den gesamten Zustand repraesentiert), eine Transaktionswurzel, eine Quittungswurzel (die Daten aus der Transaktionsausfuehrung speichert) sowie Schwierigkeits-, Zeitstempel- und Nonce-Werte. Der Zustand selbst ist ein grosser Merkle-Patricia-Trie, der Adressen auf Kontoobjekte abbildet, wobei jedes Konto ein Guthaben, eine Nonce, Code (falls vorhanden) und Speicher hat.

Ethereum verwendet eine modifizierte Version des GHOST-Protokolls (Greedy Heaviest Observed Subtree), um Sicherheitsprobleme zu adressieren, die durch schnelle Blockzeiten entstehen. In traditionellen Laengste-Kette-Protokollen fuehren schnelle Bloecke zu hohen Veralterungsraten, was die Netzwerksicherheit verringert und Zentralisierungsrisiken erhoeht, da grosse Miner weniger Berechnung durch veraltete Bloecke verschwenden. GHOST bezieht veraltete Bloecke (in Ethereum "Onkel" genannt) in die Berechnung ein, welche Kette die laengste ist, und bietet teilweise Belohnungen fuer Onkel-Bloecke, was Miner ermutigt, diese zu referenzieren. Dies ermoeglicht es Ethereum, eine Ziel-Blockzeit von etwa 12 Sekunden beizubehalten und gleichzeitig die Netzwerksicherheit zu erhalten.
Der Mining-Algorithmus funktioniert aehnlich wie Bitcoins Proof-of-Work und erfordert, dass Miner eine Nonce finden, bei der der Hash des Blocks unter einem bestimmten Schwierigkeitsziel liegt. Allerdings ist Ethereums speicherintensiver Mining-Algorithmus (Ethash) darauf ausgelegt, ASIC-resistent zu sein und ein staerker dezentralisiertes Mining-Oekosystem zu foerdern. Die Schwierigkeit passt sich dynamisch basierend auf Blockzeiten an, um das Ziel von ~12 Sekunden beizubehalten, was eine konsistente Blockproduktion sicherstellt, waehrend das GHOST-Protokoll Sicherheitsgarantien trotz der schnelleren Blockzeiten im Vergleich zu Bitcoins durchschnittlichen 10 Minuten bietet.
Applications
แอปพลิเคชันที่สามารถสร้างได้บน Ethereum แบ่งออกเป็นสามประเภทกว้างๆ หมวดหมู่แรกคือแอปพลิเคชันทางการเงิน ที่ให้วิธีที่มีประสิทธิภาพมากขึ้นแก่ผู้ใช้ในการจัดการและเข้าทำสัญญาที่เกี่ยวข้องกับเงินของพวกเขา ซึ่งรวมถึงสกุลเงินย่อย อนุพันธ์ทางการเงิน สัญญาป้องกันความเสี่ยง กระเป๋าเงินออมที่มีขีดจำกัดการถอน พินัยกรรมที่กระจายเงินโดยอัตโนมัติ และแม้แต่สัญญาการจ้างงานที่คำนวณการชำระเงินตามความสำเร็จของงานที่ตรวจสอบแล้ว แอปพลิเคชันเหล่านี้ใช้ประโยชน์จากความสามารถในการตั้งโปรแกรมของ Ethereum เพื่อสร้างเครื่องมือทางการเงินที่ซับซ้อนซึ่งเป็นไปไม่ได้หรือยากอย่างยิ่งที่จะนำไปใช้ในระบบดั้งเดิมหรือแม้แต่บน Bitcoin
ประเภทที่สองคือการสมัครกึ่งการเงิน ซึ่งเกี่ยวข้องกับเงิน แต่ก็มีองค์ประกอบที่ไม่เป็นตัวเงินที่สำคัญสำหรับสิ่งที่กำลังทำอยู่ ตัวอย่างที่สมบูรณ์แบบคือการบังคับใช้ค่าหัวด้วยตนเองสำหรับการแก้ปัญหาทางคอมพิวเตอร์ บางคนสามารถโพสต์ปัญหาด้านการคำนวณพร้อมกับรางวัล และสัญญาสามารถตรวจสอบวิธีแก้ปัญหาที่ส่งมาได้โดยอัตโนมัติ และจ่ายเงินรางวัลให้กับคำตอบที่ถูกต้องคนแรก หมวดหมู่นี้เชื่อมโยงการเงินที่บริสุทธิ์และโดเมนอื่นๆ โดยใช้สิ่งจูงใจทางเศรษฐกิจเพื่อแก้ไขปัญหาหรือประสานพฤติกรรม
หมวดหมู่ที่สามคือแอปพลิเคชันที่ไม่เกี่ยวข้องกับเงินเลย เช่น การลงคะแนนออนไลน์ และระบบการกำกับดูแลแบบกระจายอำนาจ แอปพลิเคชันที่ไม่ใช่ทางการเงินเหล่านี้แสดงให้เห็นถึงความยืดหยุ่นของ Ethereum ในฐานะแพลตฟอร์มอเนกประสงค์ ตัวอย่างได้แก่ ระบบชื่อโดเมนแบบกระจายอำนาจ เช่น Namecoin ระบบชื่อเสียง พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจ และเครื่องมือการกำกับดูแลองค์กร ในบรรดาแอปพลิเคชันประเภทเหล่านี้ ระบบโทเค็นได้กลายเป็นระบบพื้นฐานและเป็นพื้นฐานที่สุด โดยทำหน้าที่เป็นองค์ประกอบหลักสำหรับแอปพลิเคชันอื่นๆ มากมาย
Applications
Die Anwendungen, die auf Ethereum aufgebaut werden koennen, fallen in drei breite Kategorien. Die erste Kategorie sind Finanzanwendungen, die Benutzern leistungsfaehigere Moeglichkeiten bieten, ihr Geld zu verwalten und Vertraege abzuschliessen. Dazu gehoeren Sub-Waehrungen, Finanzderivate, Absicherungsvertraege, Sparwallets mit Abhebungslimits, Testamente, die Gelder automatisch verteilen, und sogar Arbeitsvertraege, die Zahlungen basierend auf verifizierter Arbeitserfuellung berechnen. Diese Anwendungen nutzen die Programmierbarkeit von Ethereum, um komplexe Finanzinstrumente zu schaffen, die in traditionellen Systemen oder sogar auf Bitcoin unmoeglich oder extrem schwierig zu implementieren waeren.
Die zweite Kategorie sind halbfinanzielle Anwendungen, bei denen Geld involviert ist, aber auch eine wesentliche nicht-monetaere Komponente vorhanden ist. Ein perfektes Beispiel sind selbstdurchsetzende Kopfgelder fuer Loesungen von Berechnungsproblemen. Jemand koennte ein Berechnungsproblem zusammen mit einer Belohnung veroeffentlichen, und der Vertrag koennte eingereichte Loesungen automatisch verifizieren und das Kopfgeld an die erste korrekte Antwort auszahlen. Diese Kategorie verbindet reine Finanzen mit anderen Bereichen und nutzt wirtschaftliche Anreize zur Problemloesung oder Verhaltenskoordination.
Die dritte Kategorie sind Anwendungen, die ueberhaupt nichts mit Geld zu tun haben, wie Online-Abstimmungen und dezentrale Governance-Systeme. Diese nicht-finanziellen Anwendungen demonstrieren Ethereums Flexibilitaet als universelle Plattform. Beispiele umfassen dezentrale Domain-Namen-Systeme wie Namecoin, Reputationssysteme, dezentraler Dateispeicher und organisatorische Governance-Werkzeuge. Von all diesen Anwendungstypen haben sich Token-Systeme als die verbreitetsten und grundlegendsten herausgestellt und dienen als Bausteine fuer viele andere Anwendungen.
Token Systems
ระบบโทเค็นนั้นตรงไปตรงมาอย่างน่าประหลาดใจที่จะนำไปใช้กับ Ethereum แม้จะเป็นหนึ่งในแอปพลิเคชันที่ทรงพลังและธรรมดาที่สุดก็ตาม ที่แกนหลัก ระบบโทเค็นเป็นเพียงฐานข้อมูลที่มีการดำเนินการเพียงครั้งเดียว: ลบหน่วย X ออกจากบัญชี A และเพิ่มหน่วย X ไปยังบัญชี B โดยมีเงื่อนไขว่า A มีหน่วยอย่างน้อย X ก่อนการทำธุรกรรมและธุรกรรมได้รับอนุญาตจาก A การนำไปใช้งานจำเป็นต้องมีการดูแลรักษาการแมปที่อยู่เพื่อสร้างยอดคงเหลือ และจัดเตรียมฟังก์ชันการถ่ายโอนที่ดำเนินการตรวจสอบที่เหมาะสมก่อนที่จะย้ายโทเค็นระหว่างบัญชี
รหัสสัญญาสำหรับระบบโทเค็นพื้นฐานนั้นเรียบง่ายอย่างน่าทึ่งและสามารถเขียนได้เพียงไม่กี่บรรทัด ประกอบด้วยที่อยู่การจับคู่โครงสร้างข้อมูลกับยอดคงเหลือ ฟังก์ชันการเริ่มต้นที่กำหนดการจ่ายโทเค็นเริ่มต้น และฟังก์ชันการถ่ายโอนที่จะตรวจสอบยอดคงเหลือและการอนุญาตของผู้ส่งก่อนดำเนินการถ่ายโอน ความเรียบง่ายนี้แตกต่างโดยสิ้นเชิงกับความซับซ้อนที่จำเป็นในการใช้งานระบบที่คล้ายกันบน Bitcoin ซึ่งจะต้องใช้วิธีแก้ปัญหาและข้อจำกัดที่สำคัญ เนื่องจากความสามารถในการเขียนสคริปต์ที่จำกัดของ Bitcoin
โทเค็นบน Ethereum สามารถเป็นตัวแทนอะไรก็ได้ที่มีมูลค่า ซึ่งอาจเป็นตัวแทนของสกุลเงินย่อยที่มีนโยบายการเงินของตนเอง อนุพันธ์ทางการเงินที่ติดตามสินทรัพย์ภายนอก หุ้นบริษัทที่มีสิทธิ์ในการจ่ายเงินปันผล คะแนนความภักดีในโปรแกรมของลูกค้า สินค้าโภคภัณฑ์ เช่น ทองคำหรือน้ำมัน หรือแม้แต่การนำเสนอทรัพย์สินทางกายภาพ ความสามารถในการตั้งโปรแกรมของ Ethereum ช่วยให้โทเค็นเหล่านี้มีกฎที่กำหนดเองซึ่งควบคุมพฤติกรรม เช่น ข้อจำกัดในการโอน กลไกการเบิร์นอัตโนมัติ การจ่ายเงินปันผล หรือสิทธิ์ในการกำกับดูแล ความยืดหยุ่นนี้ทำให้ระบบโทเค็นเป็นองค์ประกอบพื้นฐานสำหรับระบบนิเวศส่วนใหญ่ของ Ethereum
Token Systems
Token-Systeme sind ueberraschend einfach auf Ethereum zu implementieren, obwohl sie eine der leistungsfaehigsten und verbreitetsten Anwendungen darstellen. Im Kern sind Token-Systeme einfach eine Datenbank mit einer einzigen Operation: X Einheiten von Konto A abziehen und X Einheiten zu Konto B hinzufuegen, unter der Bedingung, dass A vor der Transaktion mindestens X Einheiten hatte und die Transaktion von A autorisiert ist. Die Implementierung erfordert die Pflege einer Zuordnung von Adressen zu Guthaben und die Bereitstellung einer Transfer-Funktion, die die entsprechenden Pruefungen durchfuehrt, bevor Token zwischen Konten verschoben werden.
Der Vertragscode fuer ein grundlegendes Token-System ist bemerkenswert einfach und kann in nur wenigen Zeilen geschrieben werden. Er besteht aus einer Datenstruktur, die Adressen auf Guthaben abbildet, einer Initialisierungsfunktion, die den anfaenglichen Token-Vorrat zuweist, und einer Transfer-Funktion, die das Guthaben und die Autorisierung des Absenders prueft, bevor der Transfer ausgefuehrt wird. Diese Einfachheit steht in starkem Kontrast zur Komplexitaet, die fuer die Implementierung aehnlicher Systeme auf Bitcoin erforderlich waere, was erhebliche Umgehungsloesungen und Einschraenkungen aufgrund der begrenzten Skriptfaehigkeiten von Bitcoin erfordern wuerde.
Token auf Ethereum koennen praktisch alles von Wert repraesentieren. Sie koennten Sub-Waehrungen mit eigener Geldpolitik repraesentieren, Finanzderivate, die externe Vermoegenswerte verfolgen, Unternehmensanteile mit Dividendenrechten, Treuepunkte in Kundenprogrammen, Rohstoffe wie Gold oder Oel, oder sogar Darstellungen von physischem Eigentum. Die Programmierbarkeit von Ethereum erlaubt es diesen Token, beliebige Regeln fuer ihr Verhalten zu haben, wie Transferbeschraenkungen, automatische Vernichtungsmechanismen, Dividendenverteilungen oder Governance-Rechte. Diese Flexibilitaet hat Token-Systeme zum grundlegenden Baustein fuer einen Grossteil des Ethereum-Oekosystems gemacht.
Financial Derivatives and Stable-Value Currencies
อนุพันธ์ทางการเงินเป็นหนึ่งในการใช้งานพื้นฐานและสำคัญที่สุดของสัญญาอัจฉริยะ Ethereum สัญญาป้องกันความเสี่ยงแบบง่ายๆ สาธิตกลไกพื้นฐาน: ฝ่าย A ฝากเงินอีเทอร์จำนวนหนึ่งมูลค่า 1,000 ดอลลาร์ ฝ่าย B ฝากเงินในจำนวนที่เท่ากัน และสัญญาจะบันทึกมูลค่าอีเทอร์ USD ในขณะนั้นโดยใช้ฟีดข้อมูล หลังจากผ่านไป 30 วัน สัญญาจะคำนวณมูลค่าใหม่และส่งอีเทอร์มูลค่า 1,000 ดอลลาร์ให้กับ A และส่วนที่เหลือให้กับ B หากราคาของอีเทอร์เพิ่มขึ้น A จะได้รับอีเทอร์น้อยลงแต่จะคงมูลค่า 1,000 ดอลลาร์ไว้ ถ้ามันตกลงไป A จะได้รับอีเธอร์มากขึ้นเพื่อรักษามูลค่านั้น สิ่งนี้ทำให้ A ป้องกันความเสี่ยงจากความผันผวน ในขณะที่ B เก็งกำไรจากการเคลื่อนไหวของราคา
การดำเนินการตามสัญญาดังกล่าวจำเป็นต้องมีการเข้าถึงข้อมูลภายนอกผ่านสัญญาของ Oracle หรือฟีดข้อมูล ออราเคิลเหล่านี้ให้ข้อมูลราคา ข้อมูลสภาพอากาศ หรือข้อมูลในโลกแห่งความเป็นจริงอื่นๆ ที่สัญญาจำเป็นต้องดำเนินการอย่างถูกต้อง แม้ว่า Oracles จะแนะนำการพึ่งพาความน่าเชื่อถือ แต่ก็สามารถออกแบบโดยมีความซ้ำซ้อนและแรงจูงใจทางเศรษฐกิจแบบเข้ารหัสเพื่อให้ข้อมูลที่เชื่อถือได้ สัญญาเพียงสอบถาม Oracle ทำการคำนวณตามข้อมูลนั้น และกระจายเงินทุนตามตรรกะที่ตั้งโปรแกรมไว้
Stablecoins และเครื่องมือทางการเงินที่ซับซ้อนมากขึ้นสามารถสร้างได้โดยใช้กลไกที่คล้ายกัน สัญญา Stablecoin อาจรักษาปริมาณสำรองของ Ether และออกโทเค็นที่ผูกกับสกุลเงินคำสั่ง โดยจะปรับข้อกำหนดด้านอุปทานหรือหลักประกันโดยอัตโนมัติตามฟีดราคา สัญญาออปชั่น ฟิวเจอร์ส สวอป และอนุพันธ์อื่นๆ ที่ปกติต้องใช้กรอบกฎหมายที่ซับซ้อนและตัวกลางที่เชื่อถือได้ สามารถเข้ารหัสเป็นสัญญาอัจฉริยะที่ดำเนินการด้วยตนเองแทนได้ โครงสร้างพื้นฐานทางการเงินที่ตั้งโปรแกรมได้นี้ช่วยให้วิศวกรรมทางการเงินมีความซับซ้อน ในขณะเดียวกันก็รักษาความโปร่งใสและการรับประกันความปลอดภัยของเทคโนโลยีบล็อคเชน
Financial Derivatives and Stable-Value Currencies
Finanzderivate stellen eine der grundlegendsten und wichtigsten Anwendungen von Ethereum Smart Contracts dar. Ein einfacher Absicherungsvertrag demonstriert den grundlegenden Mechanismus: Partei A hinterlegt eine bestimmte Menge Ether im Wert von 1000 \(, Partei B hinterlegt einen aequivalenten Betrag, und der Vertrag zeichnet den USD-Wert von Ether zu diesem Zeitpunkt ueber einen Datenfeed auf. Nach 30 Tagen berechnet der Vertrag den Wert neu und sendet Ether im Wert von 1000 \) an A und den Rest an B. Wenn der Preis von Ether gestiegen ist, erhaelt A weniger Ether, behaelt aber den Wert von 1000 $; wenn er gefallen ist, erhaelt A mehr Ether, um diesen Wert zu erhalten. Dies ermoeglicht es A, sich gegen Volatilitaet abzusichern, waehrend B auf Preisbewegungen spekuliert.
Die Implementierung solcher Vertraege erfordert Zugang zu externen Daten ueber Oracle-Vertraege oder Datenfeeds. Diese Orakel liefern Preisinformationen, Wetterdaten oder andere reale Informationen, die Vertraege fuer die korrekte Ausfuehrung benoetigen. Waehrend Orakel eine Vertrauensabhaengigkeit einfuehren, koennen sie mit Redundanz und kryptooekonomischen Anreizen gestaltet werden, um zuverlaessige Daten bereitzustellen. Der Vertrag selbst fragt einfach das Orakel ab, fuehrt Berechnungen basierend auf diesen Daten durch und verteilt Gelder gemaess seiner programmierten Logik.
Stablecoins und komplexere Finanzinstrumente koennen mit aehnlichen Mechanismen aufgebaut werden. Ein Stablecoin-Vertrag koennte eine Ether-Reserve halten und Token ausgeben, die an eine Fiat-Waehrung gekoppelt sind, wobei Angebot oder Sicherheitenanforderungen automatisch basierend auf Preisfeeds angepasst werden. Optionsvertraege, Futures, Swaps und andere Derivate, die normalerweise komplexe rechtliche Rahmenwerke und vertrauenswuerdige Vermittler erfordern wuerden, koennen stattdessen als selbstausfuehrende Smart Contracts kodiert werden. Diese programmierbare Finanzinfrastruktur ermoeglicht anspruchsvolles Financial Engineering bei gleichzeitiger Aufrechterhaltung der Transparenz- und Sicherheitsgarantien der Blockchain-Technologie.
Identity and Reputation Systems
ระบบการลงทะเบียนชื่อที่คล้ายกับ Namecoin สามารถนำไปใช้ได้เพียงเล็กน้อยบน Ethereum และทำหน้าที่เป็นตัวอย่างที่ง่ายที่สุดของระบบการระบุตัวตน สัญญาจะดูแลรักษาฐานข้อมูลที่มีชื่อการแมปตารางคีย์-ค่ากับข้อมูลที่เกี่ยวข้อง (เช่น ที่อยู่ IP คีย์สาธารณะ หรือข้อมูลอื่นๆ) ใครๆ ก็สามารถลงทะเบียนชื่อได้โดยส่งธุรกรรมไปยังสัญญาพร้อมกับค่าธรรมเนียมการลงทะเบียนเล็กน้อย โดยที่ชื่อนั้นยังไม่ได้ถูกนำไปใช้ เจ้าของสามารถอัปเดตข้อมูลที่เกี่ยวข้องได้ตลอดเวลา และชื่อสามารถโอนหรือถาวรได้ตามกฎที่เข้ารหัสในสัญญา
คุณสามารถสร้างระบบการระบุตัวตนขั้นสูงเพิ่มเติมบนรากฐานนี้เพื่อรวมคะแนนชื่อเสียง เว็บของความสัมพันธ์ที่ไว้วางใจ และการยืนยันตัวตนแบบกระจายอำนาจ ตัวอย่างเช่น สัญญาสามารถรักษาคะแนนชื่อเสียงตามธุรกรรมที่ตรวจสอบแล้ว การให้คะแนนโดยผู้ทรงคุณวุฒิ หรือความสมบูรณ์ของงาน คะแนนเหล่านี้จะเปิดเผยต่อสาธารณะและเชื่อมโยงกับที่อยู่เฉพาะด้วยการเข้ารหัส ทำให้เกิดชื่อเสียงแบบพกพาที่ติดตามผู้ใช้ทั่วทั้งแอปพลิเคชัน เว็บของระบบความน่าเชื่อถือสามารถอนุญาตให้ผู้ใช้รับรองตัวตนของผู้อื่น โดยสร้างกราฟทางสังคมที่ช่วยแยกแยะผู้ใช้ที่ถูกกฎหมายออกจากผู้ไม่ประสงค์ดี
ระบบการระบุตัวตนและชื่อเสียงดังกล่าวจะมีประสิทธิภาพเป็นพิเศษเมื่อรวมเข้ากับแอปพลิเคชันอื่นๆ ตลาดอาจต้องมีคะแนนชื่อเสียงขั้นต่ำสำหรับผู้ขาย แพลตฟอร์มสินเชื่อสามารถปรับอัตราดอกเบี้ยตามชื่อเสียงของผู้ยืม หรือเครือข่ายโซเชียลอาจใช้เว็บแห่งความไว้วางใจเพื่อกรองสแปมและเนื้อหาที่ฉ้อโกง ด้วยการจัดหาโครงสร้างพื้นฐานที่ใช้ร่วมกันสำหรับข้อมูลระบุตัวตนที่แอปพลิเคชันใดๆ สามารถตรวจสอบได้ Ethereum จึงเปิดใช้งานแอปพลิเคชันที่อิงความน่าเชื่อถือระดับใหม่ซึ่งไม่ต้องพึ่งพาผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์หรือระบบชื่อเสียงที่เป็นกรรมสิทธิ์
Identity and Reputation Systems
Ein Namensregistrierungssystem aehnlich wie Namecoin ist trivial auf Ethereum implementierbar und dient als einfachstes Beispiel eines Identitaetssystems. Der Vertrag pflegt eine Datenbank mit einer Schluessel-Wert-Tabelle, die Namen zugehoerigen Daten zuordnet (wie IP-Adressen, oeffentliche Schluessel oder andere Informationen). Jeder kann einen Namen registrieren, indem er eine Transaktion an den Vertrag zusammen mit einer kleinen Registrierungsgebuehr sendet, vorausgesetzt, der Name ist noch nicht vergeben. Der Eigentuemer kann die zugehoerigen Daten jederzeit aktualisieren, und Namen koennen entsprechend den im Vertrag kodierten Regeln uebertragbar oder permanent gemacht werden.
Fortgeschrittenere Identitaetssysteme koennen auf dieser Grundlage aufgebaut werden und Reputationsbewertungen, Vertrauensnetzwerk-Beziehungen und dezentrale Identitaetsverifikation umfassen. Beispielsweise koennte ein Vertrag Reputationsbewertungen basierend auf verifizierten Transaktionen, Peer-Bewertungen oder Aufgabenerfuellung pflegen. Diese Bewertungen waeren oeffentlich sichtbar und kryptographisch an bestimmte Adressen gebunden, wodurch eine portable Reputation entsteht, die Benutzer ueber Anwendungen hinweg begleitet. Vertrauensnetzwerk-Systeme koennten es Benutzern ermoeglichen, fuer die Identitaet anderer zu buergen und soziale Graphen aufzubauen, die helfen, legitime Benutzer von boesartigen Akteuren zu unterscheiden.
Solche Identitaets- und Reputationssysteme werden besonders maechtig, wenn sie mit anderen Anwendungen integriert werden. Ein Marktplatz koennte Mindest-Reputationsbewertungen fuer Verkaeufer verlangen, eine Kreditplattform koennte Zinssaetze basierend auf der Reputation des Kreditnehmers anpassen, oder ein soziales Netzwerk koennte das Vertrauensnetzwerk nutzen, um Spam und betruegerische Inhalte zu filtern. Durch die Bereitstellung einer gemeinsamen Infrastruktur fuer Identitaet, die jede Anwendung abfragen kann, ermoeglicht Ethereum eine neue Klasse vertrauensbasierter Anwendungen, die nicht auf zentralisierte Identitaetsanbieter oder proprietaere Reputationssysteme angewiesen sind.
Decentralized File Storage
พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจสามารถดำเนินการผ่านสัญญา Ethereum ที่ประสานงานระหว่างผู้ใช้ที่ต้องการพื้นที่เก็บข้อมูลและผู้ให้บริการที่เสนอพื้นที่ดังกล่าว ในรูปแบบ "Dropbox แบบกระจายอำนาจ" ผู้ใช้จะต้องจ่ายค่าธรรมเนียมรายเดือนในการอัพโหลดไฟล์ โดยสัญญาจะกระจายการชำระเงินให้กับผู้ให้บริการพื้นที่จัดเก็บข้อมูลที่พิสูจน์ได้ว่าพวกเขากำลังจัดเก็บข้อมูลอยู่จริง กลไกการพิสูจน์ทำงานผ่านความท้าทายในการเข้ารหัสเป็นระยะ: สัญญาจะสุ่มเลือกส่วนของไฟล์และขอให้ผู้ให้บริการจัดหาการพิสูจน์ต้นไม้ของ Merkle เพื่อแสดงให้เห็นว่าพวกเขามีข้อมูลนั้น ผู้ให้บริการที่ล้มเหลวในการท้าทายหรือออฟไลน์จะสูญเสียเงินฝากและกระแสการชำระเงินในอนาคต
วิธีการนี้มีข้อดีหลายประการเหนือการจัดเก็บข้อมูลแบบรวมศูนย์ การพิสูจน์ต้นไม้ของ Merkle ช่วยให้การตรวจสอบมีประสิทธิภาพ—ผู้ใช้และสัญญาสามารถยืนยันความพร้อมใช้งานของไฟล์ได้โดยไม่ต้องดาวน์โหลดไฟล์ทั้งหมด ระบบจะกระจายไฟล์ไปยังผู้ให้บริการอิสระหลายรายอย่างเป็นธรรมชาติ สร้างความซ้ำซ้อนโดยไม่ต้องใช้โปรโตคอลการจำลองแบบที่ชัดเจน สิ่งจูงใจทางเศรษฐกิจปรับพฤติกรรมของผู้ให้บริการให้สอดคล้องกับความต้องการของผู้ใช้: ผู้ให้บริการสร้างรายได้จากการจัดเก็บข้อมูลที่เชื่อถือได้ และสูญเสียเงินหากไม่ทำเช่นนั้น ซึ่งช่วยลดข้อกำหนดด้านความน่าเชื่อถือที่มีอยู่ในโซลูชันการจัดเก็บข้อมูลแบบรวมศูนย์
ต้นทุนการจัดเก็บข้อมูลในระบบดังกล่าวอาจต่ำกว่าทางเลือกแบบรวมศูนย์ด้วยเหตุผลหลายประการ การกำจัดการกำหนดราคาแบบผูกขาดทำให้การแข่งขันในตลาดสามารถลดต้นทุนให้ใกล้เคียงกับต้นทุนการจัดเก็บที่แท้จริงได้ ความซ้ำซ้อนโดยนัยจากผู้ใช้หลายรายที่จัดเก็บไฟล์ที่คล้ายกันสามารถลดความต้องการพื้นที่เก็บข้อมูลทั้งหมดได้ ไม่จำเป็นต้องมีโครงสร้างพื้นฐานศูนย์ข้อมูลที่มีราคาแพงหรือค่าใช้จ่ายขององค์กร อย่างไรก็ตาม ความท้าทายยังคงอยู่เกี่ยวกับกลไกการชำระเงิน การรับรองการมีส่วนร่วมของผู้ให้บริการอย่างเพียงพอ และการจัดการการแลกเปลี่ยนระหว่างความซ้ำซ้อนและต้นทุน แม้จะมีความท้าทายเหล่านี้ พื้นที่จัดเก็บข้อมูลแบบกระจายอำนาจแสดงให้เห็นว่า Ethereum สามารถประสานงานการโต้ตอบหลายฝ่ายที่ซับซ้อนผ่านสิ่งจูงใจทางเศรษฐกิจเพียงอย่างเดียวได้อย่างไร
Decentralized File Storage
Dezentraler Dateispeicher kann durch Ethereum-Vertraege implementiert werden, die zwischen Benutzern, die Speicher benoetigen, und Anbietern, die ihn anbieten, koordinieren. In einem Modell einer "dezentralen Dropbox" wuerden Benutzer eine monatliche Gebuehr zahlen, um Dateien hochzuladen, wobei der Vertrag Zahlungen an Speicheranbieter verteilt, die beweisen, dass sie die Daten tatsaechlich speichern. Der Beweismechanismus funktioniert ueber periodische kryptographische Herausforderungen: Der Vertrag waehlt zufaellig Teile von Dateien aus und fordert Anbieter auf, Merkle-Baum-Beweise zu liefern, die belegen, dass sie diese Daten besitzen. Anbieter, die Herausforderungen nicht bestehen oder offline gehen, wuerden ihre Einlagen und zukuenftigen Zahlungsstrom verlieren.
Dieser Ansatz bietet mehrere Vorteile gegenueber zentralisiertem Speicher. Merkle-Baum-Beweise ermoeglichen effiziente Verifizierung — Benutzer und der Vertrag koennen die Dateiverfuegbarkeit bestaetigen, ohne ganze Dateien herunterzuladen. Das System verteilt Dateien natuerlich ueber mehrere unabhaengige Anbieter und schafft Redundanz ohne explizite Replikationsprotokolle. Wirtschaftliche Anreize bringen das Verhalten der Anbieter mit den Beduerfnissen der Benutzer in Einklang: Anbieter verdienen Geld durch zuverlaessige Datenspeicherung und verlieren Geld, wenn sie dies nicht tun. Dies eliminiert die Vertrauensanforderung, die zentralisierten Speicherloesungen inhaeerent ist.
Speicherkosten in einem solchen System koennen potenziell niedriger sein als bei zentralisierten Alternativen aus mehreren Gruenden. Die Beseitigung von Monopolpreisen ermoeglicht es dem Marktwettbewerb, die Kosten nahe an die tatsaechlichen Speicherkosten zu treiben. Implizite Redundanz durch mehrere Benutzer, die aehnliche Dateien speichern, kann den Gesamtspeicherbedarf reduzieren. Es besteht kein Bedarf an teurer Rechenzentrumsinfrastruktur oder Unternehmensgemeinkosten. Allerdings bleiben Herausforderungen bei Zahlungsmechanismen, der Sicherstellung ausreichender Anbieterbeteiligung und dem Management des Kompromisses zwischen Redundanz und Kosten. Trotz dieser Herausforderungen demonstriert dezentraler Speicher, wie Ethereum komplexe Mehparteien-Interaktionen allein durch wirtschaftliche Anreize koordinieren kann.
Decentralized Autonomous Organizations
องค์กรอิสระแบบกระจายอำนาจ (DAO) เป็นนิติบุคคลเสมือนที่มีกลุ่มสมาชิกหรือผู้ถือหุ้นที่มีสิทธิร่วมกันในการใช้เงินทุนของนิติบุคคลและแก้ไขรหัส DAO ทั่วไปดำเนินการด้วยกฎง่ายๆ: สมาชิก 67% จำเป็นต้องตัดสินใจใช้จ่ายหรือแก้ไขรหัสขององค์กร สมาชิกสามารถส่งข้อเสนอ ลงคะแนนเสียง และหากข้อเสนอได้รับการสนับสนุนเพียงพอ สัญญาจะดำเนินการตัดสินใจโดยอัตโนมัติ หุ้นสมาชิกสามารถโอนได้ ทำให้ตลาดมีสภาพคล่องสำหรับการเข้าร่วม DAO และหุ้นประเภทต่างๆ สามารถมีสิทธิในการออกเสียงหรือสิทธิทางเศรษฐกิจที่แตกต่างกัน
การออกแบบ DAO ที่ง่ายที่สุดคือสัญญาที่ปรับเปลี่ยนได้เองซึ่งจะเก็บรักษารายชื่อสมาชิกและต้องใช้คะแนนเสียงข้างมาก 2/3 เพื่อเปลี่ยนแปลงแง่มุมใดๆ ของสัญญา รวมถึงกฎการลงคะแนนของตัวเองด้วย สมาชิกจะส่งการเปลี่ยนแปลงรหัสเป็นธุรกรรม สมาชิกคนอื่นๆ จะลงคะแนน และเมื่อถึงเกณฑ์ สัญญาจะอัปเดตตัวเอง การออกแบบที่ซับซ้อนมากขึ้นอาจรวมถึงระบบการลงคะแนนเสียงแบบมอบหมายซึ่งสมาชิกสามารถกำหนดอำนาจการลงคะแนนของตนให้กับตัวแทนได้ หรือระบบประชาธิปไตยแบบเหลวซึ่งสามารถมอบหมายคะแนนเสียงได้ แต่จะได้รับสิทธิ์คืนเมื่อใดก็ได้สำหรับการตัดสินใจที่สำคัญ
DAO สามารถตอบสนองวัตถุประสงค์ที่หลากหลายนอกเหนือจากการจัดการกองทุนธรรมดาๆ DAO สามารถทำหน้าที่เป็นบริษัทที่มีการกระจายอำนาจ จ้างผู้รับเหมา ซื้อบริการ และกระจายผลกำไรให้กับผู้ถือหุ้น ทั้งหมดนี้อยู่ภายใต้การควบคุมของรหัสสัญญาอัจฉริยะมากกว่าโครงสร้างทางกฎหมายแบบดั้งเดิม สามารถดำเนินการเป็นกองทุนรวมที่กระจายอำนาจได้ โดยสมาชิกจะลงคะแนนเสียงว่าโครงการใดที่จะให้ทุน สามารถจัดการทรัพยากรทั่วไปได้ โดยผู้มีส่วนได้ส่วนเสียลงคะแนนในกฎการจัดสรร ข้อมูลเชิงลึกที่สำคัญคือด้วยการเข้ารหัสกฎการกำกับดูแลด้วยโค้ดที่โปร่งใสและไม่เปลี่ยนรูป และเชื่อมโยงกับผลประโยชน์ทางเศรษฐกิจ DAO สามารถประสานงานการตัดสินใจของกลุ่มโดยไม่ต้องมีการจัดการแบบลำดับชั้นแบบดั้งเดิมหรือการบังคับใช้กฎหมาย
Decentralized Autonomous Organizations
Eine Dezentrale Autonome Organisation (DAO) ist eine virtuelle Entitaet, die eine Gruppe von Mitgliedern oder Aktionaeren hat, die gemeinsam das Recht haben, die Mittel der Entitaet auszugeben und ihren Code zu aendern. Eine typische DAO funktioniert mit einer einfachen Regel: 67% der Mitglieder werden benoetigt, um Ausgabenentscheidungen zu treffen oder den Code der Organisation zu aendern. Mitglieder koennen Vorschlaege einreichen, darueber abstimmen, und wenn ein Vorschlag ausreichende Unterstuetzung erhaelt, fuehrt der Vertrag die Entscheidung automatisch aus. Mitgliedsanteile koennen uebertragbar sein, was einen liquiden Markt fuer DAO-Beteiligung ermoeglicht, und verschiedene Anteilsklassen koennen unterschiedliche Stimmrechte oder wirtschaftliche Ansprueche haben.
Das einfachste DAO-Design ist ein sich selbst aendernder Vertrag, der eine Mitgliederliste fuehrt und eine 2/3-Mehrheitsabstimmung erfordert, um jeden Aspekt des Vertrags zu aendern, einschliesslich seiner eigenen Abstimmungsregeln. Mitglieder wuerden Codeaenderungen als Transaktionen einreichen, andere Mitglieder wuerden abstimmen, und bei Erreichen der Schwelle wuerde sich der Vertrag selbst aktualisieren. Ausgefeiltere Designs koennten delegierte Abstimmungssysteme umfassen, bei denen Mitglieder ihre Stimmrechte an Vertreter uebertragen koennen, oder eine liquide Demokratie, bei der Stimmen delegiert, aber jederzeit fuer wichtige Entscheidungen zurueckgefordert werden koennen.
DAOs koennen verschiedenen Zwecken ueber die einfache Fondsverwaltung hinaus dienen. Eine DAO koennte als dezentrales Unternehmen fungieren, Auftragnehmer einstellen, Dienstleistungen einkaufen und Gewinne an Aktionaere verteilen — alles gesteuert durch Smart-Contract-Code statt traditionelle Rechtsstrukturen. Sie koennte als dezentraler Investmentfonds operieren, wobei Mitglieder darueber abstimmen, welche Projekte finanziert werden. Sie koennte eine gemeinsame Ressource verwalten, wobei Beteiligte ueber Zuteilungsregeln abstimmen. Die zentrale Erkenntnis ist, dass DAOs durch die Kodierung von Governance-Regeln in transparentem, unveraenderlichem Code und deren Verknuepfung mit wirtschaftlichem Einsatz Gruppenentscheidungen koordinieren koennen, ohne traditionelles hierarchisches Management oder rechtliche Durchsetzung zu benoetigen.
Further Applications
นอกเหนือจากหมวดหมู่หลักๆ ที่กล่าวถึงแล้ว Ethereum ยังเปิดใช้งานแอปพลิเคชันอื่นๆ อีกมากมาย กระเป๋าเงินออมทรัพย์ที่มีคุณสมบัติความปลอดภัยที่ซับซ้อนสามารถกำหนดวงเงินการถอนรายวันได้ในขณะที่ให้กุญแจฉุกเฉินสำหรับการกู้คืน ปกป้องผู้ใช้จากการโจรกรรมในขณะที่ยังคงการควบคุมขั้นสูงสุด สัญญาประกันพืชผลสามารถจ่ายเงินให้เกษตรกรโดยอัตโนมัติตามฟีดข้อมูลสภาพอากาศ ขจัดการดำเนินการเรียกร้องค่าสินไหมทดแทน และลดค่าใช้จ่ายในการบริหารจัดการ แอปพลิเคชันการพนันแบบเพียร์ทูเพียร์สามารถทำงานได้โดยไม่ต้องมีคนกลางที่เชื่อถือได้ โดยมีสัญญาอัจฉริยะที่ถือหุ้นและจ่ายเงินให้ผู้ชนะโดยอัตโนมัติตามตัวเลขสุ่มที่ตรวจสอบได้หรือข้อมูลเหตุการณ์ในโลกแห่งความเป็นจริง
ตลาดการทำนายแบบออนไลน์ช่วยให้ผู้ใช้สามารถเดิมพันเหตุการณ์ในอนาคต สร้างกลไกการพยากรณ์ที่มีประสิทธิภาพผ่านภูมิปัญญาของฝูงชน สิ่งเหล่านี้สามารถเสริมด้วยโปรโตคอลสไตล์ SchellingCoin เพื่อสร้างออราเคิลแบบกระจายอำนาจ: ผู้เข้าร่วมรายงานข้อมูลอย่างอิสระ (เช่น ผลการเลือกตั้งหรือสภาพอากาศ) และผู้ที่มีรายงานตรงกับคนส่วนใหญ่จะได้รับรางวัลในขณะที่ค่าผิดปกติจะถูกลงโทษ แนวทางเศรษฐศาสตร์เข้ารหัสนี้กระตุ้นให้เกิดการรายงานที่ตรงไปตรงมา และสามารถให้ข้อมูลในโลกแห่งความเป็นจริงที่เชื่อถือได้แก่สัญญาอื่นๆ โดยไม่ต้องอาศัยความไว้วางใจจากผู้ให้บริการ Oracle รายใดรายหนึ่ง
กระเป๋าเงินหลายลายเซ็นเป็นตัวแทนของแอปพลิเคชันที่สำคัญอีกชนิดหนึ่ง ช่วยให้สามารถควบคุมเงินทุนร่วมกันระหว่างหลายฝ่ายได้ multi-sig wallet 2 ใน 3 อาจต้องมีฝ่ายที่ได้รับมอบหมายสองในสามฝ่ายอนุมัติธุรกรรมก่อนจึงจะสามารถใช้เงินทุนได้ ซึ่งมีประโยชน์สำหรับการจัดการเอสโครว์ คลังสมบัติของบริษัท หรือความปลอดภัยส่วนบุคคล ตลาดกลางแบบกระจายอำนาจสามารถรวมระบบการระบุตัวตน คะแนนชื่อเสียง สัญญาเอสโครว์ และกลไกการระงับข้อพิพาท เพื่อให้สามารถซื้อขายแบบเพียร์ทูเพียร์ได้โดยไม่ต้องมีแพลตฟอร์มแบบรวมศูนย์ แต่ละแอปพลิเคชันเหล่านี้แสดงให้เห็นว่าความสามารถในการโปรแกรมของ Ethereum ช่วยให้เกิดโมเดลความน่าเชื่อถือและโครงสร้างองค์กรแบบใหม่ได้อย่างไร
Further Applications
Ueber die bereits besprochenen Hauptkategorien hinaus ermoeglicht Ethereum zahlreiche weitere Anwendungen. Sparwallets mit ausgefeilten Sicherheitsfunktionen koennen taegliche Abhebungslimits auferlegen und gleichzeitig Notfallschluessel fuer die Wiederherstellung bereitstellen, um Benutzer vor Diebstahl zu schuetzen und dabei die ultimative Kontrolle zu bewahren. Ernteversicherungsvertraege koennen Landwirten automatisch basierend auf Wetterdatenfeeds auszahlen, wodurch die Schadensbearbeitung eliminiert und der Verwaltungsaufwand reduziert wird. Peer-to-Peer-Gluecksspielanwendungen koennen ohne jeden vertrauenswuerdigen Vermittler betrieben werden, wobei Smart Contracts Einsaetze halten und Gewinner automatisch basierend auf verifizierbaren Zufallszahlen oder realen Ereignisdaten auszahlen.
On-Chain-Vorhersagemaerkte ermoegllichen es Benutzern, auf zukuenftige Ereignisse zu wetten und schaffen leistungsfaehige Prognosemechanismen durch die Weisheit der Masse. Diese koennen mit SchellingCoin-artigen Protokollen erweitert werden, um dezentrale Orakel zu schaffen: Teilnehmer berichten unabhaengig Daten (wie Wahlergebnisse oder Wetterbedingungen), und diejenigen, deren Berichte mit der Mehrheit uebereinstimmen, erhalten Belohnungen, waehrend Ausreisser bestraft werden. Dieser kryptooekonomische Ansatz schafft Anreize fuer ehrliche Berichterstattung und kann anderen Vertraegen zuverlaessige reale Daten liefern, ohne Vertrauen in einen einzelnen Orakel-Anbieter zu erfordern.
Multi-Signatur-Wallets stellen eine weitere wichtige Anwendung dar und ermoeglichen die gemeinsame Kontrolle von Geldern zwischen mehreren Parteien. Ein 2-von-3 Multi-Sig-Wallet koennte erfordern, dass zwei von drei bestimmten Parteien eine Transaktion genehmigen, bevor Gelder ausgegeben werden koennen, nuetzlich fuer Treuhandvereinbarungen, Unternehmensschatzkammern oder persoenliche Sicherheit. Dezentrale Marktplaetze koennen Identitaetssysteme, Reputationsbewertungen, Treuhandvertraege und Streitbeilegungsmechanismen kombinieren, um Peer-to-Peer-Handel ohne zentralisierte Plattformen zu ermoeglichen. Jede dieser Anwendungen demonstriert, wie die Programmierbarkeit von Ethereum neue Vertrauensmodelle und Organisationsstrukturen ermoeglicht.
Miscellanea And Concerns
การใช้งานโปรโตคอล GHOST ที่ได้รับการแก้ไขของ Ethereum รวมถึงกฎเฉพาะสำหรับการเข้าร่วมและรางวัลของลุง ลุงต้องเป็นลูกโดยตรงของบรรพบุรุษของบล็อกปัจจุบัน (ระหว่าง 2 ถึง 7 รุ่นหลัง) ต้องเป็นส่วนหัวของบล็อกที่ถูกต้อง ต้องแตกต่างจากลุงคนก่อน และต้องไม่ใช่บรรพบุรุษโดยตรงของบล็อกปัจจุบัน บล็อกลุงจะได้รับรางวัลบล็อกมาตรฐาน 87.5% ในขณะที่บล็อกที่รวมจะได้รับเพิ่มอีก 3.125% ต่อลุงหนึ่งคน (สูงสุดสองคน) โครงสร้างสิ่งจูงใจนี้สนับสนุนให้นักขุดอ้างอิงบล็อกเก่าที่พวกเขาสังเกตเห็น ซึ่งช่วยเพิ่มความปลอดภัยให้กับเครือข่าย ในขณะเดียวกันก็ให้รางวัลแก่นักขุดที่ประสบโชคร้ายชั่วคราวจากการเผยแพร่เครือข่าย
ระบบค่าธรรมเนียมขึ้นอยู่กับแนวคิดของ "แก๊ส" ซึ่งการดำเนินการคำนวณทุกครั้งจะมีต้นทุนก๊าซคงที่ ตัวอย่างเช่น การดำเนินการคูณต้องใช้แก๊ส 5 ชิ้น แฮช SHA256 ต้องใช้แก๊ส 20 ชิ้น และทุกธุรกรรมมีต้นทุนฐานอยู่ที่ 21,000 Gas ผู้ใช้ระบุทั้งขีดจำกัดของก๊าซ (ก๊าซสูงสุดที่พวกเขายินดีใช้) และราคาก๊าซ (พวกเขาจะต้องจ่ายอีเทอร์เท่าไรต่อหน่วยของก๊าซ) ระบบนี้มีจุดประสงค์หลายประการ: ป้องกันการโจมตีแบบวนซ้ำไม่สิ้นสุดและการโจมตีแบบปฏิเสธการให้บริการโดยรับรองว่าการคำนวณทั้งหมดได้รับการชำระ สร้างตลาดสำหรับพื้นที่บล็อกที่ผู้ใช้เสนอราคาผ่านราคาน้ำมัน และช่วยให้ผู้ขุดสามารถกำหนดราคาก๊าซขั้นต่ำที่พวกเขายินดียอมรับ เพื่อปกป้องทรัพยากรเครือข่าย

ความสามารถในการปรับขนาดยังคงเป็นข้อกังวลที่สำคัญ เนื่องจากทุกโหนดแบบเต็มจะต้องประมวลผลทุกธุรกรรมเพื่อตรวจสอบสถานะ สถาปัตยกรรมบล็อกเชนในปัจจุบันต้องดิ้นรนเพื่อให้ตรงกับปริมาณธุรกรรมของระบบรวมศูนย์ โซลูชันที่เป็นไปได้ ได้แก่ การแยกส่วนสถานะ โดยที่โหนดที่แตกต่างกันประมวลผลชุดย่อยของธุรกรรมที่แตกต่างกัน และการเปลี่ยนจาก proof-of-work ไปเป็นฉันทามติแบบ Proof-of-stake ซึ่งอาจช่วยให้การผลิตบล็อกมีประสิทธิภาพมากขึ้น ลูกค้า Light ที่ใช้การพิสูจน์ Merkle สามารถตรวจสอบธุรกรรมได้โดยไม่ต้องประมวลผลบล็อกทั้งหมด แต่บางคนยังต้องประมวลผลทุกอย่าง ความท้าทายด้านความสามารถในการปรับขนาดเหล่านี้แสดงถึงขอบเขตการวิจัยและพัฒนาที่มีความสำคัญต่อความมีชีวิตในระยะยาวของ Ethereum
Miscellanea And Concerns
Ethereums Implementierung des modifizierten GHOST-Protokolls umfasst spezifische Regeln fuer die Einbeziehung und Belohnung von Onkeln. Onkel muessen direkte Kinder eines Vorfahren des aktuellen Blocks sein (zwischen 2 und 7 Generationen zurueck), muessen gueltige Block-Header sein, muessen sich von vorherigen Onkeln unterscheiden und duerfen keine direkten Vorfahren des aktuellen Blocks sein. Onkel-Bloecke erhalten 87,5% der Standard-Blockbelohnung, waehrend der einschliessende Block zusaetzliche 3,125% pro eingeschlossenem Onkel erhaelt (bis zu zwei Onkel). Diese Anreizstruktur ermutigt Miner, veraltete Bloecke zu referenzieren, die sie beobachten, was die Netzwerksicherheit staerkt und gleichzeitig Miner belohnt, die voruebergehend Pech mit der Netzwerkpropagation hatten.
Das Gebuehrensystem basiert auf dem Konzept von "Gas", wobei jede Berechnungsoperation einen festen Gas-Preis hat. Beispielsweise kostet eine Multiplikationsoperation 5 Gas, ein SHA256-Hash kostet 20 Gas, und jede Transaktion hat Grundkosten von 21.000 Gas. Benutzer geben sowohl ein Gas-Limit (maximales Gas, das sie zu verbrauchen bereit sind) als auch einen Gas-Preis (wie viel Ether sie pro Gas-Einheit zahlen) an. Dieses System dient mehreren Zwecken: Es verhindert Endlosschleifen und Denial-of-Service-Angriffe, indem sichergestellt wird, dass alle Berechnungen bezahlt werden, es schafft einen Markt fuer Blockraum, auf dem Benutzer ueber Gas-Preise bieten, und es ermoeglicht Minern, einen Mindest-Gas-Preis festzulegen, den sie zu akzeptieren bereit sind, um Netzwerkressourcen zu schuetzen.

Skalierbarkeit bleibt ein bedeutendes Anliegen, da jeder vollstaendige Knoten jede Transaktion verarbeiten muss, um den Zustand zu verifizieren. Aktuelle Blockchain-Architekturen haben Schwierigkeiten, den Transaktionsdurchsatz zentralisierter Systeme zu erreichen. Moegliche Loesungen umfassen Zustandssharding, bei dem verschiedene Knoten verschiedene Teilmengen von Transaktionen verarbeiten, und einen Uebergang von Proof-of-Work zu Proof-of-Stake-Konsens, der eine effizientere Blockproduktion ermoeglichen koennte. Light Clients, die Merkle-Beweise verwenden, koennen Transaktionen verifizieren, ohne alle Bloecke zu verarbeiten, aber jemand muss trotzdem alles verarbeiten. Diese Skalierbarkeitsprobleme stellen aktive Forschungs- und Entwicklungsbereiche dar, die fuer die langfristige Lebensfaehigkeit von Ethereum entscheidend sind.
Conclusion
โปรโตคอล Ethereum เดิมทีถูกมองว่าเป็นเวอร์ชันอัปเกรดของสกุลเงินดิจิทัล โดยให้คุณสมบัติขั้นสูง เช่น เอสโครว์บนบล็อกเชน ขีดจำกัดการถอน และสัญญาทางการเงินผ่านภาษาการเขียนโปรแกรมทั่วไป อย่างไรก็ตาม โปรโตคอล Ethereum เคลื่อนไหวไปไกลกว่าแค่สกุลเงิน โปรโตคอลเกี่ยวกับการจัดเก็บไฟล์แบบกระจายอำนาจ การคำนวณแบบกระจายอำนาจ และตลาดการคาดการณ์แบบกระจายอำนาจ ท่ามกลางแนวคิดอื่นๆ มากมาย มีศักยภาพที่จะเพิ่มประสิทธิภาพอย่างมากของอุตสาหกรรมการคำนวณ และช่วยเพิ่มประสิทธิภาพของโปรโตคอลแบบเพียร์ทูเพียร์อื่นๆ ได้อย่างมาก โดยการเพิ่มชั้นทางเศรษฐกิจเป็นครั้งแรก
แทนที่จะจัดเตรียมชุดการดำเนินการที่จำกัดซึ่งออกแบบมาสำหรับกรณีการใช้งานเฉพาะ Ethereum จัดเตรียมภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ซึ่งช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันใดๆ ที่พวกเขาสามารถออกแบบได้ ต้องการประดิษฐ์อนุพันธ์ทางการเงินของคุณเองหรือไม่? สร้างสกุลเงินของคุณเองเหรอ? จัดตั้งรัฐบาลบนบล็อคเชนเหรอ? สิ่งเหล่านี้สามารถนำไปใช้ได้จริงกับระบบการเขียนสคริปต์ของ Ethereum พลังของแพลตฟอร์มไม่ได้อยู่ที่การคาดการณ์ว่าแอปพลิเคชันใดจะถูกสร้างขึ้น แต่อยู่ที่การจัดหาโครงสร้างพื้นฐานพื้นฐานที่ทำให้การสร้างเป็นเรื่องง่าย
แนวคิดของฟังก์ชันการเปลี่ยนสถานะตามอำเภอใจที่นำมาใช้โดยโปรโตคอล Ethereum มอบแพลตฟอร์มที่มีศักยภาพเฉพาะตัว แทนที่จะเป็นโปรโตคอลแบบปลายปิดที่มีจุดประสงค์เดียวสำหรับแอปพลิเคชันเฉพาะในการจัดเก็บข้อมูล การพนัน หรือการเงิน Ethereum เป็นโปรโตคอลปลายเปิดที่ได้รับการออกแบบ และเราเชื่อว่ามีความเหมาะสมอย่างยิ่งที่จะทำหน้าที่เป็นเลเยอร์พื้นฐานสำหรับโปรโตคอลทั้งทางการเงินและไม่ใช่ทางการเงินจำนวนมากในปีต่อๆ ไป แอปพลิเคชันที่จะสร้างขึ้นบน Ethereum ในอนาคตอาจเป็นแอปพลิเคชันที่เราไม่สามารถจินตนาการได้ในปัจจุบัน และความเป็นไปได้แบบปลายเปิดนั้นแสดงถึงคำมั่นสัญญาที่แท้จริงของแพลตฟอร์ม
Conclusion
Das Ethereum-Protokoll wurde urspruenglich als verbesserte Version einer Kryptowaehrung konzipiert, die fortgeschrittene Funktionen wie On-Blockchain-Treuhand, Abhebungslimits und Finanzvertraege durch eine hochgradig verallgemeinerte Programmiersprache bereitstellt. Allerdings geht das Ethereum-Protokoll weit ueber blosse Waehrung hinaus. Protokolle rund um dezentralen Dateispeicher, dezentrale Berechnung und dezentrale Vorhersagemaerkte, neben Dutzenden anderer Konzepte, haben das Potenzial, die Effizienz der Computerindustrie erheblich zu steigern und anderen Peer-to-Peer-Protokollen einen massiven Schub zu geben, indem erstmals eine wirtschaftliche Schicht hinzugefuegt wird.
Anstatt einen begrenzten Satz von Operationen bereitzustellen, die fuer bestimmte Anwendungsfaelle konzipiert sind, stellt Ethereum eine Turing-vollstaendige Programmiersprache bereit, die es Entwicklern ermoeglicht, jede Anwendung zu bauen, die sie entwerfen koennen. Moechten Sie Ihr eigenes Finanzderivat erfinden? Ihre eigene Waehrung schaffen? Eine Regierung auf der Blockchain etablieren? All dies ist trivial mit Ethereums Skripting-System implementierbar. Die Staerke der Plattform liegt nicht in der Vorhersage, welche Anwendungen gebaut werden, sondern in der Bereitstellung der fundamentalen Infrastruktur, die deren Erstellung einfach macht.
Das Konzept einer beliebigen Zustandsuebergangsfunktion, wie vom Ethereum-Protokoll implementiert, bietet eine Plattform mit einzigartigem Potenzial. Anstatt ein geschlossenes Einzelzweck-Protokoll fuer spezifische Anwendungen in Datenspeicherung, Gluecksspiel oder Finanzen zu sein, ist Ethereum von Grund auf offen gestaltet, und wir glauben, dass es ausserordentlich gut geeignet ist, in den kommenden Jahren als Grundschicht fuer eine grosse Anzahl sowohl finanzieller als auch nicht-finanzieller Protokolle zu dienen. Die Anwendungen, die in Zukunft auf Ethereum aufgebaut werden, koennten solche sein, die wir uns heute noch nicht einmal vorstellen koennen, und diese offene Moeglichkeit repraesentiert das wahre Versprechen der Plattform.
References and Further Reading
เอกสารไวท์เปเปอร์ Ethereum สร้างขึ้นจากงานก่อนหน้านี้ที่กว้างขวางในการวิจัยระบบสกุลเงินดิจิทัลและแบบกระจาย โปรโตคอล Bitcoin พื้นฐานได้อธิบายไว้ในรายงานต้นฉบับปี 2008 ของ Satoshi Nakamoto เรื่อง "Bitcoin: A Peer-to-Peer Electronic Cash System" ซึ่งแนะนำแนวคิดของสกุลเงินดิจิทัลที่ใช้บล็อกเชน ความพยายามในช่วงแรกๆ ในการขยายฟังก์ชันการทำงานของ Bitcoin ได้แก่ Namecoin ซึ่งเป็นระบบการลงทะเบียนชื่อแบบกระจายอำนาจที่สาธิตการใช้งานบล็อกเชนที่นอกเหนือไปจากสกุลเงิน แม้ว่าจะจำกัดด้วยความสามารถในการเขียนสคริปต์ที่จำกัดของ Bitcoin
เอกสารทางเทคนิคของเหรียญสีเสนอวิธีการแสดงสินทรัพย์ทางเลือกบนบล็อกเชน Bitcoin โดยการ "ระบายสี" บิตคอยน์เฉพาะเพื่อเป็นตัวแทนของสินทรัพย์อื่น ๆ ในขณะที่ Mastercoin พยายามสร้างเลเยอร์โปรโตคอลที่ด้านบนของ Bitcoin สำหรับเครื่องมือทางการเงินที่ซับซ้อนมากขึ้น ทั้งสองเน้นย้ำถึงข้อจำกัดของการสร้างบน Bitcoin และกระตุ้นให้เกิดความต้องการแพลตฟอร์มที่ยืดหยุ่นมากขึ้น แนวคิดขององค์กรอิสระที่มีการกระจายอำนาจ ซึ่งมีการสำรวจในนิตยสาร Bitcoin ได้ให้รากฐานทางทฤษฎีสำหรับการกำกับดูแลองค์กรผ่านสัญญาที่ชาญฉลาด
องค์ประกอบทางเทคนิคที่สำคัญ ได้แก่ การยืนยันการชำระเงินที่ง่ายขึ้น (SPV) สำหรับลูกค้ารายย่อย Merkle tree เพื่อการตรวจสอบข้อมูลที่มีประสิทธิภาพ และ Patricia พยายามให้ Ethereum เป็นตัวแทนของรัฐ โปรโตคอล GHOST (Greedy Heaviest Observed Subtree) ที่อธิบายไว้ในรายงานการเข้ารหัสปี 2013 กล่าวถึงปัญหาด้านความปลอดภัยที่เกิดจากเวลาบล็อกที่รวดเร็ว และสร้างพื้นฐานสำหรับกลไกฉันทามติของ Ethereum ข้อมูลอ้างอิงเหล่านี้แสดงถึงรากฐานทางปัญญาที่ Ethereum ถูกสร้างขึ้น โดยผสมผสานข้อมูลเชิงลึกจากสกุลเงินดิจิทัล ระบบแบบกระจาย การเข้ารหัส และทฤษฎีเกม เพื่อสร้างแพลตฟอร์มบล็อกเชนสำหรับวัตถุประสงค์ทั่วไป
References and Further Reading
Das Ethereum-Whitepaper baut auf umfangreichen frueheren Arbeiten in der Kryptowaehrungs- und verteilten Systemforschung auf. Das grundlegende Bitcoin-Protokoll wird in Satoshi Nakamotos originalem Paper von 2008 "Bitcoin: A Peer-to-Peer Electronic Cash System" beschrieben, das das Konzept einer Blockchain-basierten digitalen Waehrung einfuehrte. Fruehe Versuche, die Funktionalitaet von Bitcoin zu erweitern, umfassen Namecoin, ein dezentrales Namensregistrierungssystem, das Blockchain-Anwendungen jenseits von Waehrung demonstrierte, wenn auch durch Bitcoins eingeschraenkte Skripting-Faehigkeiten begrenzt.
Das Colored-Coins-Whitepaper schlug eine Methode vor, alternative Vermoegenswerte auf der Bitcoin-Blockchain darzustellen, indem bestimmte Bitcoins "eingefaerbt" werden, um andere Vermoegenswerte zu repraesentieren, waehrend Mastercoin versuchte, eine Protokollschicht ueber Bitcoin fuer komplexere Finanzinstrumente zu schaffen. Beide hoben die Einschraenkungen des Aufbaus auf Bitcoin hervor und motivierten die Notwendigkeit einer flexibleren Plattform. Das Konzept dezentraler autonomer Unternehmen, das im Bitcoin Magazine untersucht wurde, lieferte theoretische Grundlagen fuer organisatorische Governance durch Smart Contracts.
Wichtige technische Komponenten umfassen die vereinfachte Zahlungsverifizierung (SPV) fuer Light Clients, Merkle-Baeume fuer effiziente Datenverifizierung und Patricia-Tries fuer Ethereums Zustandsdarstellung. Das GHOST-Protokoll (Greedy Heaviest Observed Subtree), beschrieben in einem Kryptographie-Paper von 2013, adressiert Sicherheitsprobleme, die durch schnelle Blockzeiten entstehen, und bildet die Grundlage fuer Ethereums Konsensmechanismus. Diese Referenzen repraesentieren die intellektuellen Grundlagen, auf denen Ethereum aufgebaut wurde, und kombinieren Erkenntnisse aus Kryptowaehrung, verteilten Systemen, Kryptographie und Spieltheorie, um eine universelle Blockchain-Plattform zu schaffen.