Ethereum: Platform Kontrak Cerdas dan Aplikasi Terdesentralisasi Generasi Berikutnya

โดย Vitalik Buterin · 2013

โหมดเดี่ยว ethereum.org

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 adalah platform cryptocurrency dan aplikasi terdesentralisasi generasi berikutnya yang memperkenalkan blockchain dengan bahasa pemrograman Turing-complete bawaan. Hal ini memungkinkan siapa saja untuk menulis smart contract dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan state transition function.

Inovasi fundamental Ethereum adalah menggabungkan teknologi blockchain yang dipelopori oleh Bitcoin dengan lingkungan pemrograman serbaguna. Sementara Bitcoin menyediakan sistem state transition sederhana untuk memindahkan mata uang dari satu akun ke akun lain, Ethereum menyediakan platform di mana pengembang dapat membangun segala jenis aplikasi terdesentralisasi yang dapat mereka bayangkan, dari mata uang alternatif dan instrumen keuangan hingga sistem pendaftaran domain dan organisasi terdesentralisasi.

Ethereum mencapai hal ini dengan membangun apa yang pada dasarnya adalah lapisan fondasi abstrak tertinggi: sebuah blockchain dengan bahasa pemrograman Turing-complete bawaan, yang memungkinkan siapa saja menulis smart contract dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan state transition function. Versi dasar Namecoin dapat ditulis dalam dua baris kode, dan protokol lain seperti mata uang dan sistem reputasi dapat dibangun dalam kurang dari dua puluh baris.

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

Konsep mata uang digital terdesentralisasi, serta aplikasi alternatif seperti pencatatan properti, telah ada selama beberapa dekade. Protokol e-cash anonim pada tahun 1980an dan 1990an, sebagian besar bergantung pada kriptografi primitif yang dikenal sebagai Chaumian blinding, menyediakan mata uang dengan tingkat privasi yang tinggi, namun sebagian besar protokol tersebut gagal mendapatkan daya tarik karena ketergantungan mereka pada perantara terpusat. Pada tahun 1998, b-money Wei Dai menjadi proposal pertama yang memperkenalkan gagasan menciptakan uang melalui pemecahan teka-teki komputasi serta konsensus desentralisasi, namun proposal tersebut tidak memberikan rincian tentang bagaimana konsensus desentralisasi sebenarnya dapat diterapkan.

Pada tahun 2009, mata uang terdesentralisasi untuk pertama kalinya diterapkan dalam praktiknya oleh Satoshi Nakamoto, menggabungkan cara primitif yang sudah mapan untuk mengelola kepemilikan melalui kriptografi kunci publik dengan algoritma konsensus untuk melacak siapa yang memiliki koin, yang dikenal sebagai "bukti kerja". Mekanisme di balik bukti kerja merupakan terobosan karena memecahkan dua masalah secara bersamaan. Pertama, ini memberikan algoritma konsensus yang sederhana dan cukup efektif, yang memungkinkan node dalam jaringan untuk secara kolektif menyetujui serangkaian pembaruan kanonik terhadap status Bitcoin ledger. Kedua, hal ini memberikan mekanisme yang memungkinkan masuknya secara bebas ke dalam proses konsensus, memecahkan masalah politik dalam memutuskan siapa yang dapat mempengaruhi konsensus, sekaligus mencegah serangan sibil.

Blockchain Bitcoin telah terbukti sangat kuat selama bertahun-tahun beroperasi, namun pada dasarnya terbatas. Bahasa skrip Bitcoin sengaja dirancang untuk membatasi dan tidak lengkap Turing, tidak memiliki loop dan banyak fitur lain yang diperlukan untuk membangun aplikasi yang lebih kompleks. Batasan ini ada untuk mencegah loop tak terbatas dan bentuk serangan komputasi lainnya, namun sangat membatasi apa yang dapat dibangun di atas Bitcoin.

Selama lima tahun terakhir, ada sejumlah upaya untuk memperluas fungsionalitas Bitcoin. Koin berwarna berupaya menggunakan blockchain Bitcoin untuk melacak kepemilikan aset alternatif, Namecoin berupaya membuat basis data pendaftaran nama yang terdesentralisasi, dan berbagai protokol metacoin bertujuan untuk membangun lapisan tambahan di atas Bitcoin. Meskipun pendekatan ini menjanjikan, pendekatan ini pada akhirnya dibatasi oleh kemampuan skrip Bitcoin dan ketidakmampuan untuk mengakses data blockchain dari dalam skrip.

Apa yang Ethereum ingin sediakan adalah blockchain dengan bahasa pemrograman lengkap Turing yang terintegrasi dan lengkap yang dapat digunakan untuk membuat "kontrak" yang dapat digunakan untuk mengkodekan fungsi transisi keadaan sewenang-wenang, memungkinkan pengguna untuk membuat salah satu sistem yang dijelaskan di atas, serta banyak sistem lain yang belum kita bayangkan, hanya dengan menulis logika dalam beberapa baris kode.

Bitcoin As A State Transition System

จากมุมมองทางเทคนิค ledger ของสกุลเงินดิจิทัล เช่น Bitcoin สามารถถือเป็นระบบการเปลี่ยนสถานะ โดยมี "สถานะ" ประกอบด้วยสถานะความเป็นเจ้าของของ bitcoins ที่มีอยู่ทั้งหมด และ "ฟังก์ชันการเปลี่ยนสถานะ" ที่รับสถานะและธุรกรรม และส่งออกสถานะใหม่ซึ่งเป็นผลลัพธ์ ตัวอย่างเช่น ในระบบธนาคารมาตรฐาน รัฐคืองบดุล ธุรกรรมคือการร้องขอให้ย้าย \(X จาก A ไป B และฟังก์ชันการเปลี่ยนสถานะจะลดมูลค่าในบัญชีของ A ลง \)X และเพิ่มมูลค่าในบัญชีของ B ลง \(X หากบัญชีของ A มีน้อยกว่า \)X ในตอนแรก ฟังก์ชันการเปลี่ยนสถานะจะส่งกลับข้อผิดพลาด

Ethereum state transition diagram showing how transactions transform blockchain state

"สถานะ" ใน Bitcoin คือการรวบรวมเหรียญทั้งหมด (ในทางเทคนิค "เอาต์พุตธุรกรรมที่ยังไม่ได้ใช้" หรือ UTXO) ที่ได้รับการสร้างเสร็จและยังไม่ได้ใช้ โดยแต่ละ UTXO มีสกุลเงินและเจ้าของ (กำหนดโดยที่อยู่ 20 ไบต์ ซึ่งโดยพื้นฐานแล้วคือคีย์สาธารณะที่เข้ารหัส) ธุรกรรมประกอบด้วยอินพุตหนึ่งรายการขึ้นไป โดยแต่ละอินพุตประกอบด้วยการอ้างอิงถึง UTXO ที่มีอยู่และลายเซ็นการเข้ารหัสที่สร้างโดยคีย์ส่วนตัวที่เกี่ยวข้องกับที่อยู่ของเจ้าของ และเอาต์พุตอย่างน้อยหนึ่งรายการ โดยแต่ละเอาต์พุตจะมี UTXO ใหม่ที่จะเพิ่มลงในสถานะ

ฟังก์ชันการเปลี่ยนสถานะ APPLY(S,TX) - S' สามารถกำหนดได้คร่าวๆ ดังนี้:

  1. สำหรับแต่ละอินพุตใน TX หาก UTXO ที่อ้างอิงไม่ได้อยู่ใน S ให้ส่งกลับข้อผิดพลาด
  2. หากลายเซ็นที่ให้ไว้ไม่ตรงกับเจ้าของ UTXO ให้ส่งคืนข้อผิดพลาด
  3. หากผลรวมของส่วนของอินพุต UTXO ทั้งหมดน้อยกว่าผลรวมของส่วนของเอาต์พุต UTXO ทั้งหมด ให้ส่งกลับข้อผิดพลาด
  4. ส่งคืน 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

Dari sudut pandang teknis, ledger dari mata uang kripto seperti Bitcoin dapat dianggap sebagai sistem transisi keadaan, di mana terdapat "keadaan" yang terdiri dari status kepemilikan semua bitcoin yang ada dan "fungsi transisi keadaan" yang mengambil keadaan dan transaksi dan menghasilkan keadaan baru yang merupakan hasilnya. Dalam sistem perbankan standar, misalnya, keadaan adalah neraca, transaksi adalah permintaan untuk memindahkan \(X dari A ke B, dan fungsi transisi keadaan mengurangi nilai dalam rekening A sebesar \)X dan meningkatkan nilai dalam rekening B sebesar \(X. Jika akun A memiliki kurang dari \)X, fungsi transisi keadaan akan mengembalikan kesalahan.

Ethereum state transition diagram showing how transactions transform blockchain state

"Negara" di Bitcoin adalah kumpulan semua koin (secara teknis, "keluaran transaksi yang belum terpakai" atau UTXO) yang telah dicetak dan belum dibelanjakan, dengan setiap UTXO memiliki denominasi dan pemilik (ditentukan oleh alamat 20-byte yang pada dasarnya merupakan kunci publik kriptografi). Suatu transaksi berisi satu atau lebih masukan, dengan setiap masukan berisi referensi ke UTXO yang ada dan tanda tangan kriptografi yang dihasilkan oleh kunci pribadi yang terkait dengan alamat pemilik, dan satu atau lebih keluaran, dengan setiap keluaran berisi UTXO baru untuk ditambahkan ke negara.

Fungsi transisi keadaan APPLY(S,TX) - S' dapat didefinisikan secara kasar sebagai berikut:

  1. Untuk setiap masukan di TX, jika UTXO yang direferensikan tidak ada di S, kembalikan kesalahan.
  2. Jika tanda tangan yang diberikan tidak cocok dengan pemilik UTXO, kembalikan kesalahan.
  3. Jika jumlah denominasi semua input UTXO lebih kecil dari jumlah denominasi semua output UTXO, kembalikan kesalahan.
  4. Kembalikan S dengan semua input UTXO dihapus dan semua output UTXO ditambahkan.

Paruh pertama dari langkah pertama mencegah pengirim transaksi membelanjakan koin yang tidak ada, paruh kedua dari langkah pertama mencegah pengirim transaksi membelanjakan koin orang lain, dan langkah kedua menerapkan konservasi nilai. Untuk menggunakan ini sebagai pembayaran, protokolnya adalah sebagai berikut: misalkan Alice ingin mengirim 11,7 BTC ke Bob. Pertama, Alice akan mencari satu set UTXO yang dia miliki yang totalnya mencapai setidaknya 11,7 BTC. Secara realistis, Alice tidak akan bisa mendapatkan tepat 11,7 BTC; katakanlah bilangan terkecil yang dapat diperolehnya adalah 6+4+2=12. Dia kemudian membuat transaksi dengan tiga input dan dua output tersebut. Output pertama akan menjadi 11,7 BTC dengan alamat Bob sebagai pemiliknya, dan output kedua akan menjadi sisa 0,3 BTC "perubahan", dengan pemiliknya adalah Alice sendiri.

Mining

หากเราเข้าถึงบริการแบบรวมศูนย์ที่น่าเชื่อถือ ระบบนี้คงใช้งานไม่ได้ มันสามารถเขียนโค้ดได้ตรงตามที่อธิบายไว้ โดยใช้ฮาร์ดไดรฟ์ของเซิร์ฟเวอร์ส่วนกลางเพื่อติดตามสถานะ อย่างไรก็ตาม ด้วย Bitcoin เรากำลังพยายามสร้างระบบสกุลเงินที่กระจายอำนาจ ดังนั้นเราจะต้องรวมระบบธุรกรรมของรัฐเข้ากับระบบฉันทามติเพื่อให้แน่ใจว่าทุกคนเห็นด้วยกับลำดับของธุรกรรม กระบวนการฉันทามติแบบกระจายอำนาจของ Bitcoin กำหนดให้โหนดในเครือข่ายพยายามสร้างแพ็คเกจธุรกรรมที่เรียกว่า "บล็อก" อย่างต่อเนื่อง เครือข่ายมีวัตถุประสงค์เพื่อสร้างประมาณหนึ่งบล็อกทุกๆ สิบนาที โดยแต่ละบล็อกมีการประทับเวลา nonce การอ้างอิงถึง (เช่น แฮชของ) บล็อกก่อนหน้า และรายการธุรกรรมทั้งหมดที่เกิดขึ้นตั้งแต่บล็อกก่อนหน้า

Ethereum block structure showing linked blocks with timestamps nonces and transactions

เมื่อเวลาผ่านไป สิ่งนี้จะสร้าง "บล็อกเชน" ที่ต่อเนื่องและเติบโตอย่างต่อเนื่อง โดยมีการอัปเดตอย่างต่อเนื่องเพื่อแสดงสถานะล่าสุดของ Bitcoin ledger อัลกอริธึมสำหรับการตรวจสอบว่าบล็อกนั้นถูกต้องหรือไม่ ซึ่งแสดงในกระบวนทัศน์นี้มีดังนี้:

  1. ตรวจสอบว่าบล็อกก่อนหน้าที่บล็อกอ้างอิงนั้นมีอยู่และถูกต้องหรือไม่
  2. ตรวจสอบว่าการประทับเวลาของบล็อกนั้นมากกว่าของบล็อกก่อนหน้าและน้อยกว่า 2 ชั่วโมงในอนาคต
  3. ตรวจสอบว่าหลักฐานการทำงานบนบล็อกนั้นถูกต้อง
  4. ให้ S เป็นสถานะที่ส่วนท้ายของบล็อกก่อนหน้า
  5. สมมติว่า TX คือรายการธุรกรรมของบล็อกที่มีธุรกรรม n รายการ สำหรับ i ทั้งหมดใน 0...n-1 ให้ตั้งค่า S = APPLY(S,TX[i]) หากแอปพลิเคชันใดส่งคืนข้อผิดพลาด ให้ออกและส่งคืนค่าเท็จ
  6. คืนค่าเป็นจริง และลงทะเบียน S เป็นสถานะที่ส่วนท้ายของบล็อกนี้

โดยพื้นฐานแล้ว แต่ละธุรกรรมในบล็อกจะต้องจัดให้มีการเปลี่ยนสถานะที่ถูกต้องจากสถานะมาตรฐานก่อนที่ธุรกรรมจะถูกดำเนินการไปสู่สถานะใหม่ โปรดทราบว่าสถานะไม่ได้ถูกเข้ารหัสในบล็อก แต่อย่างใด มันเป็นนามธรรมล้วนๆ ที่ต้องจดจำโดยโหนดตรวจสอบความถูกต้อง และสามารถคำนวณได้ (อย่างปลอดภัย) สำหรับบล็อกใดๆ โดยเริ่มจากสถานะกำเนิดและใช้ทุกธุรกรรมตามลำดับในทุกบล็อก

