イーサリアム:次世代スマートコントラクトと分散型アプリケーションプラットフォーム

โดย 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は、チューリング完全なプログラミング言語を内蔵したブロックチェーンを導入する、次世代の暗号通貨および分散型アプリケーションプラットフォームです。これにより、誰でもスマートコントラクトや分散型アプリケーションを作成し、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義することができます。

Ethereumの根本的なイノベーションは、Bitcoinによって開拓されたブロックチェーン技術と汎用プログラミング環境を組み合わせたことにあります。Bitcoinがある口座から別の口座への通貨移動のためのシンプルな状態遷移システムを提供するのに対し、Ethereumは開発者が想像しうるあらゆる種類の分散型アプリケーション——代替通貨や金融商品からドメイン登録システム、分散型組織に至るまで——を構築できるプラットフォームを提供します。

Ethereumは、本質的に究極の抽象的基盤レイヤーを構築することでこれを実現します。すなわち、チューリング完全なプログラミング言語を内蔵したブロックチェーンであり、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義できます。Namecoinの基本的なバージョンはわずか2行のコードで記述でき、通貨やレピュテーションシステムなどの他のプロトコルは20行未満で構築できます。

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

分散型デジタル通貨の概念は、財産登記などの代替的応用と同様に、数十年前から存在していました。1980年代から1990年代にかけての匿名電子マネープロトコルは、主にチャウミアンブラインディングと呼ばれる暗号プリミティブに依存しており、高度なプライバシーを備えた通貨を提供していましたが、中央集権的な仲介者への依存のため、これらのプロトコルは普及に至りませんでした。1998年、Wei Daiのb-moneyが、計算パズルの解決による貨幣創造と分散型コンセンサスの概念を導入した最初の提案となりましたが、分散型コンセンサスの実際の実装方法についての詳細は不十分でした。

2009年、Satoshi Nakamotoによって、分散型通貨が初めて実用的に実装されました。公開鍵暗号による所有権管理の確立された技術と、誰がコインを所有しているかを追跡するための「プルーフ・オブ・ワーク」と呼ばれるコンセンサスアルゴリズムを組み合わせたものです。プルーフ・オブ・ワークの仕組みは、2つの問題を同時に解決したという点で画期的でした。第一に、ネットワーク内のノードがBitcoin台帳の状態に対する正規の更新セットに集団的に合意できる、シンプルかつ適度に効果的なコンセンサスアルゴリズムを提供しました。第二に、コンセンサスプロセスへの自由な参加を可能にする仕組みを提供し、誰がコンセンサスに影響を与えるかを決定するという政治的問題を解決すると同時に、シビル攻撃を防止しました。

Bitcoinブロックチェーンは長年の運用を通じて驚くほど堅牢であることが証明されましたが、本質的な限界があります。Bitcoinのスクリプト言語は意図的に制限的かつ非チューリング完全に設計されており、ループやより複雑なアプリケーションの構築に必要な多くの機能を欠いています。この制限は無限ループやその他の計算攻撃を防ぐために存在しますが、Bitcoin上に構築できるものを大幅に制約しています。

過去5年間で、Bitcoinの機能を拡張するための多くの試みがありました。カラードコインはBitcoinブロックチェーンを利用して代替資産の所有権を追跡しようとし、Namecoinは分散型の名前登録データベースの作成を試み、様々なメタコインプロトコルがBitcoin上に追加レイヤーを構築することを目指しました。これらのアプローチは有望でしたが、Bitcoinのスクリプト機能の制限とスクリプト内からブロックチェーンデータにアクセスできないことにより、最終的には限界がありました。

Ethereumが提供しようとしているのは、完全なチューリング完全プログラミング言語を内蔵したブロックチェーンです。この言語は、任意の状態遷移関数をエンコードできる「コントラクト」の作成に使用でき、ユーザーは上述のシステムのいずれか、さらには我々がまだ想像していない多くのシステムを、わずか数行のコードでロジックを記述するだけで作成することができます。

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

技術的な観点から、Bitcoinのような暗号通貨の台帳は状態遷移システムと考えることができます。「状態」はすべての既存bitcoinの所有権の状況で構成され、「状態遷移関数」は状態とトランザクションを受け取り、結果として新しい状態を出力します。標準的な銀行システムでは、例えば、状態は貸借対照表であり、トランザクションはAからBへ\(Xを移動する要求であり、状態遷移関数はAの口座の値を\)X減少させ、Bの口座の値を\(X増加させます。もしAの口座に最初から\)X未満しかなければ、状態遷移関数はエラーを返します。

Ethereum state transition diagram showing how transactions transform blockchain state

Bitcoinにおける「状態」は、鋳造されたがまだ使われていないすべてのコイン(技術的には「未使用トランザクション出力」またはUTXO)の集合です。各UTXOは額面と所有者(本質的に暗号公開鍵である20バイトのアドレスで定義される)を持っています。トランザクションは1つ以上の入力を含み、各入力は既存のUTXOへの参照と所有者のアドレスに関連付けられた秘密鍵によって生成された暗号署名を含みます。また、1つ以上の出力を含み、各出力は状態に追加される新しいUTXOを含みます。

状態遷移関数APPLY(S,TX) - S'は、おおよそ以下のように定義できます:

  1. TX内の各入力について、参照されたUTXOがSに存在しない場合、エラーを返す。
  2. 提供された署名がUTXOの所有者と一致しない場合、エラーを返す。
  3. すべての入力UTXOの額面の合計が、すべての出力UTXOの額面の合計より小さい場合、エラーを返す。
  4. すべての入力UTXOが削除され、すべての出力UTXOが追加されたSを返す。

