อีเทอเรียม: แพลตฟอร์มสัญญาอัจฉริยะและแอปพลิเคชันแบบกระจายศูนย์รุ่นถัดไป

Автор Vitalik Buterin · 2013

Abstract

Ethereum — это платформа криптовалюты и децентрализованных приложений следующего поколения, которая представляет блокчейн со встроенным Тьюринг-полным языком программирования. Это позволяет любому писать смарт-контракты и децентрализованные приложения, в которых можно создавать собственные произвольные правила владения, форматы транзакций и функции перехода состояний.

Фундаментальная инновация Ethereum заключается в сочетании блокчейн-технологии, впервые разработанной Bitcoin, с универсальной средой программирования. В то время как Bitcoin предоставляет простую систему перехода состояний для перемещения валюты с одного счёта на другой, Ethereum предоставляет платформу, на которой разработчики могут создавать любые децентрализованные приложения, какие только могут себе представить, от альтернативных валют и финансовых инструментов до систем регистрации доменных имён и децентрализованных организаций.

Ethereum достигает этого, создавая по сути окончательный абстрактный фундаментальный слой: блокчейн со встроенным Тьюринг-полным языком программирования, позволяющим любому писать смарт-контракты и децентрализованные приложения, в которых можно создавать собственные произвольные правила владения, форматы транзакций и функции перехода состояний. Минимальная версия Namecoin может быть написана в двух строках кода, а другие протоколы, такие как валюты и системы репутации, могут быть построены менее чем в двадцати.

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 สามารถเขียนได้ในสองบรรทัดของโค้ด และโปรโตคอลอื่น ๆ เช่น สกุลเงินและระบบชื่อเสียงสามารถสร้างได้ในไม่ถึงยี่สิบบรรทัด

Introduction and Existing Concepts

Концепция децентрализованной цифровой валюты, а также альтернативных приложений, таких как реестры собственности, существует уже несколько десятилетий. Анонимные протоколы электронных денег 1980-х и 1990-х годов, в основном основанные на криптографическом примитиве, известном как слепая подпись Чаума, обеспечивали валюту с высокой степенью конфиденциальности, но эти протоколы в значительной степени не смогли получить распространение из-за их зависимости от централизованного посредника. В 1998 году b-money Вэй Дая стал первым предложением, представившим идею создания денег путём решения вычислительных задач, а также децентрализованного консенсуса, однако предложение содержало мало деталей о том, как децентрализованный консенсус может быть реально реализован.

В 2009 году децентрализованная валюта была впервые реализована на практике Сатоши Накамото, объединившим устоявшиеся примитивы управления собственностью через криптографию с открытым ключом с алгоритмом консенсуса для отслеживания владения монетами, известным как «доказательство работы» (proof of work). Механизм, лежащий в основе доказательства работы, стал прорывом в этой области, поскольку он одновременно решал две проблемы. Во-первых, он предоставил простой и умеренно эффективный алгоритм консенсуса, позволяющий узлам сети коллективно согласовывать набор канонических обновлений состояния реестра Bitcoin. Во-вторых, он предоставил механизм свободного входа в процесс консенсуса, решая политическую проблему определения того, кто может влиять на консенсус, одновременно предотвращая атаки Сибила.

Блокчейн Bitcoin доказал свою замечательную устойчивость за годы работы, но он по своей природе ограничен. Скриптовый язык Bitcoin намеренно разработан как ограничительный и не-Тьюринг-полный, лишённый циклов и многих других возможностей, которые были бы необходимы для создания более сложных приложений. Это ограничение существует для предотвращения бесконечных циклов и других форм вычислительных атак, но оно серьёзно ограничивает то, что может быть построено поверх Bitcoin.

За последние пять лет было предпринято множество попыток расширить функциональность Bitcoin. Colored coins стремились использовать блокчейн Bitcoin для отслеживания владения альтернативными активами, Namecoin пытался создать децентрализованную базу данных регистрации имён, а различные протоколы metacoin были направлены на создание дополнительных слоёв поверх Bitcoin. Хотя эти подходы показали перспективность, они были в конечном счёте ограничены скриптовыми возможностями Bitcoin и невозможностью доступа к данным блокчейна из скриптов.

То, что Ethereum намеревается предоставить — это блокчейн со встроенным полноценным Тьюринг-полным языком программирования, который может использоваться для создания «контрактов», способных кодировать произвольные функции перехода состояний, позволяя пользователям создавать любую из описанных выше систем, а также многие другие, которые мы ещё не представили, просто записывая логику в нескольких строках кода.

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 ตั้งใจที่จะมอบให้คือบล็อกเชนที่มีภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ในตัว ซึ่งสามารถใช้เพื่อสร้าง "สัญญา" ที่สามารถใช้เพื่อเข้ารหัสฟังก์ชันการเปลี่ยนสถานะตามอำเภอใจ ช่วยให้ผู้ใช้สามารถสร้างระบบใดๆ ที่อธิบายไว้ข้างต้น เช่นเดียวกับระบบอื่นๆ อีกมากมายที่เรายังไม่ได้จินตนาการ เพียงแค่เขียนตรรกะในโค้ดเพียงไม่กี่บรรทัด

Bitcoin As A State Transition System