นักขุดจะได้รับรางวัลสำหรับงานคำนวณด้วย bitcoins ที่สร้างขึ้นใหม่พร้อมค่าธรรมเนียมการทำธุรกรรม กระบวนการขุดมีดังต่อไปนี้: นักขุดใช้ส่วนหัวของบล็อกและแฮชมันซ้ำ ๆ ด้วยค่า nonce ที่แตกต่างกันจนกระทั่งพวกเขาพบแฮชที่ต่ำกว่าเป้าหมายความยากที่แน่นอน เมื่อนักขุดพบแฮชดังกล่าว พวกเขาจะออกอากาศบล็อกไปยังเครือข่าย และโหนดอื่น ๆ จะตรวจสอบว่าแฮชนั้นถูกต้องและธุรกรรมทั้งหมดในบล็อกนั้นถูกต้อง เป้าหมายความยากจะถูกปรับโดยอัตโนมัติโดยโปรโตคอลทุก ๆ บล็อกในปี 2559 (ประมาณสองสัปดาห์) เพื่อให้แน่ใจว่าบล็อกนั้นมีอัตราคงที่โดยประมาณ

โปรดทราบว่าในระยะยาว ความปลอดภัยของบล็อกเชนขึ้นอยู่กับนักขุดที่มีแรงจูงใจทางการเงินให้ประพฤติตนอย่างซื่อสัตย์ หากผู้โจมตีควบคุมพลังการขุดของเครือข่ายมากกว่า 50% พวกเขาก็สามารถดำเนินการ "โจมตี 51%" ได้ด้วยการสร้างบล็อคเชนทางเลือกที่เติบโตเร็วกว่าเชนที่ซื่อสัตย์ อย่างไรก็ตาม การโจมตีดังกล่าวจะต้องใช้ทรัพยากรคอมพิวเตอร์จำนวนมหาศาล และอาจส่งผลให้รางวัลการขุดของผู้โจมตีไร้ค่า เนื่องจากเครือข่ายสูญเสียความมั่นใจในความสมบูรณ์ของบล็อคเชน

Mining

Jika kita mempunyai akses terhadap layanan terpusat yang dapat dipercaya, sistem ini akan mudah diterapkan; itu bisa saja diberi kode persis seperti yang dijelaskan, menggunakan hard drive server terpusat untuk melacak keadaan. Namun, dengan Bitcoin kami mencoba membangun sistem mata uang yang terdesentralisasi, jadi kami perlu menggabungkan sistem transaksi negara dengan sistem konsensus untuk memastikan bahwa semua orang menyetujui urutan transaksi. Proses konsensus terdesentralisasi Bitcoin mengharuskan node di jaringan untuk terus berupaya menghasilkan paket transaksi yang disebut "blok". Jaringan ini dimaksudkan untuk menghasilkan kira-kira satu blok setiap sepuluh menit, dengan setiap blok berisi stempel waktu, nonce, referensi ke (yaitu hash dari) blok sebelumnya dan daftar semua transaksi yang telah terjadi sejak blok sebelumnya.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Seiring waktu, hal ini menciptakan "blockchain" yang terus-menerus dan terus berkembang yang terus diperbarui untuk mewakili keadaan terbaru dari Bitcoin ledger. Algoritma untuk memeriksa apakah suatu blok valid, dinyatakan dalam paradigma ini, adalah sebagai berikut:

  1. Periksa apakah blok sebelumnya yang direferensikan oleh blok tersebut ada dan valid.
  2. Periksa apakah stempel waktu blok lebih besar dari blok sebelumnya dan kurang dari 2 jam ke depan.
  3. Periksa apakah bukti kerja pada blok tersebut valid.
  4. Misalkan S adalah keadaan pada akhir blok sebelumnya.
  5. Misalkan TX adalah daftar transaksi blok dengan n transaksi. Untuk semua i di 0...n-1, setel S = APPLY(S,TX[i]). Jika ada aplikasi yang mengembalikan kesalahan, keluar dan kembalikan false.
  6. Kembalikan nilai true, dan daftarkan S sebagai keadaan di akhir blok ini.

Pada dasarnya, setiap transaksi dalam blok harus menyediakan transisi keadaan yang valid dari keadaan kanonik sebelum transaksi dieksekusi ke keadaan baru. Perhatikan bahwa negara bagian tidak dikodekan dalam blok dengan cara apa pun; ini murni sebuah abstraksi untuk diingat oleh node yang memvalidasi dan hanya dapat (secara aman) dihitung untuk blok mana pun dengan memulai dari keadaan asal dan secara berurutan menerapkan setiap transaksi di setiap blok.

Penambang diberi imbalan atas pekerjaan komputasi mereka dengan bitcoin yang baru dibuat ditambah biaya transaksi. Proses penambangan bekerja sebagai berikut: penambang mengambil header blok dan berulang kali melakukan hash dengan nilai nonce yang berbeda hingga mereka menemukan hash yang berada di bawah target kesulitan tertentu. Ketika seorang penambang menemukan hash tersebut, mereka menyiarkan blok tersebut ke jaringan, dan node lain memverifikasi bahwa hash tersebut valid dan bahwa semua transaksi di blok tersebut valid. Target kesulitan secara otomatis disesuaikan oleh protokol setiap blok tahun 2016 (kira-kira dua minggu) untuk memastikan bahwa blok diproduksi pada tingkat yang kira-kira konstan.

Perlu diingat bahwa dalam jangka panjang, keamanan blockchain bergantung pada insentif finansial yang dimiliki penambang untuk berperilaku jujur. Jika penyerang mengendalikan lebih dari 50% kekuatan penambangan jaringan, mereka berpotensi melakukan "serangan 51%" dengan menciptakan blockchain alternatif yang tumbuh lebih cepat daripada rantai jujur. Namun, serangan seperti itu akan memerlukan sumber daya komputasi yang sangat besar dan kemungkinan besar akan mengakibatkan imbalan penambangan penyerang menjadi tidak berharga karena jaringan kehilangan kepercayaan terhadap integritas blockchain.

Merkle Trees

ต้นไม้ Merkle เป็นโครงสร้างข้อมูลพื้นฐานที่ใช้ในบล็อก Bitcoin เพื่อให้สามารถยืนยันการรวมธุรกรรมได้อย่างมีประสิทธิภาพและปลอดภัย Merkle tree เป็นแผนผังไบนารี่ของแฮช โดยที่ leaf nodes มีแฮชของธุรกรรมแต่ละรายการ และโหนดภายในแต่ละโหนดมีแฮชของลูกสองคนของมัน โดยสร้างแบบวนซ้ำจนกลายเป็นแฮชรูทเดี่ยวที่ถูกเก็บไว้ในส่วนหัวของบล็อก โครงสร้างแบบลำดับชั้นนี้ช่วยให้ใครก็ตามสามารถตรวจสอบได้ว่าธุรกรรมใดรวมอยู่ในบล็อกโดยการดาวน์โหลดเฉพาะสาขา Merkle ซึ่งเป็นสายโซ่ของแฮชจากธุรกรรมจนถึงราก แทนที่จะดาวน์โหลดธุรกรรมทั้งหมดในบล็อก

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

ประสิทธิภาพที่เพิ่มขึ้นมีนัยสำคัญ: แม้ว่าโหนด Bitcoin แบบเต็มจะต้องจัดเก็บบล็อกเชนทั้งหมด (ประมาณ 15GB ในปี 2013) แต่โหนดการตรวจสอบการชำระเงิน (SPV) แบบง่ายขึ้นจะต้องดาวน์โหลดส่วนหัวของบล็อกที่มีรากของ Merkle เท่านั้น ซึ่งต้องการข้อมูลเพียง 4MB ในการตรวจสอบธุรกรรม โหนด SPV จะร้องขอสาขา Merkle จากโหนดแบบเต็ม ซึ่งต้องการเฉพาะข้อมูล O(log n) โดยที่ n คือจำนวนธุรกรรมในบล็อก มาตราส่วนลอการิทึมนี้ทำให้สามารถรันไคลเอนต์แบบน้ำหนักเบาบนอุปกรณ์มือถือและสภาพแวดล้อมที่มีทรัพยากรต่ำได้

การใช้แผนผัง Merkle ของ Bitcoin แสดงให้เห็นถึงหลักการสำคัญ: โครงสร้างการเข้ารหัสสามารถลดความไว้วางใจและความต้องการทรัพยากรสำหรับการเข้าร่วมในเครือข่ายแบบกระจายอำนาจได้อย่างมาก หลักการเดียวกันนี้รองรับการออกแบบของ Ethereum โดยที่แผนผัง Merkle ไม่เพียงแต่ใช้สำหรับธุรกรรมเท่านั้น แต่ยังใช้สำหรับการจัดเก็บสถานะและใบเสร็จรับเงินด้วย ซึ่งช่วยให้โปรโตคอลไคลเอ็นต์แบบ light มีความซับซ้อนมากยิ่งขึ้น

Merkle Trees

Pohon Merkle adalah struktur data mendasar yang digunakan di blok Bitcoin untuk memungkinkan verifikasi penyertaan transaksi yang efisien dan aman. Pohon Merkle adalah pohon biner hash di mana node daun berisi hash dari transaksi individual, dan setiap node interior berisi hash dari dua anaknya, yang secara rekursif membangun hingga satu hash root yang disimpan di header blok. Struktur hierarki ini memungkinkan siapa pun untuk memverifikasi bahwa transaksi tertentu termasuk dalam blok dengan hanya mengunduh cabang Merkle—rantai hash dari transaksi hingga ke akar—daripada mengunduh semua transaksi di blok.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Peningkatan efisiensinya sangat besar: meskipun node Bitcoin penuh harus menyimpan seluruh blockchain (sekitar 15 GB pada tahun 2013), node verifikasi pembayaran (SPV) yang disederhanakan hanya perlu mengunduh header blok yang berisi akar Merkle, yang hanya memerlukan data sebesar 4 MB. Untuk memverifikasi suatu transaksi, node SPV meminta cabang Merkle dari node penuh, yang hanya memerlukan data O(log n) di mana n adalah jumlah transaksi dalam satu blok. Penskalaan logaritmik ini memungkinkan untuk menjalankan klien ringan di perangkat seluler dan lingkungan dengan sumber daya rendah.

Penggunaan pohon Merkle oleh Bitcoin menunjukkan prinsip utama: struktur kriptografi dapat secara signifikan mengurangi kepercayaan dan kebutuhan sumber daya untuk berpartisipasi dalam jaringan terdesentralisasi. Prinsip yang sama mendasari desain Ethereum, di mana pohon Merkle digunakan tidak hanya untuk transaksi tetapi juga untuk penyimpanan negara dan tanda terima, sehingga memungkinkan protokol klien ringan yang lebih canggih.

Alternative Blockchain Applications

ความสำเร็จของบล็อกเชนของ Bitcoin เป็นแรงบันดาลใจให้เกิดความพยายามมากมายในการขยายแนวคิดไปไกลกว่าสกุลเงินธรรมดา Namecoin เปิดตัวในปี 2010 เป็นหนึ่งในตัวอย่างแรกสุด ฐานข้อมูลการลงทะเบียนชื่อแบบกระจายอำนาจที่สร้างขึ้นบนบล็อกเชน ช่วยให้ผู้ใช้สามารถลงทะเบียนชื่อในเนมสเปซแบบกระจายที่ไม่มีหน่วยงานกลางใดสามารถเซ็นเซอร์หรือเพิกถอนได้ เหรียญสีกลายเป็นวิธีหนึ่งในการนำเสนอสินทรัพย์ทางเลือกบนบล็อกเชน Bitcoin โดยการ "แท็ก" ผลลัพธ์ของธุรกรรมเฉพาะเพื่อแสดงถึงความเป็นเจ้าของสินทรัพย์ในโลกแห่งความเป็นจริง หุ้นบริษัท หรือสกุลเงินดิจิตอลอื่น ๆ Metacoins และเมตาโปรโตคอล เช่น Mastercoin (ต่อมาคือ Omni) แบ่งชั้นฟังก์ชันการทำงานเพิ่มเติมไว้ด้านบนสุดของ Bitcoin โดยการเข้ารหัสข้อมูลเพิ่มเติมในธุรกรรม Bitcoin และสร้างกฎโปรโตคอลแยกต่างหากไว้ด้านบน

อย่างไรก็ตาม วิธีการทั้งหมดนี้ได้รับผลกระทบจากข้อจำกัดพื้นฐานที่กำหนดโดยสถาปัตยกรรมของ Bitcoin ภาษาสคริปต์ Bitcoin ถูกจำกัดโดยเจตนา เนื่องจากไม่สามารถเข้าถึงสถานะบล็อกเชน ขาดลูปและโฟลว์การควบคุมที่ซับซ้อน และให้การพิจารณามูลค่าธุรกรรมอย่างจำกัด การสร้างแอปพลิเคชันที่ซับซ้อนจำเป็นต้องมีวิธีแก้ปัญหาชั่วคราว: การเข้ารหัสข้อมูลเมตาในฟิลด์ธุรกรรมที่ไม่เคยมีจุดประสงค์เพื่อจุดประสงค์นั้น อาศัยโครงสร้างพื้นฐานนอกเครือข่ายสำหรับตรรกะที่ซับซ้อน หรือการยอมรับข้อจำกัดที่รุนแรงเกี่ยวกับสิ่งที่โปรโตคอลสามารถทำได้สำเร็จ

ข้อจำกัดเหล่านี้กระตุ้นให้เกิดการค้นหาแพลตฟอร์มบล็อกเชนที่มีจุดประสงค์ทั่วไปมากขึ้น แทนที่จะสร้างโปรโตคอลที่มีจุดประสงค์พิเศษอื่นนอกเหนือจากรากฐานอันจำกัดของ Bitcoin Ethereum ใช้วิธีการที่แตกต่างออกไป: มอบบล็อกเชนด้วยภาษาการเขียนโปรแกรมที่สมบูรณ์ในตัวของ Turing ช่วยให้ใครก็ตามสามารถเขียนสัญญาอัจฉริยะและแอปพลิเคชันที่กระจายอำนาจด้วยกฎที่กำหนดเองสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และฟังก์ชันการเปลี่ยนสถานะ

Alternative Blockchain Applications