最初のステップの前半は、トランザクション送信者が存在しないコインを使うことを防ぎ、最初のステップの後半は、トランザクション送信者が他人のコインを使うことを防ぎ、2番目のステップは価値の保存を強制します。これを支払いに使用するためのプロトコルは次の通りです:AliceがBobに11.7 BTCを送りたいとします。まず、Aliceは自分が所有する利用可能なUTXOの中から合計が少なくとも11.7 BTCになるセットを探します。現実的には、Aliceはちょうど11.7 BTCを得ることはできません。得られる最小の組み合わせが6+4+2=12だとします。そして、3つの入力と2つの出力を持つトランザクションを作成します。最初の出力はBobのアドレスを所有者とする11.7 BTCであり、2番目の出力は残りの0.3 BTCの「おつり」で、所有者はAlice自身です。

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

信頼できる中央集権的なサービスにアクセスできれば、このシステムの実装は自明です。記述された通りにコーディングし、中央サーバーのハードドライブを使って状態を追跡するだけで済みます。しかし、Bitcoinでは分散型通貨システムを構築しようとしているため、すべての人がトランザクションの順序に合意することを保証するために、状態遷移システムとコンセンサスシステムを組み合わせる必要があります。Bitcoinの分散型コンセンサスプロセスでは、ネットワーク内のノードが「ブロック」と呼ばれるトランザクションのパッケージを継続的に生成しようと試みます。ネットワークはおよそ10分ごとに1つのブロックを生成することを意図しており、各ブロックにはタイムスタンプノンス、前のブロックへの参照(すなわちハッシュ)、および前のブロック以降に行われたすべてのトランザクションのリストが含まれます。

Ethereum block structure showing linked blocks with timestamps nonces and transactions

時間の経過とともに、これはBitcoin台帳の最新の状態を表すために常に更新される、永続的で成長し続ける「ブロックチェーン」を生み出します。このパラダイムにおいてブロックが有効かどうかを検証するアルゴリズムは以下の通りです:

  1. ブロックが参照する前のブロックが存在し、有効であることを確認する。
  2. ブロックのタイムスタンプが前のブロックのタイムスタンプより大きく、未来の2時間以内であることを確認する。
  3. ブロックのプルーフ・オブ・ワークが有効であることを確認する。
  4. Sを前のブロックの終了時点の状態とする。
  5. TXをn個のトランザクションからなるブロックのトランザクションリストとする。0...n-1のすべてのiについて、S = APPLY(S,TX[i])とする。いずれかの適用がエラーを返した場合、終了してfalseを返す。
  6. trueを返し、Sをこのブロックの終了時点の状態として登録する。

本質的に、ブロック内の各トランザクションは、トランザクション実行前の正規の状態から新しい状態への有効な状態遷移を提供しなければなりません。状態はブロック内にいかなる形でもエンコードされていないことに注意してください。状態は純粋に検証ノードによって記憶される抽象概念であり、ジェネシス状態から始めてすべてのブロック内のすべてのトランザクションを順次適用することによってのみ、任意のブロックに対して(安全に)計算できます。

マイナーは、新しく作成されたbitcoinとトランザクション手数料によって計算作業に対する報酬を受け取ります。マイニングプロセスは次のように機能します:マイナーはブロックヘッダーを取得し、特定の難易度ターゲット以下のハッシュを見つけるまで、異なるノンス値で繰り返しハッシュ化します。マイナーがそのようなハッシュを見つけると、ブロックをネットワークにブロードキャストし、他のノードがハッシュの有効性とブロック内のすべてのトランザクションの有効性を検証します。難易度ターゲットは、ブロックがおおよそ一定の速度で生成されることを保証するために、プロトコルによって2016ブロック(約2週間)ごとに自動的に調整されます。

長期的には、ブロックチェーンのセキュリティはマイナーが正直に行動する経済的インセンティブを持っていることに依存することに注意してください。攻撃者がネットワークのマイニングパワーの50%以上を制御する場合、正直なチェーンよりも速く成長する代替ブロックチェーンを作成することで「51%攻撃」を実行できる可能性があります。しかし、そのような攻撃には膨大な計算リソースが必要であり、ブロックチェーンの完全性に対するネットワークの信頼が失われることで、攻撃者のマイニング報酬が無価値になる可能性が高いでしょう。

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

マークル木は、Bitcoinブロックにおいてトランザクションの包含を効率的かつ安全に検証するために使用される基本的なデータ構造です。マークル木はハッシュの二分木であり、リーフノードには個々のトランザクションのハッシュが含まれ、各内部ノードにはその2つの子のハッシュが含まれ、再帰的に構築されて最終的にブロックヘッダーに格納される単一のルートハッシュになります。この階層構造により、ブロック内のすべてのトランザクションをダウンロードすることなく、トランザクションからルートまでのハッシュの連鎖であるマークルブランチのみをダウンロードすることで、特定のトランザクションがブロックに含まれていることを誰でも検証できます。

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

効率性の向上は顕著です:完全なBitcoinノードはブロックチェーン全体を保存する必要がありますが(2013年時点で約15GB)、簡易支払い検証(SPV)ノードはマークルルートを含むブロックヘッダーのみをダウンロードすればよく、必要なデータはわずか4MBです。トランザクションを検証するために、SPVノードはフルノードにマークルブランチを要求しますが、これにはブロック内のトランザクション数をnとしてO(log n)のデータしか必要ありません。この対数的なスケーリングにより、モバイルデバイスやリソースの限られた環境でも軽量クライアントを実行することが可能になります。

Bitcoinのマークル木の使用は重要な原則を示しています:暗号構造は分散型ネットワークへの参加に必要な信頼とリソースの要件を劇的に削減できるということです。この同じ原則はEthereumの設計にも基盤として存在しており、マークル木はトランザクションだけでなく状態とレシートの保存にも使用され、さらに洗練されたライトクライアントプロトコルを可能にしています。