С технической точки зрения реестр криптовалюты, такой как Bitcoin, можно рассматривать как систему перехода состояний, где есть «состояние», состоящее из статуса владения всеми существующими биткойнами, и «функция перехода состояний», которая принимает состояние и транзакцию и выдаёт новое состояние как результат. В стандартной банковской системе, например, состояние — это балансовый отчёт, транзакция — это запрос на перевод \(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 Бобу. Сначала Алиса ищет набор доступных UTXO, которыми она владеет, в сумме составляющих не менее 11,7 BTC. Реалистично, Алиса не сможет получить ровно 11,7 BTC; допустим, наименьшее, что она может получить — это 6+4+2=12. Затем она создаёт транзакцию с тремя входами и двумя выходами. Первый выход составит 11,7 BTC с адресом Боба в качестве владельца, а второй выход будет оставшейся «сдачей» в 0,3 BTC, владельцем которой является сама Алиса.

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 โดยเจ้าของคืออลิซเอง

Mining

Если бы у нас был доступ к надёжному централизованному сервису, эту систему было бы тривиально реализовать; её можно было бы просто запрограммировать точно так, как описано, используя жёсткий диск централизованного сервера для отслеживания состояния. Однако с Bitcoin мы пытаемся построить децентрализованную валютную систему, поэтому нам нужно будет объединить систему транзакций состояния с системой консенсуса, чтобы обеспечить согласие всех относительно порядка транзакций. Децентрализованный процесс консенсуса Bitcoin требует, чтобы узлы в сети непрерывно пытались создавать пакеты транзакций, называемые «блоками». Сеть предназначена для производства примерно одного блока каждые десять минут, при этом каждый блок содержит метку времени, nonce, ссылку на (т.е. хеш) предыдущий блок и список всех транзакций, произошедших с момента предыдущего блока.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Со временем это создаёт постоянную, непрерывно растущую «блокчейн», которая постоянно обновляется, чтобы отражать последнее состояние реестра Bitcoin. Алгоритм проверки валидности блока, выраженный в этой парадигме, выглядит следующим образом:

  1. Проверить, существует ли предыдущий блок, на который ссылается блок, и является ли он валидным.
  2. Проверить, что метка времени блока больше метки времени предыдущего блока и менее чем на 2 часа опережает текущее время.
  3. Проверить, что доказательство работы блока валидно.
  4. Пусть S — состояние в конце предыдущего блока.
  5. Предположим, TX — это список транзакций блока с n транзакциями. Для всех i в 0...n-1 установить S = APPLY(S,TX[i]). Если какое-либо применение возвращает ошибку, выйти и вернуть ложь.
  6. Вернуть истину и зарегистрировать S как состояние в конце этого блока.

По сути, каждая транзакция в блоке должна обеспечивать валидный переход состояния от того, что было каноническим состоянием до выполнения транзакции, к некоторому новому состоянию. Обратите внимание, что состояние никак не закодировано в блоке; это чисто абстракция, которую должен помнить проверяющий узел, и которая может быть (безопасно) вычислена для любого блока только начиная с генезис-состояния и последовательно применяя каждую транзакцию в каждом блоке.

Майнер вознаграждается за свою вычислительную работу вновь созданными биткойнами плюс комиссиями за транзакции. Процесс майнинга работает следующим образом: майнеры берут заголовок блока и многократно хешируют его с различными значениями nonce, пока не найдут хеш, который ниже определённого целевого значения сложности. Когда майнер находит такой хеш, он транслирует блок в сеть, и другие узлы проверяют, что хеш валиден и что все транзакции в блоке валидны. Целевое значение сложности автоматически корректируется протоколом каждые 2016 блоков (приблизительно две недели), чтобы обеспечить производство блоков с примерно постоянной скоростью.

Обратите внимание, что в долгосрочной перспективе безопасность блокчейна зависит от того, имеют ли майнеры финансовый стимул вести себя честно. Если злоумышленник контролирует более 50% вычислительной мощности сети, он потенциально может выполнить «атаку 51%», создав альтернативный блокчейн, который растёт быстрее, чем честная цепочка. Однако такая атака потребовала бы огромных вычислительных ресурсов и, вероятно, привела бы к тому, что вознаграждения за майнинг атакующего стали бы бесполезными, поскольку сеть потеряла бы доверие к целостности блокчейна.

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%" ได้ด้วยการสร้างบล็อคเชนทางเลือกที่เติบโตเร็วกว่าเชนที่ซื่อสัตย์ อย่างไรก็ตาม การโจมตีดังกล่าวจะต้องใช้ทรัพยากรคอมพิวเตอร์จำนวนมหาศาล และอาจส่งผลให้รางวัลการขุดของผู้โจมตีไร้ค่า เนื่องจากเครือข่ายสูญเสียความมั่นใจในความสมบูรณ์ของบล็อคเชน

Merkle Trees

Деревья Меркла являются фундаментальной структурой данных, используемой в блоках Bitcoin для обеспечения эффективной и безопасной верификации включения транзакций. Дерево Меркла представляет собой бинарное дерево хешей, где листовые узлы содержат хеши отдельных транзакций, а каждый внутренний узел содержит хеш своих двух потомков, рекурсивно формируя единственный корневой хеш, который хранится в заголовке блока. Эта иерархическая структура позволяет любому проверить, что конкретная транзакция включена в блок, загрузив лишь ветвь Меркла — цепочку хешей от транзакции до корня — вместо загрузки всех транзакций в блоке.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Выигрыш в эффективности существенен: в то время как полный узел Bitcoin должен хранить всю цепочку блоков (приблизительно 15 ГБ по состоянию на 2013 год), узел упрощённой верификации платежей (SPV) должен загрузить только заголовки блоков, содержащие корни Меркла, что требует всего 4 МБ данных. Для верификации транзакции узел SPV запрашивает ветвь Меркла у полных узлов, что требует лишь O(log n) данных, где n — количество транзакций в блоке. Такое логарифмическое масштабирование делает возможным запуск лёгких клиентов на мобильных устройствах и в средах с ограниченными ресурсами.

Использование деревьев Меркла в Bitcoin демонстрирует ключевой принцип: криптографические структуры могут значительно снизить требования к доверию и ресурсам для участия в децентрализованной сети. Этот же принцип лежит в основе архитектуры Ethereum, где деревья Меркла используются не только для транзакций, но и для хранения состояния и квитанций, что позволяет создавать ещё более сложные протоколы для лёгких клиентов.

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 มีความซับซ้อนมากยิ่งขึ้น

Alternative Blockchain Applications

Успех блокчейна Bitcoin вдохновил многочисленные попытки расширить эту концепцию за пределы простой валюты. Namecoin, запущенный в 2010 году, был одним из первых примеров — децентрализованная база данных регистрации имён, построенная на блокчейне, позволяющая пользователям регистрировать имена в распределённом пространстве имён, которое ни одна центральная власть не могла цензурировать или отозвать. Colored coins появились как способ представления альтернативных активов на блокчейне Bitcoin путём «маркировки» определённых выходов транзакций для обозначения владения реальными активами, акциями компаний или другими криптовалютами. Метакоины и мета-протоколы, такие как Mastercoin (позднее Omni), добавляли дополнительную функциональность поверх Bitcoin, кодируя дополнительные данные в транзакциях Bitcoin и строя отдельные правила протокола поверх них.

Однако все эти подходы страдали от фундаментальных ограничений, налагаемых архитектурой Bitcoin. Язык скриптов Bitcoin намеренно ограничен — он не может получить доступ к состоянию блокчейна, не имеет циклов и сложного управления потоком выполнения, а также предоставляет ограниченную интроспекцию значений транзакций. Создание сложных приложений требовало неуклюжих обходных решений: кодирования метаданных в полях транзакций, никогда не предназначавшихся для этого, зависимости от внецепочечной инфраструктуры для сложной логики или принятия серьёзных ограничений на то, что протокол мог реализовать.

Эти ограничения мотивировали поиск более универсальной блокчейн-платформы. Вместо создания ещё одного специализированного протокола поверх ограниченного фундамента Bitcoin, Ethereum использует другой подход: предоставление блокчейна со встроенным Тьюринг-полным языком программирования, позволяющим любому создавать смарт-контракты и децентрализованные приложения с произвольными правилами владения, форматами транзакций и функциями перехода состояний.

Alternative Blockchain Applications

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

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

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

Scripting

Bitcoin Script, язык, используемый для определения условий расходования транзакций Bitcoin, намеренно спроектирован с серьёзными ограничениями. Он не является Тьюринг-полным — в первую очередь, в нём отсутствуют циклы и сложные структуры управления потоком выполнения. Язык работает как простая стековая среда исполнения, где операции помещают и извлекают значения, оценивают криптографические условия и в конечном итоге возвращают истину или ложь, определяя, является ли транзакция допустимой. Хотя эта простота обеспечивает преимущества безопасности и упрощает формальный анализ, она также делает невозможной реализацию многих типов приложений.

Эти ограничения делятся на три основные категории. Во-первых, отсутствие Тьюринг-полноты не позволяет реализовать сложные конечные автоматы, деревья решений или любой алгоритм, требующий итерации. Во-вторых, «слепота к значениям» означает, что скрипты не могут определять детальный контроль над суммами снятия — UTXO может быть потрачен только целиком, а сдача отправляется на новый выход. Скрипт не может, например, ограничить снятие максимумом X в день, оставив остаток заблокированным. В-третьих, отсутствие осведомлённости о состоянии блокчейна означает, что UTXO либо потрачены, либо не потрачены, без промежуточных состояний, что делает невозможной реализацию многоэтапных контрактов исключительно в цепочке.

Эти ограничения делают такие сложные приложения, как децентрализованные автономные организации, сберегательные кошельки с лимитами снятия, децентрализованные биржи или рынки предсказаний, либо невозможными, либо требующими неуклюжих внецепочечных механизмов. Продвинутый финансовый контракт может потребовать доступа к рыночным данным, способности поддерживать внутреннее состояние между несколькими транзакциями и сложной условной логики — ничего из этого Bitcoin Script обеспечить не может. Ethereum устраняет эти ограничения, предоставляя Тьюринг-полный язык с полным доступом к состоянию блокчейна.

Scripting

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

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

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

Ethereum

Фундаментальная цель Ethereum — предоставить блокчейн со встроенным Тьюринг-полным языком программирования, который позволяет любому писать смарт-контракты и децентрализованные приложения, в которых можно создавать собственные произвольные правила владения, форматы транзакций и функции перехода состояний. Вместо разработки протокола для конкретных приложений, таких как валюта, регистрация имён или торговля активами, Ethereum предоставляет фундаментальный слой — платформу распределённых вычислений на основе блокчейна, которую разработчики могут использовать для создания любого приложения, которое они могут себе представить.

Архитектура фундаментально отличается от модели UTXO Bitcoin. Ethereum использует систему на основе счетов, где состояние блокчейна представляет собой отображение адресов в объекты счетов. Каждый счёт имеет баланс, счётчик транзакций (nonce), а для контрактных счетов — связанный код и хранилище. Платформа включает встроенный Тьюринг-полный язык программирования для написания кода контрактов, который выполняется в виртуальной машине Ethereum (EVM) — стековой среде исполнения, обрабатывающей транзакции и переходы состояний.

Эта универсальность позволяет создавать обширный спектр приложений: альтернативные криптовалюты с пользовательскими правилами эмиссии, финансовые деривативы и стейблкоины, системы идентификации и репутации, децентрализованное файловое хранилище, децентрализованные автономные организации (DAO) и многое другое. Whitepaper подчёркивает, что Ethereum не оптимизирован для какого-либо конкретного варианта использования, а предоставляет фундаментальные строительные блоки — счета, транзакции, Тьюринг-полный язык и исполнение с измерением газа — которые разработчики могут комбинировать для создания приложений, востребованных экосистемой.

Ethereum

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

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

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

Ethereum Accounts

В Ethereum состояние формируется из счетов, и существуют два фундаментальных типа. Внешние счета (EOA) контролируются закрытыми ключами и не имеют связанного кода — они представляют пользователей-людей или внешние сущности, взаимодействующие с блокчейном. Контрактные счета контролируются своим кодом контракта и активируются при получении сообщения или транзакции. Оба типа имеют общую структуру: каждый счёт имеет nonce (счётчик, обеспечивающий однократную обработку каждой транзакции), баланс в эфире, а для контрактов — код контракта и постоянное хранилище.

Эфир (ether) является основной внутренней криптовалютой Ethereum, служащей одновременно средством передачи стоимости и фундаментальной единицей для оплаты комиссий за транзакции (газ). В отличие от модели UTXO Bitcoin, где стоимость распределена между несколькими неизрасходованными выходами, счета Ethereum поддерживают простой баланс, который увеличивается при получении эфира и уменьшается при его отправке. Эта модель на основе счетов упрощает многие типы приложений, особенно требующие постоянного состояния или сложного контроля доступа, хотя и вводит другие соображения безопасности по сравнению с подходом Bitcoin.

Различие между EOA и контрактными счетами имеет решающее значение для понимания работы Ethereum. EOA могут инициировать транзакции, создавая и подписывая сообщения своими закрытыми ключами, оплачивая комиссии в газе за включение транзакций в блоки. Контрактные счета не могут инициировать транзакции самостоятельно, но могут отправлять сообщения другим контрактам в ответ на полученную транзакцию или сообщение, обеспечивая сложные цепочки выполнения, где одна внешняя транзакция запускает множественные взаимодействия между контрактами.

Ethereum Accounts

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

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

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

Messages and Transactions

Транзакции в Ethereum представляют собой подписанные пакеты данных, создаваемые внешними счетами и транслируемые по сети. Транзакция содержит адрес получателя, криптографическую подпись, подтверждающую личность отправителя, количество эфира для перевода, необязательное поле данных (критически важное для взаимодействия с контрактами), STARTGAS (максимальное количество вычислительных шагов, которое транзакция может совершить) и GASPRICE (комиссия за вычислительный шаг, которую отправитель готов заплатить). Майнеры собирают эти транзакции, проверяют их, исполняют и включают в блоки, получая комиссии в газе в качестве вознаграждения.

Сообщения концептуально аналогичны транзакциям, но создаются контрактами, а не внешними участниками. Когда код контракта исполняется, он может отправлять сообщения другим контрактам — эти внутренние сообщения содержат отправителя (адрес контракта), получателя, количество эфира для перевода, необязательную полезную нагрузку данных и лимит STARTGAS. Сообщения обеспечивают коммуникацию между контрактами, позволяя строить сложные приложения из множества взаимодействующих контрактов, а не из монолитных программ.

Механизм газа критически важен для предотвращения злоупотреблений: каждый вычислительный шаг, операция хранения и байт данных в транзакции потребляет газ. Если транзакция исчерпывает газ до завершения, все изменения состояния откатываются (за исключением оплаты газа майнеру), предотвращая бесконечные циклы или чрезмерные вычисления, способные парализовать сеть. Отправитель указывает как общий бюджет газа (STARTGAS), так и цену, которую он готов платить за единицу (GASPRICE), а неиспользованный газ возвращается после завершения исполнения.

Messages and Transactions

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

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

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

Ethereum State Transition Function

Функция перехода состояний Ethereum APPLY(S,TX) - S' определяет, как транзакция преобразует состояние блокчейна, и следует точной последовательности шагов. Сначала система проверяет допустимость транзакции: верифицирует правильность подписи, подтверждает соответствие nonce значению nonce счёта отправителя и обеспечивает наличие у отправителя достаточного баланса для оплаты авансовой стоимости (STARTGAS x GASPRICE плюс отправляемая сумма). Если любая проверка не проходит, транзакция отклоняется до начала исполнения. При успешной проверке комиссия за транзакцию вычитается со счёта отправителя, nonce отправителя увеличивается, и начальный счётчик газа устанавливается равным STARTGAS за вычетом побайтовой комиссии за данные транзакции.

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

Далее система переводит указанную сумму эфира от отправителя получателю. Если получатель является внешним счётом, на этом транзакция завершается. Если получатель является контрактным счётом, код контракта запускается в виртуальной машине Ethereum, потребляя газ за каждую операцию до тех пор, пока код не завершится успешно, явно не остановится или газ не будет исчерпан. Во время исполнения контракт может читать и изменять своё хранилище, отправлять сообщения другим контрактам и создавать новые контракты.

Наконец, если перевод средств не удался (недостаточный баланс) или исполнение кода завершилось неудачей (исчерпание газа или ошибка), все изменения состояния откатываются — за исключением того, что отправитель всё равно оплачивает газ майнеру за выполненные вычисления. При успешном исполнении оставшийся газ возвращается отправителю, а потреблённый газ отправляется майнеру в качестве комиссии. Этот механизм гарантирует, что майнеры получают компенсацию за вычисления, одновременно предотвращая неконтролируемое исполнение, потребляющее неограниченные ресурсы.

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 ซึ่งใช้แก๊สในการดำเนินการแต่ละครั้งจนกว่ารหัสจะเสร็จสมบูรณ์สำเร็จ รหัสหยุดลงอย่างชัดเจน หรือแก๊สหมด ในระหว่างการดำเนินการ สัญญาสามารถอ่านและแก้ไขพื้นที่เก็บข้อมูล ส่งข้อความไปยังสัญญาอื่น และสร้างสัญญาใหม่ได้

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

Code Execution

Виртуальная машина Ethereum (EVM) — это среда исполнения, в которой выполняется код контрактов — низкоуровневая стековая виртуальная машина, концептуально схожая с виртуальной машиной Java или WebAssembly. Код контракта хранится в виде последовательности байтов, где каждый байт представляет операцию (opcode), которую EVM может выполнить. Модель исполнения намеренно проста и детерминистична: каждый узел, исполняющий EVM с одинаковым входным состоянием и транзакцией, должен прийти к одинаковому выходному состоянию, обеспечивая консенсус в сети.

EVM предоставляет три различных типа хранения для вычислений. Стек — это структура «последним вошёл, первым вышел» (LIFO), ограниченная 1024 элементами и используемая для непосредственных значений операций. Память — это бесконечно расширяемый массив байтов, существующий только в течение одного вызова сообщения и сбрасываемый между исполнениями. Хранилище — это постоянное хранилище «ключ-значение», навсегда связанное с каждым контрактным счётом, где контракты поддерживают своё долгосрочное состояние между транзакциями. Эти типы хранения тарифицируются по-разному в газе — операции со стеком и памятью дешёвые, тогда как операции с хранилищем дорогие для предотвращения раздувания блокчейна.

Во время исполнения код контракта имеет доступ к важному контексту: он может читать адрес отправителя сообщения, сумму отправленного эфира, полезную нагрузку данных, предоставленную вызывающей стороной, и свойства уровня блока, такие как текущий номер блока, метка времени и адрес майнера. Код может возвращать выходной массив байтов вызывающей стороне и может отправлять сообщения другим контрактам или создавать новые контракты. Эта модель исполнения является Тьюринг-полной — циклы и сложное управление потоком возможны — но механизм газа гарантирует, что все вычисления завершаются за ограниченное время, решая проблему останова экономически, а не через языковые ограничения.

Code Execution

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

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

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

Blockchain and Mining

Блокчейн Ethereum фундаментально подобен блокчейну Bitcoin, служа базой данных, содержащей каждую когда-либо исполненную транзакцию. Однако, в то время как Bitcoin хранит только список транзакций, Ethereum хранит как список транзакций, так и актуальное состояние. Каждый блок в Ethereum содержит хеш предыдущего блока, корень состояния (корневой хеш дерева Меркла-Патриции, представляющего полное состояние), корень транзакций, корень квитанций (хранящий данные исполнения транзакций), а также значения сложности, метки времени и nonce. Само состояние представляет собой большое дерево Меркла-Патриции, отображающее адреса в объекты счетов, где каждый счёт имеет баланс, nonce, код (при наличии) и хранилище.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum использует модифицированную версию протокола GHOST (Greedy Heaviest Observed Subtree) для решения проблем безопасности, возникающих при быстром времени создания блоков. В традиционных протоколах с самой длинной цепью быстрые блоки приводят к высокой доле устаревших блоков, снижая безопасность сети и увеличивая риски централизации, поскольку крупные майнеры теряют меньше вычислений на устаревших блоках. GHOST включает устаревшие блоки (называемые «дядями» в Ethereum) в расчёт того, какая цепь является самой длинной, и предоставляет частичные вознаграждения блокам-дядям, стимулируя майнеров ссылаться на них. Это позволяет Ethereum поддерживать целевое время блока приблизительно в 12 секунд, сохраняя при этом безопасность сети.

Алгоритм майнинга работает аналогично доказательству работы Bitcoin, требуя от майнеров найти nonce, при котором хеш блока оказывается ниже определённого целевого значения сложности. Однако алгоритм майнинга с высоким потреблением памяти (Ethash) спроектирован для устойчивости к ASIC, способствуя более децентрализованной экосистеме майнинга. Сложность динамически корректируется на основе времени создания блоков для поддержания цели в ~12 секунд, обеспечивая стабильное производство блоков, в то время как протокол GHOST предоставляет гарантии безопасности, несмотря на более быстрое время блоков по сравнению со средним показателем Bitcoin в 10 минут.

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

Applications

Приложения, которые можно создать на Ethereum, делятся на три широкие категории. Первая категория — финансовые приложения, предоставляющие пользователям более мощные способы управления деньгами и заключения контрактов с их участием. Сюда входят суб-валюты, финансовые деривативы, контракты хеджирования, сберегательные кошельки с лимитами снятия, завещания, автоматически распределяющие средства, и даже трудовые контракты, рассчитывающие оплату на основе подтверждённого выполнения работы. Эти приложения используют программируемость Ethereum для создания сложных финансовых инструментов, которые были бы невозможны или чрезвычайно сложны для реализации в традиционных системах или даже на Bitcoin.

Вторая категория — полуфинансовые приложения, где деньги задействованы, но присутствует также существенная неденежная составляющая. Идеальный пример — самоисполняющиеся вознаграждения за решения вычислительных задач. Кто-то мог бы опубликовать вычислительную задачу вместе с наградой, и контракт мог бы автоматически проверять представленные решения и выплачивать вознаграждение за первый правильный ответ. Эта категория связывает чистые финансы с другими областями, используя экономические стимулы для решения задач или координации поведения.

Третья категория — приложения, вообще не связанные с деньгами, такие как онлайн-голосование и системы децентрализованного управления. Эти нефинансовые приложения демонстрируют гибкость Ethereum как универсальной платформы. Примеры включают децентрализованные системы доменных имён наподобие Namecoin, системы репутации, децентрализованное файловое хранилище и инструменты организационного управления. Среди всех этих типов приложений токен-системы стали наиболее распространёнными и фундаментальными, служа строительными блоками для многих других приложений.

Applications

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

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

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

Token Systems

Токен-системы удивительно просты в реализации на Ethereum, несмотря на то что являются одним из самых мощных и распространённых приложений. По своей сути токен-системы — это просто база данных с одной операцией: вычесть X единиц со счёта A и добавить X единиц на счёт B при условии, что у A было как минимум X единиц до транзакции и транзакция авторизована A. Реализация требует поддержания отображения адресов в балансы и предоставления функции перевода, которая выполняет соответствующие проверки перед перемещением токенов между счетами.

Код контракта для базовой токен-системы замечательно прост и может быть написан всего в нескольких строках. Он состоит из структуры данных, отображающей адреса в балансы, функции инициализации, назначающей начальное предложение токенов, и функции перевода, проверяющей баланс и авторизацию отправителя перед выполнением перевода. Эта простота разительно контрастирует со сложностью, необходимой для реализации аналогичных систем на Bitcoin, которая потребовала бы значительных обходных решений и ограничений из-за ограниченных возможностей скриптов Bitcoin.

Токены на Ethereum могут представлять практически всё, что имеет ценность. Они могут представлять суб-валюты с собственной денежно-кредитной политикой, финансовые деривативы, отслеживающие внешние активы, акции компаний с правами на дивиденды, баллы лояльности в клиентских программах, товары, такие как золото или нефть, или даже представления физической собственности. Программируемость Ethereum позволяет этим токенам иметь произвольные правила, управляющие их поведением, такие как ограничения на переводы, механизмы автоматического сжигания, распределение дивидендов или права управления. Эта гибкость сделала токен-системы фундаментальным строительным блоком значительной части экосистемы Ethereum.

Token Systems

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

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

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

Financial Derivatives and Stable-Value Currencies

Финансовые деривативы представляют одно из наиболее фундаментальных и важных применений смарт-контрактов Ethereum. Простой контракт хеджирования демонстрирует базовый механизм: сторона A вносит определённое количество эфира стоимостью 1000 \(, сторона B вносит эквивалентную сумму, и контракт записывает стоимость эфира в USD на этот момент, используя поток данных. Через 30 дней контракт пересчитывает стоимость и отправляет эфир на сумму 1000 \) стороне A, а остаток — стороне B. Если цена эфира выросла, A получает меньше эфира, но сохраняет стоимость в 1000 $; если упала — A получает больше эфира для поддержания этой стоимости. Это позволяет A хеджировать волатильность, в то время как B спекулирует на ценовых движениях.

Реализация таких контрактов требует доступа к внешним данным через контракты-оракулы или потоки данных. Эти оракулы предоставляют информацию о ценах, погодные данные или другую информацию из реального мира, необходимую контрактам для корректного исполнения. Хотя оракулы вводят зависимость от доверия, они могут быть спроектированы с резервированием и криптоэкономическими стимулами для предоставления надёжных данных. Сам контракт просто запрашивает оракул, выполняет вычисления на основе этих данных и распределяет средства в соответствии со своей запрограммированной логикой.

Стейблкоины и более сложные финансовые инструменты могут быть построены с использованием аналогичных механизмов. Контракт стейблкоина может поддерживать резерв эфира и выпускать токены, привязанные к фиатной валюте, автоматически корректируя предложение или требования к обеспечению на основе ценовых потоков. Опционные контракты, фьючерсы, свопы и другие деривативы, которые обычно требуют сложных юридических структур и доверенных посредников, могут быть закодированы как самоисполняющиеся смарт-контракты. Эта инфраструктура программируемых финансов обеспечивает сложный финансовый инжиниринг, сохраняя при этом гарантии прозрачности и безопасности блокчейн-технологии.

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

Identity and Reputation Systems

Система регистрации имён, аналогичная Namecoin, тривиально реализуема на Ethereum и служит простейшим примером системы идентификации. Контракт поддерживает базу данных с таблицей «ключ-значение», отображающей имена в связанные данные (такие как IP-адреса, открытые ключи или другую информацию). Любой может зарегистрировать имя, отправив транзакцию контракту вместе с небольшой регистрационной комиссией, при условии что это имя ещё не занято. Владелец может обновить связанные данные в любое время, а имена могут быть сделаны передаваемыми или постоянными в соответствии с правилами, закодированными в контракте.

Более продвинутые системы идентификации могут быть построены на этой основе, включая оценки репутации, отношения сети доверия и децентрализованную верификацию личности. Например, контракт мог бы поддерживать оценки репутации на основе подтверждённых транзакций, оценок коллег или выполнения задач. Эти оценки были бы публично видимыми и криптографически привязанными к конкретным адресам, создавая портативную репутацию, которая следует за пользователями через приложения. Системы сети доверия могли бы позволять пользователям поручаться за личность других, выстраивая социальные графы, помогающие отличить легитимных пользователей от злоумышленников.

Такие системы идентификации и репутации становятся особенно мощными при интеграции с другими приложениями. Маркетплейс мог бы требовать минимальные оценки репутации для продавцов, кредитная платформа — корректировать процентные ставки на основе репутации заёмщика, а социальная сеть — использовать сеть доверия для фильтрации спама и мошеннического контента. Предоставляя общую инфраструктуру для идентификации, которую может запрашивать любое приложение, Ethereum позволяет создать новый класс приложений, основанных на доверии, не зависящих от централизованных провайдеров идентификации или проприетарных систем репутации.

Identity and Reputation Systems

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

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

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

Decentralized File Storage

Децентрализованное файловое хранилище может быть реализовано через контракты Ethereum, координирующие взаимодействие между пользователями, нуждающимися в хранении, и провайдерами, которые его предоставляют. В модели «децентрализованного Dropbox» пользователи платили бы ежемесячную плату за загрузку файлов, а контракт распределял бы платежи провайдерам хранения, которые доказывают, что действительно хранят данные. Механизм доказательства работает через периодические криптографические испытания: контракт случайным образом выбирает фрагменты файлов и просит провайдеров предоставить доказательства на основе дерева Меркла, демонстрирующие, что они обладают этими данными. Провайдеры, не прошедшие испытания или ушедшие в оффлайн, теряли бы свои депозиты и будущий поток платежей.

Этот подход предлагает несколько преимуществ по сравнению с централизованным хранением. Доказательства на основе дерева Меркла обеспечивают эффективную верификацию — пользователи и контракт могут подтвердить доступность файлов без загрузки целых файлов. Система естественно распределяет файлы между несколькими независимыми провайдерами, создавая избыточность без необходимости в явных протоколах репликации. Экономические стимулы согласуют поведение провайдеров с потребностями пользователей: провайдеры зарабатывают деньги, надёжно храня данные, и теряют деньги, если этого не делают. Это устраняет требование доверия, присущее централизованным решениям хранения.

Стоимость хранения в такой системе потенциально может быть ниже, чем у централизованных альтернатив, по нескольким причинам. Устранение монопольного ценообразования позволяет рыночной конкуренции снизить стоимость до уровня, близкого к фактической стоимости хранения. Неявная избыточность от нескольких пользователей, хранящих похожие файлы, может уменьшить общие потребности в хранении. Нет необходимости в дорогостоящей инфраструктуре центров обработки данных или корпоративных накладных расходах. Тем не менее остаются проблемы с механизмами оплаты, обеспечением достаточного участия провайдеров и управлением компромиссом между избыточностью и стоимостью. Несмотря на эти проблемы, децентрализованное хранилище демонстрирует, как Ethereum может координировать сложные многосторонние взаимодействия исключительно через экономические стимулы.

Decentralized File Storage

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

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

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

Decentralized Autonomous Organizations

Децентрализованная автономная организация (DAO) — это виртуальная сущность, имеющая набор участников или акционеров, которые коллективно обладают правом расходовать средства организации и изменять её код. Типичная DAO работает по простому правилу: 67% участников необходимы для принятия решений о расходовании средств или изменения кода организации. Участники могут подавать предложения, голосовать по ним, и если предложение получает достаточную поддержку, контракт автоматически исполняет решение. Доли участников могут быть передаваемыми, обеспечивая ликвидный рынок для участия в DAO, а различные классы долей могут иметь различные права голоса или экономические требования.

Простейшая конструкция DAO — это самомодифицирующийся контракт, поддерживающий список участников и требующий голосования с большинством 2/3 для изменения любого аспекта контракта, включая его собственные правила голосования. Участники подавали бы изменения кода в виде транзакций, другие участники голосовали бы, и по достижении порога контракт обновлял бы себя. Более сложные конструкции могут включать системы делегированного голосования, где участники могут передавать свои полномочия голосования представителям, или ликвидную демократию, где голоса могут быть делегированы, но в любой момент возвращены для важных решений.

DAO могут служить различным целям помимо простого управления фондами. DAO может функционировать как децентрализованная корпорация, нанимая подрядчиков, приобретая услуги и распределяя прибыль между акционерами — всё это управляется кодом смарт-контракта, а не традиционными юридическими структурами. Она может действовать как децентрализованный инвестиционный фонд, где участники голосуют за то, какие проекты финансировать. Она может управлять общим ресурсом, где заинтересованные стороны голосуют за правила распределения. Ключевое понимание заключается в том, что, кодируя правила управления в прозрачном, неизменяемом коде и привязывая их к экономической ставке, DAO могут координировать групповые решения без необходимости в традиционном иерархическом управлении или юридическом принуждении.

Decentralized Autonomous Organizations

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

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

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

Further Applications

Помимо уже рассмотренных основных категорий, Ethereum позволяет создавать многочисленные другие приложения. Сберегательные кошельки с продвинутыми функциями безопасности могут устанавливать ежедневные лимиты снятия, предоставляя при этом экстренные ключи для восстановления, защищая пользователей от кражи и сохраняя полный контроль. Контракты страхования урожая могут автоматически выплачивать фермерам на основе потоков метеорологических данных, устраняя обработку претензий и снижая административные расходы. Приложения для одноранговых азартных игр могут работать без каких-либо доверенных посредников, при этом смарт-контракты удерживают ставки и автоматически выплачивают выигрыши на основе верифицируемых случайных чисел или данных о реальных событиях.

Ончейн-рынки предсказаний позволяют пользователям делать ставки на будущие события, создавая мощные механизмы прогнозирования через мудрость толпы. Они могут быть дополнены протоколами типа SchellingCoin для создания децентрализованных оракулов: участники независимо сообщают данные (такие как результаты выборов или погодные условия), и те, чьи отчёты совпадают с большинством, получают вознаграждения, тогда как отклоняющиеся штрафуются. Этот криптоэкономический подход стимулирует честное сообщение данных и может предоставлять надёжные данные реального мира другим контрактам без необходимости доверять какому-либо единственному провайдеру оракула.

Мультиподписные кошельки представляют ещё одно важное приложение, обеспечивающее совместный контроль средств несколькими сторонами. Мультиподписной кошелёк 2-из-3 может требовать одобрения транзакции двумя из трёх назначенных сторон до того, как средства могут быть потрачены, что полезно для эскроу-соглашений, корпоративных казначейств или личной безопасности. Децентрализованные маркетплейсы могут сочетать системы идентификации, оценки репутации, эскроу-контракты и механизмы разрешения споров для обеспечения одноранговой торговли без централизованных платформ. Каждое из этих приложений демонстрирует, как программируемость Ethereum позволяет создавать новые модели доверия и организационные структуры.

Further Applications

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

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

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

Miscellanea And Concerns

Реализация модифицированного протокола GHOST в Ethereum включает специфические правила для включения и вознаграждения дядей. Дяди должны быть прямыми потомками предка текущего блока (от 2 до 7 поколений назад), должны быть валидными заголовками блоков, должны быть отличны от предыдущих дядей и не должны быть прямыми предками текущего блока. Блоки-дяди получают 87,5% стандартного вознаграждения за блок, а включающий блок получает дополнительные 3,125% за каждого включённого дядю (до двух дядей). Эта структура стимулов побуждает майнеров ссылаться на устаревшие блоки, которые они наблюдают, укрепляя безопасность сети и одновременно вознаграждая майнеров, которым временно не повезло с распространением по сети.

Система комиссий основана на концепции «газа», где каждая вычислительная операция имеет фиксированную стоимость в газе. Например, операция умножения стоит 5 газа, хеш SHA256 стоит 20 газа, а каждая транзакция имеет базовую стоимость 21 000 газа. Пользователи указывают как лимит газа (максимум газа, который они готовы потребить), так и цену газа (сколько эфира они заплатят за единицу газа). Эта система служит нескольким целям: она предотвращает бесконечные циклы и атаки типа «отказ в обслуживании», гарантируя оплату всех вычислений, создаёт рынок блочного пространства, где пользователи делают ставки через цены газа, и позволяет майнерам устанавливать минимальную цену газа, которую они готовы принять, защищая ресурсы сети.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Масштабируемость остаётся серьёзной проблемой, поскольку каждый полный узел должен обработать каждую транзакцию для верификации состояния. Текущие архитектуры блокчейна с трудом могут сравниться с пропускной способностью транзакций централизованных систем. Потенциальные решения включают шардинг состояния, где различные узлы обрабатывают различные подмножества транзакций, и переход от доказательства работы к консенсусу на основе доказательства доли, который мог бы обеспечить более эффективное производство блоков. Лёгкие клиенты, использующие доказательства Меркла, могут верифицировать транзакции без обработки всех блоков, но кто-то всё равно должен всё обработать. Эти проблемы масштабируемости представляют активные области исследований и разработок, критически важные для долгосрочной жизнеспособности 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

Conclusion

Протокол Ethereum изначально был задуман как улучшенная версия криптовалюты, предоставляющая продвинутые функции, такие как ончейн-эскроу, лимиты снятия и финансовые контракты через высокообобщённый язык программирования. Однако протокол Ethereum выходит далеко за рамки простой валюты. Протоколы децентрализованного файлового хранилища, децентрализованных вычислений и децентрализованных рынков предсказаний, среди десятков других концепций, обладают потенциалом для существенного повышения эффективности вычислительной индустрии и массового развития других одноранговых протоколов, впервые добавляя экономический слой.

Вместо предоставления ограниченного набора операций, предназначенных для конкретных сценариев использования, Ethereum предоставляет Тьюринг-полный язык программирования, позволяющий разработчикам создавать любое приложение, которое они могут спроектировать. Хотите изобрести собственный финансовый дериватив? Создать собственную валюту? Основать правительство на блокчейне? Всё это тривиально реализуемо с помощью скриптовой системы Ethereum. Мощь платформы заключается не в предсказании того, какие приложения будут построены, а в предоставлении фундаментальной инфраструктуры, делающей их создание лёгким.

Концепция произвольной функции перехода состояний, реализованная протоколом Ethereum, предоставляет платформу с уникальным потенциалом. Вместо того чтобы быть закрытым протоколом единственного назначения для конкретных приложений в хранении данных, азартных играх или финансах, Ethereum открыт по замыслу, и мы считаем, что он чрезвычайно хорошо подходит для того, чтобы служить фундаментальным слоем для большого количества как финансовых, так и нефинансовых протоколов в ближайшие годы. Приложения, которые будут построены на Ethereum в будущем, могут оказаться теми, которые мы не можем даже вообразить сегодня, и эта открытая возможность представляет собой истинное обещание платформы.

Conclusion

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

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

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

References and Further Reading

Whitepaper Ethereum основывается на обширных предшествующих работах в области исследований криптовалют и распределённых систем. Основополагающий протокол Bitcoin описан в оригинальной статье Сатоси Накамото 2008 года «Bitcoin: A Peer-to-Peer Electronic Cash System», которая представила концепцию цифровой валюты на основе блокчейна. Ранние попытки расширить функциональность Bitcoin включают Namecoin — децентрализованную систему регистрации имён, демонстрирующую блокчейн-приложения за пределами валюты, хотя и ограниченную возможностями скриптов Bitcoin.

Whitepaper colored coins предложил метод представления альтернативных активов на блокчейне Bitcoin путём «окрашивания» определённых биткоинов для обозначения других активов, тогда как Mastercoin попытался создать протокольный слой поверх Bitcoin для более сложных финансовых инструментов. Оба подчеркнули ограничения строительства на Bitcoin и мотивировали необходимость более гибкой платформы. Концепция децентрализованных автономных корпораций, исследованная в Bitcoin Magazine, предоставила теоретические основы для организационного управления через смарт-контракты.

Ключевые технические компоненты включают упрощённую верификацию платежей (SPV) для лёгких клиентов, деревья Меркла для эффективной верификации данных и деревья Патриции для представления состояния Ethereum. Протокол GHOST (Greedy Heaviest Observed Subtree), описанный в криптографической статье 2013 года, решает проблемы безопасности, возникающие при быстром времени создания блоков, и формирует основу механизма консенсуса 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 ถูกสร้างขึ้น โดยผสมผสานข้อมูลเชิงลึกจากสกุลเงินดิจิทัล ระบบแบบกระจาย การเข้ารหัส และทฤษฎีเกม เพื่อสร้างแพลตฟอร์มบล็อกเชนสำหรับวัตถุประสงค์ทั่วไป