Keberhasilan blockchain Bitcoin menginspirasi banyak upaya untuk memperluas konsep ini lebih dari sekadar mata uang sederhana. Namecoin, diluncurkan pada tahun 2010, adalah salah satu contoh paling awal—database pendaftaran nama terdesentralisasi yang dibangun di atas blockchain, memungkinkan pengguna untuk mendaftarkan nama dalam namespace terdistribusi yang tidak dapat disensor atau dicabut oleh otoritas pusat. Koin berwarna muncul sebagai cara untuk mewakili aset alternatif di blockchain Bitcoin dengan "menandai" keluaran transaksi tertentu untuk mewakili kepemilikan aset dunia nyata, saham perusahaan, atau mata uang kripto lainnya. Metacoin dan meta-protokol seperti Mastercoin (kemudian Omni) melapisi fungsionalitas tambahan di atas Bitcoin dengan menyandikan data tambahan dalam transaksi Bitcoin dan membangun aturan protokol terpisah di atasnya.

Namun, semua pendekatan ini mengalami keterbatasan mendasar yang disebabkan oleh arsitektur Bitcoin. Bahasa skrip Bitcoin sengaja dibatasi—tidak dapat mengakses status blockchain, tidak memiliki loop dan aliran kontrol yang kompleks, dan memberikan introspeksi terbatas ke dalam nilai transaksi. Membangun aplikasi yang canggih memerlukan solusi yang sulit: mengkodekan metadata dalam bidang transaksi yang tidak pernah dimaksudkan untuk tujuan tersebut, mengandalkan infrastruktur off-chain untuk logika yang kompleks, atau menerima batasan ketat pada apa yang dapat dicapai oleh protokol.

Kendala ini memotivasi pencarian platform blockchain yang lebih bertujuan umum. Daripada membangun protokol tujuan khusus lainnya di atas fondasi terbatas Bitcoin, Ethereum mengambil pendekatan yang berbeda: menyediakan blockchain dengan bahasa pemrograman lengkap Turing bawaan, memungkinkan siapa pun untuk menulis kontrak pintar dan aplikasi terdesentralisasi dengan aturan sewenang-wenang untuk kepemilikan, format transaksi, dan fungsi transisi keadaan.

Scripting

สคริปต์ Bitcoin ซึ่งเป็นภาษาที่ใช้ในการกำหนดเงื่อนไขการใช้จ่ายสำหรับธุรกรรม Bitcoin ได้รับการออกแบบโดยตั้งใจโดยมีข้อจำกัดที่เข้มงวด มันไม่ใช่ทัวริงที่สมบูรณ์ โดยเฉพาะอย่างยิ่ง มันขาดลูปและโครงสร้างโฟลว์การควบคุมที่ซับซ้อน ภาษาทำงานเป็นสภาพแวดล้อมการดำเนินการแบบอิงสแต็กอย่างง่าย โดยที่การดำเนินการดันและป๊อปค่า ประเมินเงื่อนไขการเข้ารหัส และส่งคืนค่าจริงหรือเท็จในท้ายที่สุดเพื่อพิจารณาว่าธุรกรรมนั้นถูกต้องหรือไม่ แม้ว่าความเรียบง่ายนี้จะให้ประโยชน์ด้านความปลอดภัยและทำให้การวิเคราะห์อย่างเป็นทางการง่ายขึ้น แต่ก็ยังทำให้แอปพลิเคชันหลายประเภทไม่สามารถนำไปใช้ได้

ข้อจำกัดเหล่านี้แบ่งออกเป็นสามประเภทหลัก ประการแรก การขาดความสมบูรณ์ของทัวริงจะขัดขวางการนำเครื่องสถานะที่ซับซ้อน แผนผังการตัดสินใจ หรืออัลกอริทึมใดๆ ที่ต้องการการวนซ้ำ ประการที่สอง การมองไม่เห็นคุณค่าหมายความว่าสคริปต์ไม่สามารถระบุการควบคุมจำนวนเงินที่ถอนอย่างละเอียดได้ โดย UTXO สามารถใช้ได้ทั้งหมดเท่านั้น โดยจะส่งการเปลี่ยนแปลงไปยังเอาต์พุตใหม่ ตัวอย่างเช่น สคริปต์ไม่สามารถจำกัดการถอนได้สูงสุด X ต่อวัน โดยปล่อยให้ส่วนที่เหลือถูกล็อคไว้ ประการที่สาม การขาดการรับรู้ถึงสถานะบล็อคเชน หมายความว่า UTXO ถูกใช้ไปหรือไม่ถูกใช้โดยไม่มีสถานะตัวกลาง ทำให้สัญญาแบบหลายขั้นตอนเป็นไปไม่ได้ที่จะนำไปใช้แบบออนไลน์ล้วนๆ

ข้อจำกัดเหล่านี้ทำให้แอปพลิเคชันที่ซับซ้อน เช่น องค์กรอิสระแบบกระจายอำนาจ, กระเป๋าเงินออมทรัพย์ที่มีขีดจำกัดการถอน, การแลกเปลี่ยนแบบกระจายอำนาจ หรือตลาดการคาดการณ์ เป็นไปไม่ได้หรือต้องใช้กลไกนอกเครือข่ายที่น่าอึดอัดใจ สัญญาทางการเงินขั้นสูงอาจต้องการการเข้าถึงข้อมูลตลาด ความสามารถในการรักษาสถานะภายในของธุรกรรมหลายรายการ และตรรกะเงื่อนไขที่ซับซ้อน ซึ่งสคริปต์ Bitcoin ไม่สามารถให้ได้ Ethereum ลบข้อจำกัดเหล่านี้ด้วยการจัดเตรียมภาษาทัวริงที่สมบูรณ์พร้อมการเข้าถึงสถานะบล็อกเชนอย่างเต็มรูปแบบ

Scripting

Bitcoin Script, bahasa yang digunakan untuk menentukan kondisi pengeluaran untuk transaksi Bitcoin, sengaja dirancang dengan keterbatasan yang parah. Ini bukan Turing yang lengkap—terutama, ia tidak memiliki loop dan struktur aliran kontrol yang kompleks. Bahasa ini beroperasi sebagai lingkungan eksekusi berbasis tumpukan sederhana di mana operasi mendorong dan memunculkan nilai, mengevaluasi kondisi kriptografi, dan pada akhirnya mengembalikan nilai benar atau salah untuk menentukan apakah suatu transaksi valid. Meskipun kesederhanaan ini memberikan manfaat keamanan dan membuat analisis formal lebih mudah, hal ini juga membuat banyak jenis aplikasi menjadi tidak mungkin untuk diimplementasikan.

Keterbatasan ini terbagi dalam tiga kategori utama. Pertama, kurangnya kelengkapan Turing menghalangi penerapan mesin negara yang kompleks, pohon keputusan, atau algoritma apa pun yang memerlukan iterasi. Kedua, kebutaan nilai berarti bahwa skrip tidak dapat menentukan kontrol menyeluruh atas jumlah penarikan—UTXO hanya dapat dibelanjakan secara keseluruhan, dengan perubahan dikirim ke keluaran baru. Sebuah skrip tidak dapat, misalnya, membatasi penarikan hingga maksimum X per hari dan membiarkan sisanya terkunci. Ketiga, kurangnya kesadaran akan status blockchain berarti bahwa UTXO sudah terpakai atau tidak terpakai tanpa status perantara, membuat kontrak multi-tahap tidak mungkin diterapkan secara on-chain.

Kendala-kendala ini membuat aplikasi canggih seperti organisasi otonom terdesentralisasi, dompet tabungan dengan batas penarikan, pertukaran terdesentralisasi, atau pasar prediksi menjadi tidak mungkin atau memerlukan mekanisme off-chain yang canggung. Kontrak keuangan tingkat lanjut mungkin memerlukan akses ke data pasar, kemampuan untuk mempertahankan keadaan internal di berbagai transaksi, dan logika kondisional yang kompleks—tidak ada satupun yang dapat disediakan oleh Skrip Bitcoin. Ethereum menghilangkan batasan ini dengan menyediakan bahasa lengkap Turing dengan akses penuh ke status blockchain.

Ethereum

เป้าหมายพื้นฐานของ Ethereum คือการจัดเตรียมบล็อกเชนด้วยภาษาโปรแกรมทัวริงที่สมบูรณ์ในตัว ซึ่งช่วยให้ใครก็ตามสามารถเขียนสัญญาอัจฉริยะและแอปพลิเคชันแบบกระจายอำนาจ ซึ่งพวกเขาสามารถสร้างกฎตามอำเภอใจของตนเองสำหรับการเป็นเจ้าของ รูปแบบธุรกรรม และฟังก์ชันการเปลี่ยนสถานะ แทนที่จะออกแบบโปรโตคอลสำหรับแอปพลิเคชันเฉพาะ เช่น สกุลเงิน การจดทะเบียนชื่อ หรือการซื้อขายสินทรัพย์ Ethereum มอบเลเยอร์พื้นฐาน ซึ่งเป็นแพลตฟอร์มการประมวลผลแบบกระจายบนบล็อกเชนที่นักพัฒนาสามารถใช้เพื่อสร้างแอปพลิเคชันใดๆ ที่พวกเขาสามารถจินตนาการได้

สถาปัตยกรรมแตกต่างโดยพื้นฐานจากโมเดล UTXO ของ Bitcoin Ethereum ใช้ระบบตามบัญชีโดยที่สถานะบล็อกเชนประกอบด้วยการแมปจากที่อยู่ไปยังออบเจ็กต์บัญชี แต่ละบัญชีมียอดคงเหลือ ตัวนับธุรกรรม (nonce) และสำหรับบัญชีสัญญา รหัสที่เกี่ยวข้องและพื้นที่เก็บข้อมูล แพลตฟอร์มดังกล่าวประกอบด้วยภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ในตัวสำหรับการเขียนโค้ดสัญญาที่ดำเนินการใน Ethereum Virtual Machine (EVM) ซึ่งเป็นสภาพแวดล้อมการดำเนินการแบบสแต็กที่ประมวลผลธุรกรรมและการเปลี่ยนสถานะ

ลักษณะทั่วไปนี้ทำให้เกิดการใช้งานที่หลากหลาย: สกุลเงินดิจิทัลทางเลือกที่มีกฎการออกแบบกำหนดเอง อนุพันธ์ทางการเงินและเหรียญเสถียร ระบบข้อมูลประจำตัวและชื่อเสียง พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจ องค์กรอิสระแบบกระจายอำนาจ (DAO) และอื่นๆ อีกมากมาย เอกสารไวท์เปเปอร์เน้นย้ำว่า Ethereum ไม่ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานเฉพาะใดๆ แต่กลับจัดเตรียมบล็อคส่วนประกอบพื้นฐาน เช่น บัญชี ธุรกรรม ภาษาที่สมบูรณ์ของทัวริง และการดำเนินการตามปริมาณก๊าซ ซึ่งนักพัฒนาสามารถนำมารวมกันเพื่อสร้างแอปพลิเคชันใดก็ตามที่ระบบนิเวศต้องการ

Ethereum

Tujuan mendasar Ethereum adalah untuk menyediakan blockchain dengan bahasa pemrograman lengkap Turing yang memungkinkan siapa saja untuk menulis kontrak pintar dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan fungsi transisi negara. Daripada merancang protokol untuk aplikasi spesifik seperti mata uang, pendaftaran nama, atau perdagangan aset, Ethereum menyediakan lapisan dasar—platform komputasi terdistribusi berbasis blockchain yang dapat digunakan pengembang untuk membangun aplikasi apa pun yang dapat mereka bayangkan.

Arsitekturnya berbeda secara mendasar dari model UTXO Bitcoin. Ethereum menggunakan sistem berbasis akun dimana status blockchain terdiri dari pemetaan dari alamat ke objek akun. Setiap akun memiliki saldo, penghitung transaksi (nonce), dan untuk akun kontrak, kode dan penyimpanan terkait. Platform ini mencakup bahasa pemrograman lengkap Turing bawaan untuk menulis kode kontrak yang dijalankan di Mesin Virtual Ethereum (EVM), lingkungan eksekusi berbasis tumpukan yang memproses transaksi dan transisi status.

Sifat umum ini memungkinkan beragam penerapan: mata uang kripto alternatif dengan aturan penerbitan khusus, derivatif keuangan dan stablecoin, sistem identitas dan reputasi, penyimpanan file terdesentralisasi, organisasi otonom terdesentralisasi (DAO), dan banyak lagi. Whitepaper tersebut menekankan bahwa Ethereum tidak dioptimalkan untuk kasus penggunaan tertentu, melainkan menyediakan blok bangunan dasar—akun, transaksi, bahasa Turing-lengkap, dan eksekusi gas-metered—yang dapat digabungkan oleh pengembang untuk menciptakan aplikasi apa pun yang dibutuhkan ekosistem.

Ethereum Accounts

ใน Ethereum รัฐประกอบด้วยบัญชี และมีประเภทพื้นฐานอยู่ 2 ประเภท บัญชีที่เป็นเจ้าของภายนอก (EOA) ถูกควบคุมโดยคีย์ส่วนตัวและไม่มีรหัสที่เกี่ยวข้อง—บัญชีเหล่านี้เป็นตัวแทนของผู้ใช้ที่เป็นมนุษย์หรือหน่วยงานภายนอกที่มีการโต้ตอบกับบล็อกเชน บัญชีสัญญาจะถูกควบคุมโดยรหัสสัญญาและจะเปิดใช้งานเมื่อได้รับข้อความหรือธุรกรรม ทั้งสองประเภทมีโครงสร้างร่วมกัน: ทุกบัญชีมี nonce (ตัวนับที่ใช้เพื่อให้แน่ใจว่าแต่ละธุรกรรมสามารถประมวลผลได้เพียงครั้งเดียว), ยอดคงเหลือ Ether และสำหรับสัญญาโดยเฉพาะ รหัสสัญญาและพื้นที่จัดเก็บถาวร

อีเธอร์เป็นสกุลเงินดิจิทัลภายในหลักของ Ethereum ซึ่งทำหน้าที่เป็นทั้งสื่อกลางในการโอนมูลค่าและเป็นหน่วยพื้นฐานสำหรับการจ่ายค่าธรรมเนียมการทำธุรกรรม (ก๊าซ) ต่างจากโมเดล UTXO ของ Bitcoin ที่มูลค่าจะถูกกระจายไปยังเอาต์พุตที่ยังไม่ได้ใช้หลายรายการ บัญชี Ethereum จะรักษายอดคงเหลือแบบง่าย ๆ ซึ่งจะเพิ่มขึ้นเมื่อได้รับอีเทอร์และลดลงเมื่อส่ง โมเดลตามบัญชีนี้ช่วยลดความซับซ้อนของแอปพลิเคชันหลายประเภท โดยเฉพาะอย่างยิ่งแอปพลิเคชันที่ต้องการสถานะถาวรหรือการควบคุมการเข้าถึงที่ซับซ้อน แม้ว่าจะมีข้อควรพิจารณาด้านความปลอดภัยที่แตกต่างกันเมื่อเปรียบเทียบกับแนวทางของ Bitcoin