Alternative Blockchain Applications

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

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

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

Alternative Blockchain Applications

Bitcoinのブロックチェーンの成功は、この概念を単純な通貨を超えて拡張する多くの試みを触発しました。2010年に開始されたNamecoinは最も初期の例の一つであり、ブロックチェーン上に構築された分散型名前登録データベースで、中央機関が検閲や取り消しできない分散型の名前空間にユーザーが名前を登録できるようにしました。カラードコインは、特定のトランザクション出力に「タグ付け」することで、Bitcoinブロックチェーン上で現実世界の資産、会社の株式、または他の暗号通貨の所有権を表す代替資産の手段として登場しました。Mastercoin(後のOmni)などのメタコインやメタプロトコルは、Bitcoinトランザクションに追加データをエンコードし、その上に別のプロトコルルールを構築することで、Bitcoin上に追加機能をレイヤー化しました。

しかし、これらのアプローチはすべて、Bitcoinのアーキテクチャによって課される根本的な制限に苦しみました。Bitcoinのスクリプト言語は意図的に制限されており、ブロックチェーンの状態にアクセスできず、ループや複雑な制御フローを欠き、トランザクション値への内省が限られています。洗練されたアプリケーションを構築するには、不格好な回避策が必要でした:本来そのような目的を想定していないトランザクションフィールドにメタデータをエンコードしたり、複雑なロジックのためにオフチェーンインフラストラクチャに依存したり、プロトコルが達成できることの厳しい制限を受け入れたりする必要がありました。

これらの制約が、より汎用的なブロックチェーンプラットフォームの探求を動機づけました。Bitcoinの限られた基盤の上にさらに別の特殊目的プロトコルを構築するのではなく、Ethereumは異なるアプローチを取ります:チューリング完全なプログラミング言語を内蔵したブロックチェーンを提供し、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する任意のルールを定義できるようにします。

Scripting

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

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

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

Scripting

Bitcoin Script——Bitcoinトランザクションの使用条件を定義するために使用される言語——は、意図的に厳しい制限のもとに設計されています。チューリング完全ではなく、特にループや複雑な制御フロー構造を欠いています。この言語は、値のプッシュとポップ、暗号条件の評価を行い、最終的にトランザクションが有効かどうかを判定するためにtrueまたはfalseを返す、単純なスタックベースの実行環境として動作します。このシンプルさはセキュリティ上の利点を提供し、形式的分析を容易にしますが、多くの種類のアプリケーションの実装を不可能にもしています。

これらの制限は主に3つのカテゴリに分類されます。第一に、チューリング完全性の欠如は、複雑な状態機械、決定木、または反復を必要とするいかなるアルゴリズムの実装も妨げます。第二に、値の不可視性は、スクリプトが引き出し金額に対するきめ細かい制御を指定できないことを意味します——UTXOはその全額でしか使用できず、おつりは新しい出力に送られます。例えば、スクリプトは1日あたりの引き出しをX以下に制限し、残りをロックしたままにするということができません。第三に、ブロックチェーン状態の認識の欠如は、UTXOが使用済みか未使用のいずれかであり中間状態がないことを意味し、多段階のコントラクトをオンチェーンのみで実装することを不可能にしています。

これらの制約により、分散型自律組織、引き出し制限付きの貯蓄ウォレット、分散型取引所、予測市場などの高度なアプリケーションは、不可能であるか、不格好なオフチェーンメカニズムを必要とします。高度な金融コントラクトは、市場データへのアクセス、複数のトランザクションにわたる内部状態の維持、複雑な条件ロジックを必要とするかもしれません——これらのいずれもBitcoin Scriptでは提供できません。Ethereumは、ブロックチェーン状態への完全なアクセスを備えたチューリング完全言語を提供することで、これらの制限を取り除きます。

Ethereum

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

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

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

Ethereum

Ethereumの根本的な目標は、チューリング完全なプログラミング言語を内蔵したブロックチェーンを提供し、誰でもスマートコントラクトや分散型アプリケーションを作成して、所有権、トランザクション形式、状態遷移関数に関する独自のルールを自由に定義できるようにすることです。通貨、名前登録、資産取引などの特定のアプリケーション向けにプロトコルを設計するのではなく、Ethereumは基盤レイヤー——開発者が想像しうるあらゆるアプリケーションを構築するために使用できるブロックチェーンベースの分散コンピューティングプラットフォーム——を提供します。

このアーキテクチャはBitcoinのUTXOモデルとは根本的に異なります。Ethereumはアカウントベースのシステムを使用しており、ブロックチェーンの状態はアドレスからアカウントオブジェクトへのマッピングで構成されます。各アカウントは残高、トランザクションカウンター(ノンス)を持ち、コントラクトアカウントの場合は関連するコードとストレージも持ちます。プラットフォームには、Ethereum仮想マシン(EVM)——トランザクションと状態遷移を処理するスタックベースの実行環境——で実行されるコントラクトコードを記述するための、チューリング完全なプログラミング言語が内蔵されています。

この汎用性により、幅広いアプリケーションが可能になります:カスタム発行ルールを持つ代替暗号通貨、金融デリバティブとステーブルコイン、アイデンティティおよびレピュテーションシステム、分散型ファイルストレージ、分散型自律組織(DAO)、その他多数。ホワイトペーパーは、Ethereumが特定のユースケースに最適化されているのではなく、アカウント、トランザクション、チューリング完全言語、ガスによる計量実行という基本的なビルディングブロックを提供し、開発者がそれらを組み合わせてエコシステムが求めるあらゆるアプリケーションを作成できることを強調しています。