ความแตกต่างระหว่าง EOA และบัญชีสัญญามีความสำคัญต่อการทำความเข้าใจการดำเนินงานของ Ethereum EOA สามารถเริ่มต้นธุรกรรมได้โดยการสร้างและลงนามข้อความด้วยคีย์ส่วนตัว โดยจ่ายค่าธรรมเนียมก๊าซเพื่อให้ธุรกรรมรวมอยู่ในบล็อก บัญชีสัญญาไม่สามารถเริ่มการทำธุรกรรมได้ด้วยตนเอง แต่สามารถส่งข้อความไปยังสัญญาอื่น ๆ เพื่อตอบสนองการรับธุรกรรมหรือข้อความ ทำให้เกิดห่วงโซ่การดำเนินการที่ซับซ้อน โดยที่ธุรกรรมภายนอกรายการเดียวทำให้เกิดการโต้ตอบระหว่างสัญญากับสัญญาหลายครั้ง

Ethereum Accounts

Di Ethereum, negara bagian terdiri dari akun-akun, dan ada dua tipe dasar. Akun yang dimiliki secara eksternal (EOA) dikendalikan oleh kunci pribadi dan tidak memiliki kode terkait—mereka mewakili pengguna manusia atau entitas eksternal yang berinteraksi dengan blockchain. Akun kontrak dikendalikan oleh kode kontraknya dan diaktifkan ketika mereka menerima pesan atau transaksi. Kedua jenis ini memiliki struktur yang sama: setiap akun memiliki nonce (penghitung yang digunakan untuk memastikan setiap transaksi hanya dapat diproses satu kali), saldo eter, dan untuk kontrak khususnya, kode kontrak dan penyimpanan persisten.

Ether adalah mata uang kripto internal utama Ethereum, yang berfungsi sebagai media transfer nilai dan unit dasar untuk membayar biaya transaksi (gas). Tidak seperti model UTXO Bitcoin di mana nilai didistribusikan ke beberapa keluaran yang tidak terpakai, akun Ethereum mempertahankan saldo sederhana yang bertambah saat mereka menerima eter dan menurun saat mereka mengirimkannya. Model berbasis akun ini menyederhanakan banyak jenis aplikasi, terutama yang memerlukan keadaan persisten atau kontrol akses yang kompleks, meskipun model ini memperkenalkan pertimbangan keamanan yang berbeda dibandingkan dengan pendekatan Bitcoin.

Perbedaan antara EOA dan akun kontrak sangat penting untuk memahami pengoperasian Ethereum. EOA dapat memulai transaksi dengan membuat dan menandatangani pesan dengan kunci pribadi mereka, membayar biaya bahan bakar agar transaksi mereka dimasukkan dalam blok. Akun kontrak tidak dapat memulai transaksi sendiri tetapi dapat mengirim pesan ke kontrak lain sebagai respons terhadap penerimaan transaksi atau pesan, sehingga memungkinkan rantai eksekusi yang kompleks di mana satu transaksi eksternal memicu beberapa interaksi kontrak-ke-kontrak.

Messages and Transactions

ธุรกรรมใน Ethereum เป็นแพ็คเกจข้อมูลที่ลงนามซึ่งสร้างโดยบัญชีที่เป็นเจ้าของภายนอกและออกอากาศไปยังเครือข่าย ธุรกรรมประกอบด้วยที่อยู่ผู้รับ ลายเซ็นเข้ารหัสที่พิสูจน์ตัวตนของผู้ส่ง จำนวนอีเทอร์ที่จะถ่ายโอน ช่องข้อมูลเสริม (สำคัญสำหรับการโต้ตอบกับสัญญา) STARTGAS (จำนวนขั้นตอนการคำนวณสูงสุดที่ธุรกรรมได้รับอนุญาตให้ทำ) และ GASPRICE (ค่าธรรมเนียมต่อขั้นตอนการคำนวณที่ผู้ส่งยินดีจ่าย) นักขุดรวบรวมธุรกรรมเหล่านี้ ตรวจสอบ ดำเนินการ และรวมไว้ในบล็อก โดยรับค่าธรรมเนียมก๊าซเป็นการชดเชย

ข้อความมีแนวคิดคล้ายกับธุรกรรม แต่จัดทำโดยสัญญามากกว่าผู้แสดงภายนอก เมื่อโค้ดของสัญญาดำเนินการ จะสามารถส่งข้อความไปยังสัญญาอื่นได้ ข้อความภายในเหล่านี้ประกอบด้วยผู้ส่ง (ที่อยู่ของสัญญา) ผู้รับ จำนวนอีเธอร์ที่จะถ่ายโอน เพย์โหลดข้อมูลเสริม และขีดจำกัด STARTGAS ข้อความช่วยให้สามารถสื่อสารตามสัญญาต่อสัญญาได้ ทำให้สามารถสร้างแอปพลิเคชันที่ซับซ้อนได้จากสัญญาที่มีการโต้ตอบหลายสัญญา แทนที่จะเป็นโปรแกรมแบบเสาหิน

กลไกของแก๊สมีความสำคัญอย่างยิ่งในการป้องกันการละเมิด: ทุกขั้นตอนการคำนวณ การดำเนินการจัดเก็บ และไบต์ข้อมูลในธุรกรรมต้องใช้แก๊ส หากธุรกรรมหมดก๊าซก่อนที่จะเสร็จสิ้น การเปลี่ยนแปลงสถานะทั้งหมดจะถูกคืนค่า (ยกเว้นการจ่ายก๊าซให้กับผู้ขุด) ป้องกันไม่ให้ลูปไม่สิ้นสุดหรือการคำนวณมากเกินไปทำให้เครือข่ายหยุดชะงัก ผู้ส่งระบุทั้งงบประมาณก๊าซทั้งหมด (STARTGAS) และราคาที่พวกเขายินดีจ่ายต่อหน่วย (GASPRICE) และก๊าซที่ไม่ได้ใช้จะได้รับคืนหลังจากการดำเนินการเสร็จสิ้น

Messages and Transactions

Transaksi di Ethereum adalah paket data bertanda tangan yang dibuat oleh akun milik eksternal dan disiarkan ke jaringan. Sebuah transaksi berisi alamat penerima, tanda tangan kriptografi yang membuktikan identitas pengirim, jumlah eter yang akan ditransfer, bidang data opsional (penting untuk berinteraksi dengan kontrak), STARTGAS (jumlah maksimum langkah komputasi yang boleh dilakukan transaksi), dan GASPRICE (biaya per langkah komputasi yang bersedia dibayar oleh pengirim). Penambang mengumpulkan transaksi ini, memvalidasinya, mengeksekusinya, dan memasukkannya ke dalam blok, menerima biaya bahan bakar sebagai kompensasinya.

Pesan secara konseptual mirip dengan transaksi tetapi dihasilkan oleh kontrak dan bukan oleh aktor eksternal. Ketika kode kontrak dijalankan, ia dapat mengirim pesan ke kontrak lain—pesan internal ini berisi pengirim (alamat kontrak), penerima, jumlah eter yang akan ditransfer, muatan data opsional, dan batas STARTGAS. Pesan memungkinkan komunikasi kontrak-ke-kontrak, memungkinkan aplikasi kompleks dibangun dari beberapa kontrak yang saling berinteraksi, bukan program monolitik.

Mekanisme gas sangat penting untuk mencegah penyalahgunaan: setiap langkah komputasi, operasi penyimpanan, dan byte data dalam suatu transaksi menggunakan gas. Jika transaksi kehabisan bahan bakar sebelum diselesaikan, semua perubahan status akan dikembalikan (kecuali pembayaran bahan bakar ke penambang), sehingga mencegah loop tak terbatas atau perhitungan berlebihan yang menghentikan jaringan hingga terhenti. Pengirim menentukan total anggaran gas (STARTGAS) dan harga yang bersedia mereka bayarkan per unit (GASPRICE), dan setiap gas yang tidak terpakai akan dikembalikan setelah eksekusi selesai.

Ethereum State Transition Function

ฟังก์ชันการเปลี่ยนสถานะ Ethereum ใช้(S,TX) - S' กำหนดวิธีที่ธุรกรรมแปลงสถานะบล็อกเชน และเป็นไปตามลำดับขั้นตอนที่แม่นยำ ขั้นแรก ระบบจะตรวจสอบความถูกต้องของธุรกรรม: การตรวจสอบความถูกต้องของลายเซ็น การยืนยัน nonce ตรงกับบัญชี nonce ของผู้ส่ง และทำให้มั่นใจว่าผู้ส่งมียอดคงเหลือเพียงพอที่จะชำระค่าใช้จ่ายล่วงหน้า (STARTGAS × GASPRICE บวกมูลค่าที่ส่ง) หากการตรวจสอบล้มเหลว ธุรกรรมจะถูกปฏิเสธก่อนเริ่มดำเนินการ หากถูกต้อง ค่าธรรมเนียมการทำธุรกรรมจะถูกหักออกจากบัญชีของผู้ส่ง nonce ของผู้ส่งจะเพิ่มขึ้น และตัวนับก๊าซเริ่มต้นจะถูกตั้งค่าเป็น STARTGAS ลบค่าธรรมเนียมต่อไบต์สำหรับข้อมูลธุรกรรม

Ethereum state transition function showing gas deduction value transfer and code execution

จากนั้นระบบจะโอนค่าอีเธอร์ที่ระบุจากผู้ส่งไปยังผู้รับ หากผู้รับเป็นบัญชีภายนอก การทำธุรกรรมจะเสร็จสมบูรณ์ หากผู้รับเป็นบัญชีสัญญา รหัสของสัญญาจะทำงานใน Ethereum Virtual Machine ซึ่งใช้แก๊สในการดำเนินการแต่ละครั้งจนกว่ารหัสจะเสร็จสมบูรณ์สำเร็จ รหัสหยุดลงอย่างชัดเจน หรือแก๊สหมด ในระหว่างการดำเนินการ สัญญาสามารถอ่านและแก้ไขพื้นที่เก็บข้อมูล ส่งข้อความไปยังสัญญาอื่น และสร้างสัญญาใหม่ได้

สุดท้ายนี้ หากการถ่ายโอนค่าล้มเหลว (ยอดคงเหลือไม่เพียงพอ) หรือการดำเนินการโค้ดล้มเหลว (แก๊สหมดหรือเกิดข้อผิดพลาด) การเปลี่ยนแปลงสถานะทั้งหมดจะถูกคืนกลับ ยกเว้นว่าผู้ส่งยังคงจ่ายค่าธรรมเนียมก๊าซให้กับนักขุดสำหรับการคำนวณที่ดำเนินการ หากการดำเนินการสำเร็จ ก๊าซที่เหลือจะถูกคืนให้กับผู้ส่ง และก๊าซที่ใช้ไปจะถูกส่งไปยังนักขุดโดยมีค่าธรรมเนียม กลไกนี้ช่วยให้แน่ใจว่านักขุดได้รับการชดเชยสำหรับการคำนวณ ในขณะเดียวกันก็ป้องกันการดำเนินการแบบควบคุมไม่ได้จากการใช้ทรัพยากรที่ไม่จำกัด

Ethereum State Transition Function

Fungsi transisi keadaan Ethereum APPLY(S,TX) - S' mendefinisikan bagaimana suatu transaksi mengubah keadaan blockchain, dan mengikuti urutan langkah yang tepat. Pertama, sistem memeriksa validitas transaksi: memverifikasi kebenaran tanda tangan, mengonfirmasi bahwa nonce cocok dengan nonce akun pengirim, dan memastikan pengirim memiliki saldo yang cukup untuk membayar biaya di muka (STARTGAS × GASPRICE ditambah nilai yang dikirim). Jika ada pemeriksaan yang gagal, transaksi ditolak sebelum eksekusi dimulai. Jika valid, biaya transaksi dipotong dari rekening pengirim, nonce pengirim bertambah, dan penghitung bahan bakar awal diatur ke STARTGAS dikurangi biaya per byte untuk data transaksi.

Ethereum state transition function showing gas deduction value transfer and code execution

Selanjutnya, sistem mentransfer nilai eter yang ditentukan dari pengirim ke penerima. Jika penerima adalah akun milik eksternal, transaksi selesai. Jika penerimanya adalah akun kontrak, kode kontrak akan berjalan di Mesin Virtual Ethereum, menggunakan bahan bakar untuk setiap operasi hingga kode berhasil diselesaikan, kode dihentikan secara eksplisit, atau bahan bakar habis. Selama eksekusi, kontrak dapat membaca dan mengubah penyimpanannya, mengirim pesan ke kontrak lain, dan membuat kontrak baru.

Terakhir, jika transfer nilai gagal (saldo tidak mencukupi) atau eksekusi kode gagal (kehabisan bahan bakar atau terjadi kesalahan), semua perubahan status akan dikembalikan—kecuali pengirim masih membayar biaya bahan bakar kepada penambang untuk perhitungan yang dilakukan. Jika eksekusi berhasil, sisa gas dikembalikan ke pengirim, dan gas yang telah dikonsumsi dikirim ke penambang sebagai biaya. Mekanisme ini memastikan bahwa penambang mendapat kompensasi untuk komputasi sekaligus mencegah eksekusi yang tidak terkendali memakan sumber daya yang tidak terbatas.

Code Execution

Ethereum Virtual Machine (EVM) คือสภาพแวดล้อมรันไทม์ที่โค้ดสัญญาดำเนินการ ซึ่งเป็นเครื่องเสมือนแบบสแต็กระดับต่ำซึ่งมีแนวคิดคล้ายกับ Java Virtual Machine หรือ WebAssembly รหัสสัญญาจะถูกจัดเก็บเป็นลำดับไบต์ โดยแต่ละไบต์แสดงถึงการดำเนินการ (opcode) ที่ EVM สามารถดำเนินการได้ โมเดลการดำเนินการนั้นจงใจเรียบง่ายและกำหนดไว้ได้: ทุกโหนดที่ใช้งาน EVM ด้วยสถานะอินพุตและธุรกรรมเดียวกันจะต้องมาถึงที่สถานะเอาต์พุตเดียวกัน เพื่อให้แน่ใจว่าได้รับความเห็นพ้องต้องกันทั่วทั้งเครือข่าย

EVM มีพื้นที่จัดเก็บข้อมูลสามประเภทที่แตกต่างกันสำหรับการคำนวณ สแต็กเป็นโครงสร้างเข้าก่อนออกก่อน (LIFO) ซึ่งจำกัดอยู่ที่ 1,024 องค์ประกอบ ซึ่งใช้สำหรับค่าการดำเนินการทันที หน่วยความจำคืออาร์เรย์ไบต์ที่ขยายได้ไม่จำกัด ซึ่งจะคงอยู่ในช่วงเวลาของการเรียกข้อความเดียวเท่านั้น และจะถูกรีเซ็ตระหว่างการประมวลผล พื้นที่จัดเก็บข้อมูลคือการจัดเก็บคีย์-ค่าถาวรที่เชื่อมโยงอย่างถาวรกับบัญชีสัญญาแต่ละบัญชี โดยที่สัญญาจะรักษาสถานะระยะยาวของธุรกรรมต่างๆ ประเภทพื้นที่จัดเก็บข้อมูลเหล่านี้มีราคาแตกต่างกันในการดำเนินการแบบแก๊ส สแต็กและการดำเนินการหน่วยความจำมีราคาถูก ในขณะที่การดำเนินการพื้นที่จัดเก็บข้อมูลมีราคาแพงเพื่อป้องกันการบวมของบล็อกเชน

ในระหว่างการดำเนินการ รหัสสัญญาจะสามารถเข้าถึงบริบทที่สำคัญได้: สามารถอ่านที่อยู่ของผู้ส่งข้อความ จำนวนอีเทอร์ที่ส่ง เพย์โหลดข้อมูลที่ผู้โทรให้มา และคุณสมบัติระดับบล็อก เช่น หมายเลขบล็อกปัจจุบัน การประทับเวลา และที่อยู่ของนักขุด รหัสสามารถส่งคืนอาร์เรย์ไบต์เอาท์พุตไปยังผู้เรียกและสามารถส่งข้อความไปยังสัญญาอื่นหรือสร้างสัญญาใหม่ได้ โมเดลการดำเนินการนี้เป็นแบบทัวริงที่สมบูรณ์ โดยสามารถวนลูปและโฟลว์การควบคุมที่ซับซ้อนได้ แต่กลไกของแก๊สช่วยให้มั่นใจได้ว่าการคำนวณทั้งหมดยุติในเวลาที่กำหนด แก้ปัญหาการหยุดชะงักในเชิงเศรษฐกิจ แทนที่จะใช้ข้อจำกัดด้านภาษา

Code Execution

Mesin Virtual Ethereum (EVM) adalah lingkungan runtime tempat kode kontrak dijalankan—mesin virtual tingkat rendah berbasis tumpukan yang konsepnya serupa dengan Mesin Virtual Java atau WebAssembly. Kode kontrak disimpan sebagai urutan byte, di mana setiap byte mewakili operasi (opcode) yang dapat dijalankan oleh EVM. Model eksekusi sengaja dibuat sederhana dan deterministik: setiap node yang menjalankan EVM dengan status input dan transaksi yang sama harus mencapai status output yang sama, sehingga memastikan konsensus di seluruh jaringan.

EVM menyediakan tiga jenis penyimpanan berbeda untuk komputasi. Tumpukan adalah struktur masuk terakhir keluar pertama (LIFO) yang dibatasi hingga 1024 elemen, digunakan untuk nilai operasi langsung. Memori adalah array byte yang dapat diperluas tanpa batas yang hanya bertahan selama satu panggilan pesan dan diatur ulang di antara eksekusi. Penyimpanan adalah penyimpanan nilai kunci persisten yang dikaitkan secara permanen dengan setiap akun kontrak, tempat kontrak mempertahankan status jangka panjangnya di seluruh transaksi. Jenis penyimpanan ini memiliki harga yang berbeda dalam hal gas—operasi tumpukan dan memori murah, sedangkan operasi penyimpanan mahal untuk mencegah pembengkakan blockchain.

Selama eksekusi, kode kontrak memiliki akses ke konteks penting: kode tersebut dapat membaca alamat pengirim pesan, jumlah eter yang dikirim, muatan data yang disediakan oleh pemanggil, dan properti tingkat blok seperti nomor blok saat ini, stempel waktu, dan alamat penambang. Kode ini dapat mengembalikan array byte keluaran ke pemanggil dan dapat mengirim pesan ke kontrak lain atau membuat kontrak baru. Model eksekusi ini adalah Turing-complete—loop dan aliran kontrol yang kompleks dimungkinkan—tetapi mekanisme gas memastikan bahwa semua komputasi berakhir dalam waktu yang terbatas, memecahkan masalah penghentian secara ekonomis dibandingkan melalui batasan bahasa.

Blockchain and Mining

บล็อกเชน Ethereum มีพื้นฐานคล้ายคลึงกับ Bitcoin โดยทำหน้าที่เป็นฐานข้อมูลที่รวบรวมทุกธุรกรรมที่เคยดำเนินการ อย่างไรก็ตาม แม้ว่า Bitcoin จะจัดเก็บเฉพาะรายการธุรกรรม แต่ Ethereum จะจัดเก็บทั้งรายการธุรกรรมและสถานะล่าสุด แต่ละบล็อกใน Ethereum ประกอบด้วยแฮชของบล็อกก่อนหน้า สถานะรูท (แฮชรูทของ Merkle Patricia trie ที่เป็นตัวแทนของสถานะทั้งหมด) รูทของธุรกรรม รูทการรับ (จัดเก็บข้อมูลจากการดำเนินการของธุรกรรม) พร้อมด้วยความยาก การประทับเวลา และค่า nonce รัฐนั้นเป็น Merkle Patricia ขนาดใหญ่ที่พยายามแมปที่อยู่กับออบเจ็กต์บัญชี โดยที่แต่ละบัญชีมียอดคงเหลือ nonce รหัส (ถ้ามี) และพื้นที่เก็บข้อมูล

Ethereum APPLY BLOCK function processing transactions and updating state

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

Blockchain Ethereum pada dasarnya mirip dengan Bitcoin, berfungsi sebagai database yang berisi setiap transaksi yang pernah dieksekusi. Namun, meskipun Bitcoin hanya menyimpan daftar transaksi, Ethereum menyimpan daftar transaksi dan status terkini. Setiap blok di Ethereum berisi hash blok sebelumnya, root status (hash root dari percobaan Merkle Patricia yang mewakili seluruh status), root transaksi, root penerimaan (menyimpan data dari eksekusi transaksi), beserta nilai kesulitan, stempel waktu, dan nonce. Negara bagian itu sendiri adalah alamat pemetaan Merkle Patricia trie yang besar ke objek akun, di mana setiap akun memiliki saldo, nonce, kode (jika ada), dan penyimpanan.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum menggunakan versi modifikasi dari protokol GHOST (Greedy Heaviest Observed Subtree) untuk mengatasi masalah keamanan yang timbul dari waktu blok yang cepat. Dalam protokol rantai terpanjang tradisional, blok cepat menyebabkan tingkat stale yang tinggi, mengurangi keamanan jaringan dan meningkatkan risiko sentralisasi karena penambang besar membuang lebih sedikit komputasi pada stales. GHOST menyertakan blok lama (disebut "paman" di Ethereum) dalam perhitungan rantai mana yang terpanjang, dan memberikan sebagian imbalan kepada blok paman, sehingga memberi insentif kepada penambang untuk mereferensikannya. Hal ini memungkinkan Ethereum mempertahankan waktu blok target sekitar 12 detik sambil menjaga keamanan jaringan.

Algoritme penambangan bekerja mirip dengan proof-of-work Bitcoin, mengharuskan penambang untuk menemukan nonce sehingga hash blok berada di bawah target kesulitan tertentu. Namun, algoritme penambangan memori keras (Ethash) Ethereum dirancang agar tahan terhadap ASIC, sehingga mendorong ekosistem penambangan yang lebih terdesentralisasi. Tingkat kesulitannya disesuaikan secara dinamis berdasarkan waktu blok untuk mempertahankan target ~12 detik, memastikan produksi blok yang konsisten sementara protokol GHOST memberikan jaminan keamanan meskipun waktu blok lebih cepat dibandingkan dengan rata-rata 10 menit Bitcoin.

Applications

แอปพลิเคชันที่สามารถสร้างได้บน Ethereum แบ่งออกเป็นสามประเภทกว้างๆ หมวดหมู่แรกคือแอปพลิเคชันทางการเงิน ที่ให้วิธีที่มีประสิทธิภาพมากขึ้นแก่ผู้ใช้ในการจัดการและเข้าทำสัญญาที่เกี่ยวข้องกับเงินของพวกเขา ซึ่งรวมถึงสกุลเงินย่อย อนุพันธ์ทางการเงิน สัญญาป้องกันความเสี่ยง กระเป๋าเงินออมที่มีขีดจำกัดการถอน พินัยกรรมที่กระจายเงินโดยอัตโนมัติ และแม้แต่สัญญาการจ้างงานที่คำนวณการชำระเงินตามความสำเร็จของงานที่ตรวจสอบแล้ว แอปพลิเคชันเหล่านี้ใช้ประโยชน์จากความสามารถในการตั้งโปรแกรมของ Ethereum เพื่อสร้างเครื่องมือทางการเงินที่ซับซ้อนซึ่งเป็นไปไม่ได้หรือยากอย่างยิ่งที่จะนำไปใช้ในระบบดั้งเดิมหรือแม้แต่บน Bitcoin

ประเภทที่สองคือการสมัครกึ่งการเงิน ซึ่งเกี่ยวข้องกับเงิน แต่ก็มีองค์ประกอบที่ไม่เป็นตัวเงินที่สำคัญสำหรับสิ่งที่กำลังทำอยู่ ตัวอย่างที่สมบูรณ์แบบคือการบังคับใช้ค่าหัวด้วยตนเองสำหรับการแก้ปัญหาทางคอมพิวเตอร์ บางคนสามารถโพสต์ปัญหาด้านการคำนวณพร้อมกับรางวัล และสัญญาสามารถตรวจสอบวิธีแก้ปัญหาที่ส่งมาได้โดยอัตโนมัติ และจ่ายเงินรางวัลให้กับคำตอบที่ถูกต้องคนแรก หมวดหมู่นี้เชื่อมโยงการเงินที่บริสุทธิ์และโดเมนอื่นๆ โดยใช้สิ่งจูงใจทางเศรษฐกิจเพื่อแก้ไขปัญหาหรือประสานพฤติกรรม

หมวดหมู่ที่สามคือแอปพลิเคชันที่ไม่เกี่ยวข้องกับเงินเลย เช่น การลงคะแนนออนไลน์ และระบบการกำกับดูแลแบบกระจายอำนาจ แอปพลิเคชันที่ไม่ใช่ทางการเงินเหล่านี้แสดงให้เห็นถึงความยืดหยุ่นของ Ethereum ในฐานะแพลตฟอร์มอเนกประสงค์ ตัวอย่างได้แก่ ระบบชื่อโดเมนแบบกระจายอำนาจ เช่น Namecoin ระบบชื่อเสียง พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจ และเครื่องมือการกำกับดูแลองค์กร ในบรรดาแอปพลิเคชันประเภทเหล่านี้ ระบบโทเค็นได้กลายเป็นระบบพื้นฐานและเป็นพื้นฐานที่สุด โดยทำหน้าที่เป็นองค์ประกอบหลักสำหรับแอปพลิเคชันอื่นๆ มากมาย

Applications

Aplikasi yang dapat dibangun di Ethereum terbagi dalam tiga kategori besar. Kategori pertama adalah aplikasi keuangan, yang memberikan pengguna cara yang lebih canggih untuk mengelola dan menandatangani kontrak yang melibatkan uang mereka. Ini termasuk sub-mata uang, derivatif keuangan, kontrak lindung nilai, dompet tabungan dengan batas penarikan, surat wasiat yang mendistribusikan dana secara otomatis, dan bahkan kontrak kerja yang menghitung pembayaran berdasarkan penyelesaian pekerjaan yang diverifikasi. Aplikasi ini memanfaatkan kemampuan program Ethereum untuk menciptakan instrumen keuangan kompleks yang tidak mungkin atau sangat sulit diterapkan dalam sistem tradisional atau bahkan pada Bitcoin.

Kategori kedua adalah aplikasi semi-keuangan, yang melibatkan uang namun ada juga komponen non-moneter yang substansial dalam apa yang dilakukan. Contoh sempurna adalah pemberian hadiah yang dipaksakan sendiri untuk solusi masalah komputasi. Seseorang dapat memposting masalah komputasi bersama dengan hadiahnya, dan kontrak dapat secara otomatis memverifikasi solusi yang diajukan dan membayar hadiah untuk jawaban pertama yang benar. Kategori ini menjembatani keuangan murni dan domain lainnya, menggunakan insentif ekonomi untuk memecahkan masalah atau mengoordinasikan perilaku.

Kategori ketiga adalah aplikasi yang tidak ada kaitannya sama sekali dengan uang, seperti pemungutan suara online dan sistem pemerintahan yang terdesentralisasi. Aplikasi non-keuangan ini menunjukkan fleksibilitas Ethereum sebagai platform tujuan umum. Contohnya termasuk sistem nama domain terdesentralisasi seperti Namecoin, sistem reputasi, penyimpanan file terdesentralisasi, dan alat tata kelola organisasi. Dari semua jenis aplikasi ini, sistem token muncul sebagai yang paling umum dan mendasar, berfungsi sebagai landasan bagi banyak aplikasi lainnya.

Token Systems

ระบบโทเค็นนั้นตรงไปตรงมาอย่างน่าประหลาดใจที่จะนำไปใช้กับ Ethereum แม้จะเป็นหนึ่งในแอปพลิเคชันที่ทรงพลังและธรรมดาที่สุดก็ตาม ที่แกนหลัก ระบบโทเค็นเป็นเพียงฐานข้อมูลที่มีการดำเนินการเพียงครั้งเดียว: ลบหน่วย X ออกจากบัญชี A และเพิ่มหน่วย X ไปยังบัญชี B โดยมีเงื่อนไขว่า A มีหน่วยอย่างน้อย X ก่อนการทำธุรกรรมและธุรกรรมได้รับอนุญาตจาก A การนำไปใช้งานจำเป็นต้องมีการดูแลรักษาการแมปที่อยู่เพื่อสร้างยอดคงเหลือ และจัดเตรียมฟังก์ชันการถ่ายโอนที่ดำเนินการตรวจสอบที่เหมาะสมก่อนที่จะย้ายโทเค็นระหว่างบัญชี

รหัสสัญญาสำหรับระบบโทเค็นพื้นฐานนั้นเรียบง่ายอย่างน่าทึ่งและสามารถเขียนได้เพียงไม่กี่บรรทัด ประกอบด้วยที่อยู่การจับคู่โครงสร้างข้อมูลกับยอดคงเหลือ ฟังก์ชันการเริ่มต้นที่กำหนดการจ่ายโทเค็นเริ่มต้น และฟังก์ชันการถ่ายโอนที่จะตรวจสอบยอดคงเหลือและการอนุญาตของผู้ส่งก่อนดำเนินการถ่ายโอน ความเรียบง่ายนี้แตกต่างโดยสิ้นเชิงกับความซับซ้อนที่จำเป็นในการใช้งานระบบที่คล้ายกันบน Bitcoin ซึ่งจะต้องใช้วิธีแก้ปัญหาและข้อจำกัดที่สำคัญ เนื่องจากความสามารถในการเขียนสคริปต์ที่จำกัดของ Bitcoin