Ethereum Accounts

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

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

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

Ethereum Accounts

Ethereumにおいて、状態はアカウントで構成されており、2つの基本的な種類があります。外部所有アカウント(EOA)は秘密鍵によって制御され、関連するコードを持ちません——ブロックチェーンと対話する人間のユーザーや外部エンティティを表します。コントラクトアカウントはそのコントラクトコードによって制御され、メッセージまたはトランザクションを受信した際に起動されます。両方の種類は共通の構造を共有しています:すべてのアカウントはノンス(各トランザクションが一度だけ処理されることを保証するために使用されるカウンター)、Ether残高を持ち、コントラクトの場合は特にコントラクトコードと永続ストレージを持ちます。

Etherは Ethereumの主要な内部暗号通貨であり、価値移転の手段とトランザクション手数料(ガス)を支払うための基本単位の両方として機能します。価値が複数の未使用出力に分散されるBitcoinのUTXOモデルとは異なり、Ethereumのアカウントは単純な残高を維持し、Etherを受信すると増加し、送信すると減少します。このアカウントベースのモデルは、特に永続的な状態や複雑なアクセス制御を必要とする多くの種類のアプリケーションを簡素化しますが、Bitcoinのアプローチとは異なるセキュリティ上の考慮事項を導入します。

EOAとコントラクトアカウントの区別は、Ethereumの動作を理解する上で極めて重要です。EOAは秘密鍵でメッセージを作成・署名してトランザクションを開始でき、トランザクションがブロックに含まれるためにガス手数料を支払います。コントラクトアカウントは自らトランザクションを開始することはできませんが、トランザクションやメッセージの受信に応じて他のコントラクトにメッセージを送信できます。これにより、単一の外部トランザクションが複数のコントラクト間のインタラクションをトリガーする、複雑な実行チェーンが可能になります。

Messages and Transactions

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

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

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

Messages and Transactions

Ethereumにおけるトランザクションは、外部所有アカウントによって作成され、ネットワークにブロードキャストされる署名付きデータパッケージです。トランザクションには、受信者アドレス、送信者の身元を証明する暗号署名、送金するEtherの量、オプションのデータフィールド(コントラクトとのインタラクションにおいて重要)、STARTGAS(トランザクションに許可される計算ステップの最大数)、およびGASPRICE(送信者が計算ステップごとに支払う意思のある手数料)が含まれます。マイナーはこれらのトランザクションを収集し、検証し、実行し、ブロックに含め、報酬としてガス手数料を受け取ります。

メッセージはトランザクションと概念的に似ていますが、外部アクターではなくコントラクトによって生成されます。コントラクトのコードが実行されると、他のコントラクトにメッセージを送信できます——これらの内部メッセージには、送信者(コントラクトアドレス)、受信者、送金するEtherの量、オプションのデータペイロード、およびSTARTGAS制限が含まれます。メッセージはコントラクト間の通信を可能にし、モノリシックなプログラムではなく、複数の相互作用するコントラクトから複雑なアプリケーションを構築できるようにします。

ガスメカニズムは不正利用を防ぐために不可欠です:トランザクション内のすべての計算ステップ、ストレージ操作、データバイトがガスを消費します。トランザクションが完了前にガスを使い果たした場合、すべての状態変更はロールバックされます(マイナーへのガス支払いを除く)。これにより、無限ループや過剰な計算がネットワークを停止させることを防ぎます。送信者はガス予算の合計(STARTGAS)と単位あたりの支払い価格(GASPRICE)の両方を指定し、実行完了後に未使用のガスは返金されます。

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

Ethereumの状態遷移関数APPLY(S,TX) - S'は、トランザクションブロックチェーンの状態をどのように変換するかを定義し、正確な一連のステップに従います。まず、システムはトランザクションの有効性を検証します:署名が正しいことの確認、ノンスが送信者のアカウントノンスと一致することの確認、送信者が前払い費用(STARTGAS × GASPRICE加えて送金額)を支払うのに十分な残高を持っていることの確認です。いずれかのチェックが失敗した場合、実行開始前にトランザクションは拒否されます。有効であれば、トランザクション手数料が送信者のアカウントから差し引かれ、送信者のノンスがインクリメントされ、トランザクションデータのバイトごとの手数料を差し引いたSTARTGASに初期ガスカウンターが設定されます。

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

次に、システムは指定されたEther値を送信者から受信者に送金します。受信者が外部所有アカウントの場合、これでトランザクションは完了します。受信者がコントラクトアカウントの場合、コントラクトのコードがEthereum仮想マシン内で実行され、コードが正常に完了するか、コードが明示的に停止するか、ガスが尽きるまで、各操作でガスを消費します。実行中、コントラクトはそのストレージの読み書き、他のコントラクトへのメッセージの送信、新しいコントラクトの作成が可能です。

最後に、値の送金が失敗した場合(残高不足)またはコード実行が失敗した場合(ガス切れまたはエラー発生)、すべての状態変更がロールバックされます——ただし、送信者は実行された計算に対するガス手数料をマイナーに支払います。実行が成功した場合、残りのガスは送信者に返金され、消費されたガスは手数料としてマイナーに送られます。このメカニズムにより、マイナーは計算に対する報酬を受け取り、同時に制御不能な実行が無制限のリソースを消費することを防ぎます。

Code Execution

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

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

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

Code Execution

Ethereum仮想マシン(EVM)は、コントラクトコードが実行されるランタイム環境であり、Java仮想マシンやWebAssemblyと概念的に類似した低レベルのスタックベース仮想マシンです。コントラクトコードはバイトの列として格納され、各バイトはEVMが実行できるオペレーション(オペコード)を表します。実行モデルは意図的にシンプルかつ決定論的です:同じ入力状態とトランザクションでEVMを実行するすべてのノードは、同じ出力状態に到達しなければならず、ネットワーク全体のコンセンサスを保証します。