โทเค็นบน Ethereum สามารถเป็นตัวแทนอะไรก็ได้ที่มีมูลค่า ซึ่งอาจเป็นตัวแทนของสกุลเงินย่อยที่มีนโยบายการเงินของตนเอง อนุพันธ์ทางการเงินที่ติดตามสินทรัพย์ภายนอก หุ้นบริษัทที่มีสิทธิ์ในการจ่ายเงินปันผล คะแนนความภักดีในโปรแกรมของลูกค้า สินค้าโภคภัณฑ์ เช่น ทองคำหรือน้ำมัน หรือแม้แต่การนำเสนอทรัพย์สินทางกายภาพ ความสามารถในการตั้งโปรแกรมของ Ethereum ช่วยให้โทเค็นเหล่านี้มีกฎที่กำหนดเองซึ่งควบคุมพฤติกรรม เช่น ข้อจำกัดในการโอน กลไกการเบิร์นอัตโนมัติ การจ่ายเงินปันผล หรือสิทธิ์ในการกำกับดูแล ความยืดหยุ่นนี้ทำให้ระบบโทเค็นเป็นองค์ประกอบพื้นฐานสำหรับระบบนิเวศส่วนใหญ่ของ Ethereum

Token Systems

Sistem token ternyata sangat mudah diterapkan di Ethereum, meskipun merupakan salah satu aplikasi yang paling kuat dan umum. Pada intinya, sistem token hanyalah sebuah database dengan satu operasi: kurangi X unit dari akun A dan tambahkan X unit ke akun B, dengan syarat A memiliki setidaknya X unit sebelum transaksi dan transaksi tersebut disahkan oleh A. Implementasinya memerlukan pemeliharaan pemetaan alamat ke saldo dan menyediakan fungsi transfer yang melakukan pemeriksaan yang sesuai sebelum memindahkan token antar akun.

Kode kontrak untuk sistem token dasar sangat sederhana dan dapat ditulis hanya dalam beberapa baris. Ini terdiri dari struktur data yang memetakan alamat ke saldo, fungsi inisialisasi yang menetapkan pasokan token awal, dan fungsi transfer yang memeriksa saldo dan otorisasi pengirim sebelum melakukan transfer. Kesederhanaan ini sangat kontras dengan kompleksitas yang diperlukan untuk mengimplementasikan sistem serupa di Bitcoin, yang memerlukan solusi dan batasan yang signifikan karena kemampuan skrip Bitcoin yang terbatas.

Token di Ethereum dapat mewakili hampir semua hal yang bernilai. Mereka mungkin mewakili sub-mata uang dengan kebijakan moneter mereka sendiri, derivatif keuangan yang melacak aset eksternal, saham perusahaan dengan hak dividen, poin loyalitas dalam program pelanggan, komoditas seperti emas atau minyak, atau bahkan representasi properti fisik. Kemampuan program Ethereum memungkinkan token ini memiliki aturan sewenang-wenang yang mengatur perilakunya, seperti pembatasan transfer, mekanisme pembakaran otomatis, distribusi dividen, atau hak tata kelola. Fleksibilitas ini menjadikan sistem token sebagai landasan dasar bagi sebagian besar ekosistem Ethereum.

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

Derivatif keuangan mewakili salah satu aplikasi kontrak pintar Ethereum yang paling mendasar dan penting. Kontrak lindung nilai sederhana menunjukkan mekanisme dasar: pihak A menyetor sejumlah eter senilai \(1000, pihak B menyetor jumlah yang setara, dan kontrak mencatat nilai eter USD pada saat itu menggunakan umpan data. Setelah 30 hari, kontrak menghitung ulang nilainya dan mengirimkan eter senilai \)1000 ke A dan sisanya ke B. Jika harga eter naik, A menerima lebih sedikit eter tetapi mempertahankan nilai $1000; jika jatuh, A menerima lebih banyak eter untuk mempertahankan nilainya. Hal ini memungkinkan A melakukan lindung nilai terhadap volatilitas sementara B berspekulasi mengenai pergerakan harga.

Implementasi kontrak tersebut memerlukan akses ke data eksternal melalui kontrak oracle atau data feed. Oracle ini memberikan informasi harga, data cuaca, atau informasi dunia nyata lainnya yang perlu dilaksanakan oleh kontrak dengan benar. Meskipun oracle memperkenalkan ketergantungan kepercayaan, mereka dapat dirancang dengan redundansi dan insentif ekonomi kripto untuk menyediakan data yang andal. Kontrak itu sendiri hanya menanyakan oracle, melakukan penghitungan berdasarkan data tersebut, dan mendistribusikan dana sesuai dengan logika terprogramnya.

Stablecoin dan instrumen keuangan yang lebih kompleks dapat dibangun menggunakan mekanisme serupa. Kontrak stablecoin mungkin mempertahankan cadangan eter dan menerbitkan token yang dipatok ke mata uang fiat, secara otomatis menyesuaikan persyaratan pasokan atau jaminan berdasarkan harga. Kontrak opsi, kontrak berjangka, swap, dan turunan lainnya yang biasanya memerlukan kerangka hukum yang rumit dan perantara tepercaya dapat dikodekan sebagai kontrak pintar yang dapat dijalankan sendiri. Infrastruktur keuangan yang dapat diprogram ini memungkinkan rekayasa keuangan yang canggih dengan tetap menjaga transparansi dan jaminan keamanan teknologi blockchain.

Identity and Reputation Systems

ระบบการลงทะเบียนชื่อที่คล้ายกับ Namecoin สามารถนำไปใช้ได้เพียงเล็กน้อยบน Ethereum และทำหน้าที่เป็นตัวอย่างที่ง่ายที่สุดของระบบการระบุตัวตน สัญญาจะดูแลรักษาฐานข้อมูลที่มีชื่อการแมปตารางคีย์-ค่ากับข้อมูลที่เกี่ยวข้อง (เช่น ที่อยู่ IP คีย์สาธารณะ หรือข้อมูลอื่นๆ) ใครๆ ก็สามารถลงทะเบียนชื่อได้โดยส่งธุรกรรมไปยังสัญญาพร้อมกับค่าธรรมเนียมการลงทะเบียนเล็กน้อย โดยที่ชื่อนั้นยังไม่ได้ถูกนำไปใช้ เจ้าของสามารถอัปเดตข้อมูลที่เกี่ยวข้องได้ตลอดเวลา และชื่อสามารถโอนหรือถาวรได้ตามกฎที่เข้ารหัสในสัญญา

คุณสามารถสร้างระบบการระบุตัวตนขั้นสูงเพิ่มเติมบนรากฐานนี้เพื่อรวมคะแนนชื่อเสียง เว็บของความสัมพันธ์ที่ไว้วางใจ และการยืนยันตัวตนแบบกระจายอำนาจ ตัวอย่างเช่น สัญญาสามารถรักษาคะแนนชื่อเสียงตามธุรกรรมที่ตรวจสอบแล้ว การให้คะแนนโดยผู้ทรงคุณวุฒิ หรือความสมบูรณ์ของงาน คะแนนเหล่านี้จะเปิดเผยต่อสาธารณะและเชื่อมโยงกับที่อยู่เฉพาะด้วยการเข้ารหัส ทำให้เกิดชื่อเสียงแบบพกพาที่ติดตามผู้ใช้ทั่วทั้งแอปพลิเคชัน เว็บของระบบความน่าเชื่อถือสามารถอนุญาตให้ผู้ใช้รับรองตัวตนของผู้อื่น โดยสร้างกราฟทางสังคมที่ช่วยแยกแยะผู้ใช้ที่ถูกกฎหมายออกจากผู้ไม่ประสงค์ดี

ระบบการระบุตัวตนและชื่อเสียงดังกล่าวจะมีประสิทธิภาพเป็นพิเศษเมื่อรวมเข้ากับแอปพลิเคชันอื่นๆ ตลาดอาจต้องมีคะแนนชื่อเสียงขั้นต่ำสำหรับผู้ขาย แพลตฟอร์มสินเชื่อสามารถปรับอัตราดอกเบี้ยตามชื่อเสียงของผู้ยืม หรือเครือข่ายโซเชียลอาจใช้เว็บแห่งความไว้วางใจเพื่อกรองสแปมและเนื้อหาที่ฉ้อโกง ด้วยการจัดหาโครงสร้างพื้นฐานที่ใช้ร่วมกันสำหรับข้อมูลระบุตัวตนที่แอปพลิเคชันใดๆ สามารถตรวจสอบได้ Ethereum จึงเปิดใช้งานแอปพลิเคชันที่อิงความน่าเชื่อถือระดับใหม่ซึ่งไม่ต้องพึ่งพาผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์หรือระบบชื่อเสียงที่เป็นกรรมสิทธิ์

Identity and Reputation Systems

Sistem registrasi nama yang mirip dengan Namecoin dapat diterapkan dengan mudah di Ethereum dan berfungsi sebagai contoh paling sederhana dari sistem identitas. Kontrak memelihara database dengan nama pemetaan tabel nilai kunci ke data terkait (seperti alamat IP, kunci publik, atau informasi lainnya). Siapa pun dapat mendaftarkan nama dengan mengirimkan transaksi ke kontrak dengan sedikit biaya pendaftaran, dengan syarat nama tersebut belum diambil. Pemilik dapat memperbarui data terkait kapan saja, dan nama dapat dibuat dapat dialihkan atau permanen sesuai dengan aturan yang tercantum dalam kontrak.

Sistem identitas yang lebih canggih dapat dibangun di atas landasan ini untuk mencakup skor reputasi, jaringan hubungan kepercayaan, dan verifikasi identitas yang terdesentralisasi. Misalnya, sebuah kontrak dapat mempertahankan skor reputasi berdasarkan transaksi terverifikasi, peringkat rekan, atau penyelesaian tugas. Skor ini akan terlihat secara publik dan secara kriptografis dikaitkan dengan alamat tertentu, sehingga menciptakan reputasi portabel yang dapat mengikuti pengguna di seluruh aplikasi. Sistem jaringan kepercayaan dapat memungkinkan pengguna untuk menjamin identitas orang lain, membangun grafik sosial yang membantu membedakan pengguna yang sah dari pelaku kejahatan.

Sistem identitas dan reputasi tersebut menjadi sangat kuat ketika terintegrasi dengan aplikasi lain. Pasar mungkin memerlukan skor reputasi minimum untuk penjual, platform pinjaman dapat menyesuaikan suku bunga berdasarkan reputasi peminjam, atau jaringan sosial dapat menggunakan web kepercayaan untuk memfilter spam dan konten penipuan. Dengan menyediakan infrastruktur bersama untuk identitas yang dapat ditanyakan oleh aplikasi apa pun, Ethereum memungkinkan kelas baru aplikasi berbasis kepercayaan yang tidak bergantung pada penyedia identitas terpusat atau sistem reputasi kepemilikan.

Decentralized File Storage

พื้นที่จัดเก็บไฟล์แบบกระจายอำนาจสามารถดำเนินการผ่านสัญญา Ethereum ที่ประสานงานระหว่างผู้ใช้ที่ต้องการพื้นที่เก็บข้อมูลและผู้ให้บริการที่เสนอพื้นที่ดังกล่าว ในรูปแบบ "Dropbox แบบกระจายอำนาจ" ผู้ใช้จะต้องจ่ายค่าธรรมเนียมรายเดือนในการอัพโหลดไฟล์ โดยสัญญาจะกระจายการชำระเงินให้กับผู้ให้บริการพื้นที่จัดเก็บข้อมูลที่พิสูจน์ได้ว่าพวกเขากำลังจัดเก็บข้อมูลอยู่จริง กลไกการพิสูจน์ทำงานผ่านความท้าทายในการเข้ารหัสเป็นระยะ: สัญญาจะสุ่มเลือกส่วนของไฟล์และขอให้ผู้ให้บริการจัดหาการพิสูจน์ต้นไม้ของ Merkle เพื่อแสดงให้เห็นว่าพวกเขามีข้อมูลนั้น ผู้ให้บริการที่ล้มเหลวในการท้าทายหรือออฟไลน์จะสูญเสียเงินฝากและกระแสการชำระเงินในอนาคต

วิธีการนี้มีข้อดีหลายประการเหนือการจัดเก็บข้อมูลแบบรวมศูนย์ การพิสูจน์ต้นไม้ของ Merkle ช่วยให้การตรวจสอบมีประสิทธิภาพ—ผู้ใช้และสัญญาสามารถยืนยันความพร้อมใช้งานของไฟล์ได้โดยไม่ต้องดาวน์โหลดไฟล์ทั้งหมด ระบบจะกระจายไฟล์ไปยังผู้ให้บริการอิสระหลายรายอย่างเป็นธรรมชาติ สร้างความซ้ำซ้อนโดยไม่ต้องใช้โปรโตคอลการจำลองแบบที่ชัดเจน สิ่งจูงใจทางเศรษฐกิจปรับพฤติกรรมของผู้ให้บริการให้สอดคล้องกับความต้องการของผู้ใช้: ผู้ให้บริการสร้างรายได้จากการจัดเก็บข้อมูลที่เชื่อถือได้ และสูญเสียเงินหากไม่ทำเช่นนั้น ซึ่งช่วยลดข้อกำหนดด้านความน่าเชื่อถือที่มีอยู่ในโซลูชันการจัดเก็บข้อมูลแบบรวมศูนย์

ต้นทุนการจัดเก็บข้อมูลในระบบดังกล่าวอาจต่ำกว่าทางเลือกแบบรวมศูนย์ด้วยเหตุผลหลายประการ การกำจัดการกำหนดราคาแบบผูกขาดทำให้การแข่งขันในตลาดสามารถลดต้นทุนให้ใกล้เคียงกับต้นทุนการจัดเก็บที่แท้จริงได้ ความซ้ำซ้อนโดยนัยจากผู้ใช้หลายรายที่จัดเก็บไฟล์ที่คล้ายกันสามารถลดความต้องการพื้นที่เก็บข้อมูลทั้งหมดได้ ไม่จำเป็นต้องมีโครงสร้างพื้นฐานศูนย์ข้อมูลที่มีราคาแพงหรือค่าใช้จ่ายขององค์กร อย่างไรก็ตาม ความท้าทายยังคงอยู่เกี่ยวกับกลไกการชำระเงิน การรับรองการมีส่วนร่วมของผู้ให้บริการอย่างเพียงพอ และการจัดการการแลกเปลี่ยนระหว่างความซ้ำซ้อนและต้นทุน แม้จะมีความท้าทายเหล่านี้ พื้นที่จัดเก็บข้อมูลแบบกระจายอำนาจแสดงให้เห็นว่า Ethereum สามารถประสานงานการโต้ตอบหลายฝ่ายที่ซับซ้อนผ่านสิ่งจูงใจทางเศรษฐกิจเพียงอย่างเดียวได้อย่างไร

Decentralized File Storage

Penyimpanan file terdesentralisasi dapat diterapkan melalui kontrak Ethereum yang berkoordinasi antara pengguna yang membutuhkan penyimpanan dan penyedia yang menawarkannya. Dalam model "Dropbox terdesentralisasi", pengguna akan membayar biaya bulanan untuk mengunggah file, dengan kontrak yang mendistribusikan pembayaran ke penyedia penyimpanan yang membuktikan bahwa mereka benar-benar menyimpan data. Mekanisme pembuktian bekerja melalui tantangan kriptografi berkala: kontrak secara acak memilih bagian file dan meminta penyedia untuk memberikan bukti pohon Merkle yang menunjukkan bahwa mereka memiliki data tersebut. Penyedia yang gagal dalam tantangan atau offline akan kehilangan simpanan dan aliran pembayaran di masa mendatang.

Pendekatan ini menawarkan beberapa keunggulan dibandingkan penyimpanan terpusat. Bukti pohon Merkle memungkinkan verifikasi yang efisien—pengguna dan kontrak dapat mengonfirmasi ketersediaan file tanpa mengunduh seluruh file. Sistem secara alami mendistribusikan file ke beberapa penyedia independen, menciptakan redundansi tanpa memerlukan protokol replikasi yang eksplisit. Insentif ekonomi menyelaraskan perilaku penyedia layanan dengan kebutuhan pengguna: penyedia layanan mendapatkan uang dengan menyimpan data secara andal dan kehilangan uang jika mereka gagal melakukannya. Hal ini menghilangkan persyaratan kepercayaan yang melekat pada solusi penyimpanan terpusat.

Biaya penyimpanan dalam sistem seperti itu berpotensi lebih rendah dibandingkan alternatif terpusat karena beberapa alasan. Penghapusan harga monopoli memungkinkan persaingan pasar menurunkan biaya hingga mendekati biaya penyimpanan sebenarnya. Redundansi implisit dari beberapa pengguna yang menyimpan file serupa dapat mengurangi total kebutuhan penyimpanan. Tidak diperlukan infrastruktur pusat data yang mahal atau biaya overhead perusahaan. Namun, masih terdapat tantangan seputar mekanisme pembayaran, memastikan partisipasi penyedia layanan yang memadai, dan mengelola trade-off antara redundansi dan biaya. Terlepas dari tantangan-tantangan ini, penyimpanan terdesentralisasi menunjukkan bagaimana Ethereum dapat mengoordinasikan interaksi multi-pihak yang kompleks melalui insentif ekonomi saja.

Decentralized Autonomous Organizations

องค์กรอิสระแบบกระจายอำนาจ (DAO) เป็นนิติบุคคลเสมือนที่มีกลุ่มสมาชิกหรือผู้ถือหุ้นที่มีสิทธิร่วมกันในการใช้เงินทุนของนิติบุคคลและแก้ไขรหัส DAO ทั่วไปดำเนินการด้วยกฎง่ายๆ: สมาชิก 67% จำเป็นต้องตัดสินใจใช้จ่ายหรือแก้ไขรหัสขององค์กร สมาชิกสามารถส่งข้อเสนอ ลงคะแนนเสียง และหากข้อเสนอได้รับการสนับสนุนเพียงพอ สัญญาจะดำเนินการตัดสินใจโดยอัตโนมัติ หุ้นสมาชิกสามารถโอนได้ ทำให้ตลาดมีสภาพคล่องสำหรับการเข้าร่วม DAO และหุ้นประเภทต่างๆ สามารถมีสิทธิในการออกเสียงหรือสิทธิทางเศรษฐกิจที่แตกต่างกัน

การออกแบบ DAO ที่ง่ายที่สุดคือสัญญาที่ปรับเปลี่ยนได้เองซึ่งจะเก็บรักษารายชื่อสมาชิกและต้องใช้คะแนนเสียงข้างมาก 2/3 เพื่อเปลี่ยนแปลงแง่มุมใดๆ ของสัญญา รวมถึงกฎการลงคะแนนของตัวเองด้วย สมาชิกจะส่งการเปลี่ยนแปลงรหัสเป็นธุรกรรม สมาชิกคนอื่นๆ จะลงคะแนน และเมื่อถึงเกณฑ์ สัญญาจะอัปเดตตัวเอง การออกแบบที่ซับซ้อนมากขึ้นอาจรวมถึงระบบการลงคะแนนเสียงแบบมอบหมายซึ่งสมาชิกสามารถกำหนดอำนาจการลงคะแนนของตนให้กับตัวแทนได้ หรือระบบประชาธิปไตยแบบเหลวซึ่งสามารถมอบหมายคะแนนเสียงได้ แต่จะได้รับสิทธิ์คืนเมื่อใดก็ได้สำหรับการตัดสินใจที่สำคัญ

DAO สามารถตอบสนองวัตถุประสงค์ที่หลากหลายนอกเหนือจากการจัดการกองทุนธรรมดาๆ DAO สามารถทำหน้าที่เป็นบริษัทที่มีการกระจายอำนาจ จ้างผู้รับเหมา ซื้อบริการ และกระจายผลกำไรให้กับผู้ถือหุ้น ทั้งหมดนี้อยู่ภายใต้การควบคุมของรหัสสัญญาอัจฉริยะมากกว่าโครงสร้างทางกฎหมายแบบดั้งเดิม สามารถดำเนินการเป็นกองทุนรวมที่กระจายอำนาจได้ โดยสมาชิกจะลงคะแนนเสียงว่าโครงการใดที่จะให้ทุน สามารถจัดการทรัพยากรทั่วไปได้ โดยผู้มีส่วนได้ส่วนเสียลงคะแนนในกฎการจัดสรร ข้อมูลเชิงลึกที่สำคัญคือด้วยการเข้ารหัสกฎการกำกับดูแลด้วยโค้ดที่โปร่งใสและไม่เปลี่ยนรูป และเชื่อมโยงกับผลประโยชน์ทางเศรษฐกิจ DAO สามารถประสานงานการตัดสินใจของกลุ่มโดยไม่ต้องมีการจัดการแบบลำดับชั้นแบบดั้งเดิมหรือการบังคับใช้กฎหมาย

Decentralized Autonomous Organizations

Organisasi Otonomi Terdesentralisasi (DAO) adalah entitas virtual yang memiliki sekumpulan anggota atau pemegang saham yang secara kolektif memiliki hak untuk membelanjakan dana entitas dan mengubah kodenya. DAO tipikal beroperasi dengan aturan sederhana: 67% anggota diperlukan untuk membuat keputusan pengeluaran atau mengubah kode organisasi. Anggota dapat mengajukan proposal, memberikan suaranya, dan jika sebuah proposal mendapat dukungan yang memadai, kontrak secara otomatis melaksanakan keputusannya. Saham keanggotaan dapat dialihkan, memungkinkan pasar yang likuid untuk partisipasi DAO, dan kelas saham yang berbeda dapat memiliki hak suara atau klaim ekonomi yang berbeda.

Desain DAO yang paling sederhana adalah kontrak yang dapat dimodifikasi sendiri yang mempertahankan daftar anggota dan memerlukan 2/3 suara mayoritas untuk mengubah segala aspek kontrak, termasuk aturan pemungutan suara sendiri. Anggota akan mengirimkan perubahan kode saat transaksi, anggota lain akan memilih, dan setelah mencapai ambang batas, kontrak akan diperbarui sendiri. Desain yang lebih canggih mungkin mencakup sistem pemungutan suara yang didelegasikan di mana anggota dapat menyerahkan hak suara mereka kepada perwakilan, atau demokrasi cair di mana suara dapat didelegasikan tetapi dapat diambil kembali kapan saja untuk pengambilan keputusan penting.

DAO dapat melayani berbagai tujuan di luar pengelolaan dana sederhana. DAO dapat berfungsi sebagai perusahaan terdesentralisasi, mempekerjakan kontraktor, membeli layanan, dan mendistribusikan keuntungan kepada pemegang saham—semuanya diatur oleh kode kontrak pintar dan bukan struktur hukum tradisional. Ini dapat beroperasi sebagai dana investasi terdesentralisasi, dengan anggota memberikan suara pada proyek mana yang akan didanai. Pemerintah dapat mengelola sumber daya milik bersama, dengan para pemangku kepentingan memberikan suara mengenai aturan alokasi. Wawasan utamanya adalah dengan mengkodekan peraturan tata kelola dalam kode yang transparan dan tidak dapat diubah serta mengaitkannya dengan kepentingan ekonomi, DAO dapat mengoordinasikan keputusan kelompok tanpa memerlukan manajemen hierarki tradisional atau penegakan hukum.

Further Applications

นอกเหนือจากหมวดหมู่หลักๆ ที่กล่าวถึงแล้ว Ethereum ยังเปิดใช้งานแอปพลิเคชันอื่นๆ อีกมากมาย กระเป๋าเงินออมทรัพย์ที่มีคุณสมบัติความปลอดภัยที่ซับซ้อนสามารถกำหนดวงเงินการถอนรายวันได้ในขณะที่ให้กุญแจฉุกเฉินสำหรับการกู้คืน ปกป้องผู้ใช้จากการโจรกรรมในขณะที่ยังคงการควบคุมขั้นสูงสุด สัญญาประกันพืชผลสามารถจ่ายเงินให้เกษตรกรโดยอัตโนมัติตามฟีดข้อมูลสภาพอากาศ ขจัดการดำเนินการเรียกร้องค่าสินไหมทดแทน และลดค่าใช้จ่ายในการบริหารจัดการ แอปพลิเคชันการพนันแบบเพียร์ทูเพียร์สามารถทำงานได้โดยไม่ต้องมีคนกลางที่เชื่อถือได้ โดยมีสัญญาอัจฉริยะที่ถือหุ้นและจ่ายเงินให้ผู้ชนะโดยอัตโนมัติตามตัวเลขสุ่มที่ตรวจสอบได้หรือข้อมูลเหตุการณ์ในโลกแห่งความเป็นจริง

ตลาดการทำนายแบบออนไลน์ช่วยให้ผู้ใช้สามารถเดิมพันเหตุการณ์ในอนาคต สร้างกลไกการพยากรณ์ที่มีประสิทธิภาพผ่านภูมิปัญญาของฝูงชน สิ่งเหล่านี้สามารถเสริมด้วยโปรโตคอลสไตล์ SchellingCoin เพื่อสร้างออราเคิลแบบกระจายอำนาจ: ผู้เข้าร่วมรายงานข้อมูลอย่างอิสระ (เช่น ผลการเลือกตั้งหรือสภาพอากาศ) และผู้ที่มีรายงานตรงกับคนส่วนใหญ่จะได้รับรางวัลในขณะที่ค่าผิดปกติจะถูกลงโทษ แนวทางเศรษฐศาสตร์เข้ารหัสนี้กระตุ้นให้เกิดการรายงานที่ตรงไปตรงมา และสามารถให้ข้อมูลในโลกแห่งความเป็นจริงที่เชื่อถือได้แก่สัญญาอื่นๆ โดยไม่ต้องอาศัยความไว้วางใจจากผู้ให้บริการ Oracle รายใดรายหนึ่ง

กระเป๋าเงินหลายลายเซ็นเป็นตัวแทนของแอปพลิเคชันที่สำคัญอีกชนิดหนึ่ง ช่วยให้สามารถควบคุมเงินทุนร่วมกันระหว่างหลายฝ่ายได้ multi-sig wallet 2 ใน 3 อาจต้องมีฝ่ายที่ได้รับมอบหมายสองในสามฝ่ายอนุมัติธุรกรรมก่อนจึงจะสามารถใช้เงินทุนได้ ซึ่งมีประโยชน์สำหรับการจัดการเอสโครว์ คลังสมบัติของบริษัท หรือความปลอดภัยส่วนบุคคล ตลาดกลางแบบกระจายอำนาจสามารถรวมระบบการระบุตัวตน คะแนนชื่อเสียง สัญญาเอสโครว์ และกลไกการระงับข้อพิพาท เพื่อให้สามารถซื้อขายแบบเพียร์ทูเพียร์ได้โดยไม่ต้องมีแพลตฟอร์มแบบรวมศูนย์ แต่ละแอปพลิเคชันเหล่านี้แสดงให้เห็นว่าความสามารถในการโปรแกรมของ Ethereum ช่วยให้เกิดโมเดลความน่าเชื่อถือและโครงสร้างองค์กรแบบใหม่ได้อย่างไร

Further Applications

Di luar kategori utama yang telah dibahas, Ethereum memungkinkan banyak aplikasi lainnya. Dompet tabungan dengan fitur keamanan canggih dapat menerapkan batas penarikan harian sambil memberikan kunci darurat untuk pemulihan, melindungi pengguna dari pencurian sambil mempertahankan kendali penuh. Kontrak asuransi tanaman dapat secara otomatis membayar petani berdasarkan data cuaca, menghilangkan pemrosesan klaim dan mengurangi biaya administrasi. Aplikasi perjudian peer-to-peer dapat beroperasi tanpa perantara tepercaya, dengan kontrak pintar yang memegang taruhan dan secara otomatis membayar pemenang berdasarkan nomor acak yang dapat diverifikasi atau data peristiwa dunia nyata.

Pasar prediksi on-chain memungkinkan pengguna untuk bertaruh pada kejadian di masa depan, menciptakan mekanisme perkiraan yang kuat melalui kebijaksanaan orang banyak. Hal ini dapat ditambah dengan protokol gaya SchellingCoin untuk menciptakan oracle yang terdesentralisasi: peserta secara independen melaporkan data (seperti hasil pemilu atau kondisi cuaca), dan peserta yang laporannya cocok dengan mayoritas akan menerima hadiah sementara yang outlier akan dikenakan sanksi. Pendekatan ekonomi kripto ini memberi insentif pada pelaporan yang jujur ​​dan dapat memberikan data dunia nyata yang dapat diandalkan untuk kontrak lain tanpa memerlukan kepercayaan pada penyedia oracle mana pun.