EVMは計算のために3つの異なるタイプのストレージを提供します。スタックは1024要素に制限された後入先出(LIFO)構造であり、即座の操作値に使用されます。メモリは単一のメッセージコールの間だけ持続し、実行間でリセットされる無限に拡張可能なバイト配列です。ストレージは各コントラクトアカウントに永続的に関連付けられた永続キーバリューストアであり、コントラクトがトランザクションをまたいで長期的な状態を維持する場所です。これらのストレージタイプはガス料金が異なります——スタックとメモリの操作は安価ですが、ストレージ操作はブロックチェーンの肥大化を防ぐために高価です。

実行中、コントラクトコードは重要なコンテキストにアクセスできます:メッセージ送信者のアドレス、送られたEtherの量、呼び出し元が提供したデータペイロード、現在のブロック番号、タイムスタンプ、マイナーアドレスなどのブロックレベルのプロパティを読み取ることができます。コードは呼び出し元に出力バイト配列を返すことができ、他のコントラクトにメッセージを送信したり、新しいコントラクトを作成したりできます。この実行モデルはチューリング完全であり、ループや複雑な制御フローが可能ですが、ガスメカニズムによりすべての計算が有限時間で終了することが保証され、言語の制限ではなく経済的な方法で停止性問題を解決しています。

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

Ethereumのブロックチェーンは基本的にBitcoinのものと類似しており、これまでに実行されたすべてのトランザクションを含むデータベースとして機能します。しかし、Bitcoinがトランザクションリストのみを格納するのに対し、Ethereumはトランザクションリストと最新の状態の両方を格納します。Ethereumの各ブロックには、前のブロックのハッシュ、ステートルート(全体の状態を表すマークル・パトリシアトライのルートハッシュ)、トランザクションルート、レシートルート(トランザクション実行からのデータを格納)、そして難易度タイムスタンプノンスの値が含まれます。状態自体は、アドレスからアカウントオブジェクトへのマッピングである大きなマークル・パトリシアトライであり、各アカウントは残高、ノンス、コード(存在する場合)、およびストレージを持ちます。

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereumは、高速なブロック時間から生じるセキュリティ問題に対処するために、GHOST(Greedy Heaviest Observed Subtree)プロトコルの修正版を使用しています。従来の最長チェーンプロトコルでは、高速なブロックは高い陳腐化率をもたらし、ネットワークセキュリティを低下させ、大規模なマイナーが陳腐ブロックでの計算の無駄が少ないため、中央集権化のリスクを増加させます。GHOSTは陳腐ブロック(Ethereumでは「アンクル」と呼ばれる)をどのチェーンが最長かの計算に含め、アンクルブロックに部分的な報酬を提供し、マイナーがそれらを参照するインセンティブを与えます。これにより、Ethereumはネットワークセキュリティを維持しながら、約12秒のターゲットブロック時間を維持できます。

マイニングアルゴリズムはBitcoinのプルーフ・オブ・ワークと同様に機能し、マイナーはブロックのハッシュが特定の難易度ターゲット以下になるノンスを見つける必要があります。しかし、Ethereumのメモリハードなマイニングアルゴリズム(Ethash)はASIC耐性を持つように設計されており、より分散化されたマイニングエコシステムを促進します。難易度はブロック時間に基づいて動的に調整され、約12秒のターゲットを維持し、一貫したブロック生成を保証します。一方、GHOSTプロトコルはBitcoinの10分の平均と比較してより高速なブロック時間にもかかわらず、セキュリティ保証を提供します。

Applications

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

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

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

Applications

Ethereum上に構築できるアプリケーションは、大きく3つのカテゴリに分類されます。第一のカテゴリは金融アプリケーションであり、ユーザーに自分のお金に関するコントラクトを管理・締結するより強力な方法を提供します。これにはサブ通貨、金融デリバティブ、ヘッジコントラクト、引き出し制限付きの貯蓄ウォレット、自動的に資金を分配する遺言、さらには検証された作業完了に基づいて支払いを計算する雇用契約が含まれます。これらのアプリケーションはEthereumのプログラマビリティを活用して、従来のシステムやBitcoin上でも実装が不可能または極めて困難な複雑な金融商品を作成します。

第二のカテゴリは半金融アプリケーションであり、お金が関与しますが、行われていることの非金銭的な側面も相当なものです。完璧な例は、計算問題の解決に対する自己強制型の報奨金です。誰かが報酬とともに計算問題を投稿し、コントラクトが提出された解決策を自動的に検証し、最初の正解に報奨金を支払うことができます。このカテゴリは純粋な金融と他の領域を橋渡しし、経済的インセンティブを使用して問題を解決したり行動を調整したりします。

第三のカテゴリは、お金とは一切関係のないアプリケーションであり、オンライン投票や分散型ガバナンスシステムなどです。これらの非金融アプリケーションは、汎用プラットフォームとしてのEthereumの柔軟性を示しています。例としては、Namecoinのような分散型ドメインネームシステム、レピュテーションシステム、分散型ファイルストレージ、組織ガバナンスツールなどがあります。すべてのアプリケーションタイプの中で、トークンシステムが最も一般的かつ基本的なものとして台頭しており、他の多くのアプリケーションのビルディングブロックとして機能しています。

Token Systems

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

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

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

Token Systems

トークンシステムは、最も強力で一般的なアプリケーションの一つであるにもかかわらず、Ethereum上での実装は驚くほど簡単です。その核心において、トークンシステムは単一の操作を持つデータベースに過ぎません:アカウントAからX単位を差し引き、アカウントBにX単位を加える。ただし、トランザクション前にAが少なくともX単位を保有しており、トランザクションがAによって承認されていることが条件です。実装には、アドレスから残高へのマッピングを維持し、トークンをアカウント間で移動する前に適切なチェックを行う送金関数を提供する必要があります。

基本的なトークンシステムのコントラクトコードは非常にシンプルで、わずか数行で記述できます。アドレスから残高へのマッピングのデータ構造、初期トークン供給量を割り当てる初期化関数、送信者の残高と承認をチェックしてから送金を実行する送金関数で構成されます。このシンプルさは、Bitcoinの制限されたスクリプト機能のために大幅な回避策と制限が必要な同様のシステムの実装の複雑さとは対照的です。

Ethereum上のトークンは、価値のあるものであれば事実上何でも表すことができます。独自の金融政策を持つサブ通貨、外部資産を追跡する金融デリバティブ、配当権付きの会社株式、顧客プログラムのロイヤリティポイント、金や石油などの商品、さらには物理的財産の表現までも可能です。Ethereumのプログラマビリティにより、これらのトークンは送金制限、自動バーンメカニズム、配当分配、ガバナンス権限など、その行動を支配する任意のルールを持つことができます。この柔軟性により、トークンシステムは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

金融デリバティブは、Ethereumスマートコントラクトの最も基本的かつ重要なアプリケーションの一つです。シンプルなヘッジコントラクトが基本的な仕組みを示しています:当事者Aが1000ドル相当のEtherを預け入れ、当事者Bが同等の金額を預け入れ、コントラクトがデータフィードを使用してその時点でのEtherのUSD価値を記録します。30日後、コントラクトは価値を再計算し、1000ドル相当のEtherをAに送り、残りをBに送ります。Etherの価格が上昇した場合、Aはより少ないEtherを受け取りますが1000ドルの価値を維持します。価格が下落した場合、Aはその価値を維持するためにより多くのEtherを受け取ります。これにより、Aはボラティリティに対してヘッジし、Bは価格変動に投機することができます。

このようなコントラクトの実装には、オラクルコントラクトやデータフィードを通じた外部データへのアクセスが必要です。これらのオラクルは、コントラクトが適切に実行するために必要な価格情報、気象データ、その他の現実世界の情報を提供します。オラクルは信頼への依存を導入しますが、冗長性と暗号経済的インセンティブを備えた設計により、信頼性の高いデータを提供できます。コントラクト自体は単にオラクルに問い合わせ、そのデータに基づいて計算を行い、プログラムされたロジックに従って資金を分配します。

ステーブルコインやより複雑な金融商品も、同様のメカニズムを使用して構築できます。ステーブルコインのコントラクトは、Etherのリザーブを維持し、法定通貨にペッグされたトークンを発行し、価格フィードに基づいて供給量や担保要件を自動的に調整することができます。オプション契約、先物、スワップ、その他のデリバティブは、通常であれば複雑な法的枠組みと信頼できる仲介者を必要としますが、代わりに自己実行型のスマートコントラクトとしてエンコードできます。このプログラマブルな金融インフラストラクチャは、ブロックチェーン技術の透明性とセキュリティ保証を維持しながら、高度な金融工学を可能にします。

Identity and Reputation Systems

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

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

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

Identity and Reputation Systems

Namecoinに類似した名前登録システムは、Ethereum上で簡単に実装でき、アイデンティティシステムの最もシンプルな例として機能します。コントラクトは、名前から関連データ(IPアドレス、公開鍵、その他の情報など)へのマッピングであるキーバリューテーブルを持つデータベースを維持します。その名前がまだ取得されていなければ、少額の登録料とともにコントラクトにトランザクションを送信することで、誰でも名前を登録できます。所有者はいつでも関連データを更新でき、名前はコントラクトにエンコードされたルールに従って、譲渡可能にも永続的にもできます。

この基盤の上に、レピュテーションスコア、信頼の網の関係、分散型アイデンティティ検証を含む、より高度なアイデンティティシステムを構築できます。例えば、コントラクトは検証済みトランザクション、ピア評価、タスクの完了に基づいてレピュテーションスコアを維持できます。これらのスコアは公開され、暗号的に特定のアドレスに紐付けられ、アプリケーション間で持ち運び可能なレピュテーションを作成します。信頼の網システムにより、ユーザーは他者のアイデンティティを保証し、正当なユーザーと悪意ある行為者を区別するのに役立つソーシャルグラフを構築できます。

このようなアイデンティティおよびレピュテーションシステムは、他のアプリケーションと統合された場合に特に強力になります。マーケットプレイスは販売者に最低限のレピュテーションスコアを要求でき、融資プラットフォームは借り手のレピュテーションに基づいて金利を調整でき、ソーシャルネットワークは信頼の網を使用してスパムや不正コンテンツをフィルタリングできます。あらゆるアプリケーションが照会できるアイデンティティのための共有インフラストラクチャを提供することで、Ethereumは中央集権的なアイデンティティプロバイダーや独自のレピュテーションシステムに依存しない、新たな信頼ベースのアプリケーション群を可能にします。

Decentralized File Storage

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

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

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

Decentralized File Storage

分散型ファイルストレージは、ストレージを必要とするユーザーとストレージを提供するプロバイダーの間を調整するEthereumコントラクトを通じて実装できます。「分散型Dropbox」モデルでは、ユーザーが月額料金を支払ってファイルをアップロードし、コントラクトがデータを実際に保存していることを証明するストレージプロバイダーに支払いを分配します。証明メカニズムは定期的な暗号チャレンジを通じて機能します:コントラクトがファイルの一部をランダムに選択し、プロバイダーにそのデータを所持していることを示すマークル木の証明を提供するよう求めます。チャレンジに失敗したりオフラインになったプロバイダーは、保証金と将来の支払いの流れを失います。