Dompet multi-tanda tangan mewakili aplikasi penting lainnya, memungkinkan kontrol dana bersama antara banyak pihak. Dompet multi-tanda 2 dari 3 mungkin memerlukan dua dari tiga pihak yang ditunjuk untuk menyetujui transaksi sebelum dana dapat dibelanjakan, berguna untuk pengaturan escrow, perbendaharaan perusahaan, atau keamanan pribadi. Pasar yang terdesentralisasi dapat menggabungkan sistem identitas, skor reputasi, kontrak escrow, dan mekanisme penyelesaian sengketa untuk memungkinkan perdagangan peer-to-peer tanpa platform terpusat. Masing-masing aplikasi ini menunjukkan bagaimana kemampuan program Ethereum memungkinkan model kepercayaan dan struktur organisasi baru.

Miscellanea And Concerns

การใช้งานโปรโตคอล GHOST ที่ได้รับการแก้ไขของ Ethereum รวมถึงกฎเฉพาะสำหรับการเข้าร่วมและรางวัลของลุง ลุงต้องเป็นลูกโดยตรงของบรรพบุรุษของบล็อกปัจจุบัน (ระหว่าง 2 ถึง 7 รุ่นหลัง) ต้องเป็นส่วนหัวของบล็อกที่ถูกต้อง ต้องแตกต่างจากลุงคนก่อน และต้องไม่ใช่บรรพบุรุษโดยตรงของบล็อกปัจจุบัน บล็อกลุงจะได้รับรางวัลบล็อกมาตรฐาน 87.5% ในขณะที่บล็อกที่รวมจะได้รับเพิ่มอีก 3.125% ต่อลุงหนึ่งคน (สูงสุดสองคน) โครงสร้างสิ่งจูงใจนี้สนับสนุนให้นักขุดอ้างอิงบล็อกเก่าที่พวกเขาสังเกตเห็น ซึ่งช่วยเพิ่มความปลอดภัยให้กับเครือข่าย ในขณะเดียวกันก็ให้รางวัลแก่นักขุดที่ประสบโชคร้ายชั่วคราวจากการเผยแพร่เครือข่าย

ระบบค่าธรรมเนียมขึ้นอยู่กับแนวคิดของ "แก๊ส" ซึ่งการดำเนินการคำนวณทุกครั้งจะมีต้นทุนก๊าซคงที่ ตัวอย่างเช่น การดำเนินการคูณต้องใช้แก๊ส 5 ชิ้น แฮช SHA256 ต้องใช้แก๊ส 20 ชิ้น และทุกธุรกรรมมีต้นทุนฐานอยู่ที่ 21,000 Gas ผู้ใช้ระบุทั้งขีดจำกัดของก๊าซ (ก๊าซสูงสุดที่พวกเขายินดีใช้) และราคาก๊าซ (พวกเขาจะต้องจ่ายอีเทอร์เท่าไรต่อหน่วยของก๊าซ) ระบบนี้มีจุดประสงค์หลายประการ: ป้องกันการโจมตีแบบวนซ้ำไม่สิ้นสุดและการโจมตีแบบปฏิเสธการให้บริการโดยรับรองว่าการคำนวณทั้งหมดได้รับการชำระ สร้างตลาดสำหรับพื้นที่บล็อกที่ผู้ใช้เสนอราคาผ่านราคาน้ำมัน และช่วยให้ผู้ขุดสามารถกำหนดราคาก๊าซขั้นต่ำที่พวกเขายินดียอมรับ เพื่อปกป้องทรัพยากรเครือข่าย

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

ความสามารถในการปรับขนาดยังคงเป็นข้อกังวลที่สำคัญ เนื่องจากทุกโหนดแบบเต็มจะต้องประมวลผลทุกธุรกรรมเพื่อตรวจสอบสถานะ สถาปัตยกรรมบล็อกเชนในปัจจุบันต้องดิ้นรนเพื่อให้ตรงกับปริมาณธุรกรรมของระบบรวมศูนย์ โซลูชันที่เป็นไปได้ ได้แก่ การแยกส่วนสถานะ โดยที่โหนดที่แตกต่างกันประมวลผลชุดย่อยของธุรกรรมที่แตกต่างกัน และการเปลี่ยนจาก proof-of-work ไปเป็นฉันทามติแบบ Proof-of-stake ซึ่งอาจช่วยให้การผลิตบล็อกมีประสิทธิภาพมากขึ้น ลูกค้า Light ที่ใช้การพิสูจน์ Merkle สามารถตรวจสอบธุรกรรมได้โดยไม่ต้องประมวลผลบล็อกทั้งหมด แต่บางคนยังต้องประมวลผลทุกอย่าง ความท้าทายด้านความสามารถในการปรับขนาดเหล่านี้แสดงถึงขอบเขตการวิจัยและพัฒนาที่มีความสำคัญต่อความมีชีวิตในระยะยาวของ Ethereum

Miscellanea And Concerns

Implementasi Ethereum terhadap protokol GHOST yang dimodifikasi mencakup aturan khusus untuk penyertaan dan penghargaan paman. Paman harus merupakan anak langsung dari nenek moyang blok saat ini (antara 2 dan 7 generasi ke belakang), harus merupakan header blok yang valid, harus berbeda dari paman sebelumnya, dan tidak boleh merupakan nenek moyang langsung dari blok saat ini. Blok paman menerima 87,5% dari hadiah blok standar, sedangkan blok yang menyertakan menerima tambahan 3,125% per paman yang disertakan (hingga dua paman). Struktur insentif ini mendorong para penambang untuk mereferensikan blok-blok usang yang mereka amati, memperkuat keamanan jaringan sekaligus memberikan penghargaan kepada para penambang yang mengalami nasib buruk sementara dalam propagasi jaringan.

Sistem biaya ini didasarkan pada konsep "gas", di mana setiap operasi komputasi memiliki biaya gas yang tetap. Misalnya, operasi perkalian memerlukan biaya 5 gas, hash SHA256 memerlukan biaya 20 gas, dan setiap transaksi memiliki biaya dasar sebesar 21.000 gas. Pengguna menentukan batas gas (gas maksimum yang ingin mereka konsumsi) dan harga gas (berapa banyak ether yang akan mereka bayarkan per unit gas). Sistem ini memiliki banyak tujuan: mencegah loop tak terbatas dan serangan penolakan layanan dengan memastikan semua komputasi dibayar, menciptakan pasar untuk ruang blok tempat pengguna menawar melalui harga gas, dan memungkinkan penambang menetapkan harga gas minimum yang bersedia mereka terima, sehingga melindungi sumber daya jaringan.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Skalabilitas tetap menjadi perhatian yang signifikan, karena setiap node penuh harus memproses setiap transaksi untuk memverifikasi status. Arsitektur blockchain saat ini kesulitan untuk menyamai throughput transaksi sistem terpusat. Solusi potensial mencakup state sharding, di mana node yang berbeda memproses subset transaksi yang berbeda, dan transisi dari proof-of-work ke konsensus bukti kepemilikan, yang memungkinkan produksi blok lebih efisien. Klien ringan yang menggunakan bukti Merkle dapat memverifikasi transaksi tanpa memproses semua blok, namun seseorang tetap harus memproses semuanya. Tantangan skalabilitas ini mewakili bidang penelitian dan pengembangan aktif yang penting bagi kelangsungan jangka panjang Ethereum.

Conclusion

โปรโตคอล Ethereum เดิมทีถูกมองว่าเป็นเวอร์ชันอัปเกรดของสกุลเงินดิจิทัล โดยให้คุณสมบัติขั้นสูง เช่น เอสโครว์บนบล็อกเชน ขีดจำกัดการถอน และสัญญาทางการเงินผ่านภาษาการเขียนโปรแกรมทั่วไป อย่างไรก็ตาม โปรโตคอล Ethereum เคลื่อนไหวไปไกลกว่าแค่สกุลเงิน โปรโตคอลเกี่ยวกับการจัดเก็บไฟล์แบบกระจายอำนาจ การคำนวณแบบกระจายอำนาจ และตลาดการคาดการณ์แบบกระจายอำนาจ ท่ามกลางแนวคิดอื่นๆ มากมาย มีศักยภาพที่จะเพิ่มประสิทธิภาพอย่างมากของอุตสาหกรรมการคำนวณ และช่วยเพิ่มประสิทธิภาพของโปรโตคอลแบบเพียร์ทูเพียร์อื่นๆ ได้อย่างมาก โดยการเพิ่มชั้นทางเศรษฐกิจเป็นครั้งแรก

แทนที่จะจัดเตรียมชุดการดำเนินการที่จำกัดซึ่งออกแบบมาสำหรับกรณีการใช้งานเฉพาะ Ethereum จัดเตรียมภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ซึ่งช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันใดๆ ที่พวกเขาสามารถออกแบบได้ ต้องการประดิษฐ์อนุพันธ์ทางการเงินของคุณเองหรือไม่? สร้างสกุลเงินของคุณเองเหรอ? จัดตั้งรัฐบาลบนบล็อคเชนเหรอ? สิ่งเหล่านี้สามารถนำไปใช้ได้จริงกับระบบการเขียนสคริปต์ของ Ethereum พลังของแพลตฟอร์มไม่ได้อยู่ที่การคาดการณ์ว่าแอปพลิเคชันใดจะถูกสร้างขึ้น แต่อยู่ที่การจัดหาโครงสร้างพื้นฐานพื้นฐานที่ทำให้การสร้างเป็นเรื่องง่าย

แนวคิดของฟังก์ชันการเปลี่ยนสถานะตามอำเภอใจที่นำมาใช้โดยโปรโตคอล Ethereum มอบแพลตฟอร์มที่มีศักยภาพเฉพาะตัว แทนที่จะเป็นโปรโตคอลแบบปลายปิดที่มีจุดประสงค์เดียวสำหรับแอปพลิเคชันเฉพาะในการจัดเก็บข้อมูล การพนัน หรือการเงิน Ethereum เป็นโปรโตคอลปลายเปิดที่ได้รับการออกแบบ และเราเชื่อว่ามีความเหมาะสมอย่างยิ่งที่จะทำหน้าที่เป็นเลเยอร์พื้นฐานสำหรับโปรโตคอลทั้งทางการเงินและไม่ใช่ทางการเงินจำนวนมากในปีต่อๆ ไป แอปพลิเคชันที่จะสร้างขึ้นบน Ethereum ในอนาคตอาจเป็นแอปพลิเคชันที่เราไม่สามารถจินตนาการได้ในปัจจุบัน และความเป็นไปได้แบบปลายเปิดนั้นแสดงถึงคำมั่นสัญญาที่แท้จริงของแพลตฟอร์ม

Conclusion

Protokol Ethereum pada awalnya dipahami sebagai versi mata uang kripto yang ditingkatkan, menyediakan fitur-fitur canggih seperti escrow di blockchain, batas penarikan, dan kontrak keuangan melalui bahasa pemrograman yang sangat umum. Namun, protokol Ethereum tidak hanya sekedar mata uang. Protokol seputar penyimpanan file terdesentralisasi, komputasi terdesentralisasi, dan pasar prediksi terdesentralisasi, di antara lusinan konsep lainnya, memiliki potensi untuk meningkatkan efisiensi industri komputasi secara signifikan dan memberikan dorongan besar pada protokol peer-to-peer lainnya dengan menambahkan lapisan ekonomi untuk pertama kalinya.

Daripada menyediakan serangkaian operasi terbatas yang dirancang untuk kasus penggunaan tertentu, Ethereum menyediakan bahasa pemrograman lengkap Turing yang memungkinkan pengembang membangun aplikasi apa pun yang dapat mereka desain. Ingin menciptakan derivatif keuangan Anda sendiri? Buat mata uang Anda sendiri? Membentuk pemerintahan di blockchain? Ini semua dapat diimplementasikan dengan mudah dengan sistem skrip Ethereum. Kekuatan platform tidak terletak pada prediksi aplikasi apa yang akan dibangun, namun pada penyediaan infrastruktur dasar yang memudahkan pembuatannya.

Konsep fungsi transisi keadaan sewenang-wenang seperti yang diterapkan oleh protokol Ethereum menyediakan platform dengan potensi unik. Daripada menjadi protokol tertutup dan bertujuan tunggal yang ditujukan untuk aplikasi spesifik dalam penyimpanan data, perjudian, atau keuangan, Ethereum dirancang dengan tujuan terbuka, dan kami yakin ini sangat cocok untuk berfungsi sebagai lapisan dasar bagi sejumlah besar protokol keuangan dan non-keuangan di tahun-tahun mendatang. Aplikasi yang akan dibangun pada Ethereum di masa depan mungkin merupakan aplikasi yang bahkan tidak dapat kita bayangkan saat ini, dan kemungkinan terbuka tersebut mewakili janji sebenarnya dari platform tersebut.

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

Whitepaper Ethereum dibuat berdasarkan penelitian ekstensif sebelumnya mengenai mata uang kripto dan penelitian sistem terdistribusi. Protokol dasar Bitcoin dijelaskan dalam makalah asli Satoshi Nakamoto tahun 2008 "Bitcoin: Sistem Uang Elektronik Peer-to-Peer," yang memperkenalkan konsep mata uang digital berbasis blockchain. Upaya awal untuk memperluas fungsionalitas Bitcoin mencakup Namecoin, sistem registrasi nama terdesentralisasi yang menunjukkan aplikasi blockchain di luar mata uang, meskipun dibatasi oleh kemampuan skrip Bitcoin yang terbatas.

Whitepaper koin berwarna mengusulkan metode untuk merepresentasikan aset alternatif pada blockchain Bitcoin dengan "mewarnai" bitcoin tertentu untuk mewakili aset lain, sementara Mastercoin berupaya membuat lapisan protokol di atas Bitcoin untuk instrumen keuangan yang lebih kompleks. Keduanya menyoroti keterbatasan pengembangan Bitcoin dan memotivasi perlunya platform yang lebih fleksibel. Konsep perusahaan otonom yang terdesentralisasi, yang dieksplorasi dalam Majalah Bitcoin, memberikan landasan teoretis bagi tata kelola organisasi melalui kontrak pintar.

Komponen teknis utama mencakup verifikasi pembayaran yang disederhanakan (SPV) untuk klien ringan, pohon Merkle untuk verifikasi data yang efisien, dan Patricia mencoba mewakili negara bagian Ethereum. Protokol GHOST (Greedy Heaviest Observed Subtree), yang dijelaskan dalam makalah kriptografi tahun 2013, mengatasi masalah keamanan yang timbul dari waktu blok yang cepat dan menjadi dasar mekanisme konsensus Ethereum. Referensi ini mewakili landasan intelektual di mana Ethereum dibangun, menggabungkan wawasan dari mata uang kripto, sistem terdistribusi, kriptografi, dan teori permainan untuk menciptakan platform blockchain tujuan umum.