このアプローチは中央集権的なストレージに対していくつかの利点を提供します。マークル木の証明により効率的な検証が可能です——ユーザーとコントラクトはファイル全体をダウンロードすることなくファイルの可用性を確認できます。システムは自然にファイルを複数の独立したプロバイダーに分散させ、明示的なレプリケーションプロトコルを必要とせずに冗長性を生み出します。経済的インセンティブはプロバイダーの行動をユーザーのニーズに合わせます:プロバイダーはデータを確実に保存することで収益を得、それを怠ると損失を被ります。これにより、中央集権的なストレージソリューションに固有の信頼要件が排除されます。

このようなシステムにおけるストレージコストは、いくつかの理由から中央集権的な代替手段よりも低くなる可能性があります。独占的価格設定の排除により、市場競争がコストをストレージの実際のコストに近いところまで引き下げます。複数のユーザーが類似のファイルを保存することによる暗黙的な冗長性が、総ストレージ要件を削減できます。高価なデータセンターインフラストラクチャや企業のオーバーヘッドが不要です。しかし、支払いメカニズム、十分なプロバイダー参加の確保、冗長性とコストのトレードオフの管理に関する課題が残っています。これらの課題にもかかわらず、分散型ストレージは、Ethereumが経済的インセンティブのみを通じて複雑な多者間のインタラクションを調整できることを示しています。

Decentralized Autonomous Organizations

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

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

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

Decentralized Autonomous Organizations

分散型自律組織(DAO)は、メンバーまたは株主のセットを持ち、その組織の資金を支出しコードを修正する権利を集団的に持つ仮想エンティティです。典型的なDAOはシンプルなルールで運営されます:支出の決定または組織のコードの修正にはメンバーの67%が必要です。メンバーは提案を提出し、投票することができ、提案が十分な支持を得た場合、コントラクトが自動的にその決定を実行します。メンバーシップシェアは譲渡可能にでき、DAOへの参加に流動的な市場を可能にし、異なるクラスのシェアは異なる議決権や経済的請求権を持つことができます。

最もシンプルなDAOの設計は、メンバーリストを維持し、コントラクトのいかなる側面(自身の投票ルールを含む)の変更にも3分の2の多数決を必要とする自己修正コントラクトです。メンバーはコード変更をトランザクションとして提出し、他のメンバーが投票し、閾値に達するとコントラクトが自身を更新します。より洗練された設計には、メンバーが投票権を代表者に委任できる代理投票システムや、投票を委任できるが重要な決定の際にはいつでも取り戻せるリキッドデモクラシーなどがあります。

DAOは単純な資金管理を超えて様々な目的に使用できます。DAOは分散型企業として機能し、請負業者を雇用し、サービスを購入し、利益を株主に分配することができ——すべてが従来の法的構造ではなくスマートコントラクトコードによって統治されます。分散型投資ファンドとして運営され、メンバーがどのプロジェクトに資金を提供するかを投票できます。共有資源を管理し、利害関係者が配分ルールについて投票できます。重要な洞察は、ガバナンスルールを透明で不変のコードにエンコードし、経済的利害と結びつけることで、DAOは従来の階層的な管理や法的強制なしにグループの意思決定を調整できるということです。

Further Applications

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

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

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

Further Applications

すでに議論した主要なカテゴリを超えて、Ethereumは他にも多数のアプリケーションを可能にします。高度なセキュリティ機能を持つ貯蓄ウォレットは、回復用の緊急キーを提供しながら日次の引き出し制限を課し、最終的な管理権を維持しつつ盗難からユーザーを保護できます。農作物保険コントラクトは、気象データフィードに基づいて農家に自動的に支払いを行い、保険金請求処理を排除し管理上のオーバーヘッドを削減できます。ピアツーピアのギャンブルアプリケーションは、信頼できる仲介者なしで運営でき、スマートコントラクトが賭け金を保持し、検証可能な乱数または現実世界のイベントデータに基づいて自動的に勝者に支払います。

オンチェーンの予測市場は、ユーザーが将来のイベントに賭けることを可能にし、群衆の知恵を通じて強力な予測メカニズムを生み出します。これらはSchellingCoinスタイルのプロトコルで強化し、分散型オラクルを作成できます:参加者は独立してデータ(選挙結果や気象条件など)を報告し、多数派と一致した報告をした者には報酬が与えられ、外れ値にはペナルティが課されます。この暗号経済的アプローチは正直な報告にインセンティブを与え、単一のオラクルプロバイダーへの信頼を必要とせずに、他のコントラクトに信頼性の高い現実世界のデータを提供できます。

マルチシグウォレットは、複数の当事者間での資金の共有管理を可能にするもう一つの重要なアプリケーションです。2-of-3のマルチシグウォレットは、資金の支出前に指定された3者のうちいずれか2者による承認を必要とし、エスクロー取引、企業の財務管理、個人のセキュリティに有用です。分散型マーケットプレイスは、アイデンティティシステム、レピュテーションスコア、エスクローコントラクト、紛争解決メカニズムを組み合わせて、中央集権的なプラットフォームなしにピアツーピアの商取引を可能にできます。これらのアプリケーションのそれぞれが、Ethereumのプログラマビリティが新しい信頼モデルと組織構造を可能にすることを示しています。

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

Ethereumの修正GHOSTプロトコルの実装には、アンクルの包含と報酬に関する具体的なルールが含まれます。アンクルは現在のブロックの祖先の直接の子でなければならず(2世代から7世代前の間)、有効なブロックヘッダーでなければならず、以前のアンクルとは異なるものでなければならず、現在のブロックの直接の祖先であってはなりません。アンクルブロックは標準的なブロック報酬の87.5%を受け取り、包含するブロックは包含されたアンクル1つあたり追加の3.125%を受け取ります(最大2つのアンクルまで)。このインセンティブ構造により、マイナーは観察した陳腐ブロックを参照するよう促され、ネットワークセキュリティを強化しながら、ネットワーク伝播の一時的な不運を経験したマイナーに報酬を与えます。

手数料システムは「ガス」の概念に基づいており、すべての計算操作には固定のガスコストがあります。例えば、乗算操作は5ガス、SHA256ハッシュは20ガスのコストがかかり、すべてのトランザクションには21,000ガスの基本コストがかかります。ユーザーはガスリミット(消費する意思のある最大ガス)とガスプライス(ガス単位あたり支払うEtherの量)の両方を指定します。このシステムは複数の目的を果たします:すべての計算に対価が支払われることを保証することで無限ループやサービス拒否攻撃を防止し、ユーザーがガスプライスを通じて入札するブロックスペースの市場を作り出し、マイナーが受け入れる最低ガスプライスを設定できるようにしてネットワークリソースを保護します。

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

スケーラビリティは依然として重大な懸念事項です。すべてのフルノードが状態を検証するためにすべてのトランザクションを処理しなければならないからです。現在のブロックチェーンアーキテクチャは、中央集権的なシステムのトランザクションスループットに匹敵するのに苦労しています。潜在的な解決策には、異なるノードが異なるトランザクションのサブセットを処理するステートシャーディングや、より効率的なブロック生成を可能にするプルーフ・オブ・ワークからプルーフ・オブ・ステークへの移行が含まれます。マークル証明を使用するライトクライアントは、すべてのブロックを処理せずにトランザクションを検証できますが、誰かがすべてを処理しなければなりません。これらのスケーラビリティの課題は、Ethereumの長期的な存続可能性にとって重要な、活発な研究開発分野を表しています。

Conclusion

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

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

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

Conclusion

Ethereumプロトコルは当初、オンブロックチェーンのエスクロー、引き出し制限、金融コントラクトなどの高度な機能を、高度に汎用化されたプログラミング言語を通じて提供する、暗号通貨のアップグレード版として構想されました。しかし、Ethereumプロトコルは単なる通貨をはるかに超えています。分散型ファイルストレージ、分散型計算、分散型予測市場を含む数十のコンセプトに関するプロトコルは、計算産業の効率を大幅に向上させ、初めて経済レイヤーを追加することで他のピアツーピアプロトコルに大きな後押しを提供する可能性があります。

特定のユースケース向けに設計された限定的な操作セットを提供するのではなく、Ethereumは開発者が設計できるあらゆるアプリケーションを構築できるチューリング完全なプログラミング言語を提供します。独自の金融デリバティブを発明したいですか?独自の通貨を作成したいですか?ブロックチェーン上に政府を設立したいですか?これらはすべてEthereumのスクリプトシステムで簡単に実装可能です。プラットフォームの力は、どのようなアプリケーションが構築されるかを予測することにあるのではなく、それらの構築を容易にする基盤インフラストラクチャを提供することにあります。

Ethereumプロトコルによって実装された任意の状態遷移関数の概念は、独自の可能性を持つプラットフォームを提供します。データストレージ、ギャンブル、または金融における特定のアプリケーションを意図した閉鎖的で単一目的のプロトコルであるのではなく、Ethereumは設計上オープンエンドです。そして我々は、今後数年間にわたって、多数の金融および非金融プロトコルの基盤レイヤーとして機能するのに極めて適していると信じています。将来Ethereum上に構築されるアプリケーションは、今日の我々には想像もできないものかもしれません。そのオープンエンドの可能性こそが、このプラットフォームの真の約束を表しています。

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

Ethereumのホワイトペーパーは、暗号通貨および分散システム研究における広範な先行研究の上に構築されています。基盤となるBitcoinプロトコルは、Satoshi Nakamotoの2008年の原論文「Bitcoin: A Peer-to-Peer Electronic Cash System」に記述されており、ブロックチェーンベースのデジタル通貨の概念を導入しました。Bitcoinの機能を拡張する初期の試みには、通貨を超えたブロックチェーンアプリケーションを実証した分散型名前登録システムであるNamecoinが含まれますが、Bitcoinの制限されたスクリプト機能により限界がありました。

カラードコインのホワイトペーパーは、特定のbitcoinに「色付け」することでBitcoinブロックチェーン上で代替資産を表現する方法を提案し、Mastercoinはより複雑な金融商品のためにBitcoin上にプロトコルレイヤーを作成しようとしました。両者はBitcoin上に構築することの限界を浮き彫りにし、より柔軟なプラットフォームの必要性を動機づけました。Bitcoin Magazineで探求された分散型自律企業の概念は、スマートコントラクトによる組織ガバナンスの理論的基盤を提供しました。

主要な技術的コンポーネントには、ライトクライアント向けの簡易支払い検証(SPV)、効率的なデータ検証のためのマークル木、Ethereumの状態表現のためのパトリシアトライが含まれます。2013年の暗号学論文に記述されたGHOST(Greedy Heaviest Observed Subtree)プロトコルは、高速なブロック時間から生じるセキュリティ問題に対処し、Ethereumのコンセンサスメカニズムの基盤を形成しています。これらの参考文献は、Ethereumが構築された知的基盤を表しており、暗号通貨、分散システム、暗号学、ゲーム理論からの洞察を組み合わせて、汎用ブロックチェーンプラットフォームを作成しています。