Эфириум: Платформа смарт-контрактов и децентрализованных приложений нового поколения

Tác giả Vitalik Buterin · 2013

Abstract

Ethereum la mot nen tang tien ma hoa va ung dung phi tap trung the he tiep theo, gioi thieu mot blockchain voi ngon ngu lap trinh Turing-complete tich hop san. Dieu nay cho phep bat ky ai viet smart contract va cac ung dung phi tap trung, noi ho co the tao ra cac quy tac tuy y cho quyen so huu, dinh dang giao dich va cac ham chuyen doi trang thai (state transition function).

Su doi moi co ban cua Ethereum la ket hop cong nghe blockchain do Bitcoin khai pha voi mot moi truong lap trinh da muc dich. Trong khi Bitcoin cung cap mot he thong chuyen doi trang thai don gian de chuyen tien tu tai khoan nay sang tai khoan khac, Ethereum cung cap mot nen tang noi cac nha phat trien co the xay dung bat ky loai ung dung phi tap trung nao ma ho co the tuong tuong, tu cac loai tien te thay the va cong cu tai chinh den he thong dang ky ten mien va cac to chuc phi tap trung.

Ethereum dat duoc dieu nay bang cach xay dung nhung gi ve co ban la lop nen tang truu tuong toi thuong: mot blockchain voi ngon ngu lap trinh Turing-complete tich hop san, cho phep bat ky ai viet smart contract va cac ung dung phi tap trung, noi ho co the tao ra cac quy tac tuy y cho quyen so huu, dinh dang giao dich va cac ham chuyen doi trang thai. Mot phien ban co ban cua Namecoin co the duoc viet chi trong hai dong ma, va cac giao thuc khac nhu tien te va he thong danh tieng co the duoc xay dung trong duoi hai muoi dong.

Abstract

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

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

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

Introduction and Existing Concepts

Khái niệm về tiền kỹ thuật số phi tập trung, cũng như các ứng dụng thay thế như đăng ký tài sản, đã tồn tại trong nhiều thập kỷ. Các giao thức tiền điện tử ẩn danh của những năm 1980 và 1990, chủ yếu dựa vào một phương pháp mã hóa nguyên thủy được gọi là làm mù Chaumian, đã cung cấp một loại tiền tệ có mức độ riêng tư cao, nhưng các giao thức này phần lớn không thu hút được sự chú ý do chúng phụ thuộc vào một trung gian tập trung. Năm 1998, b-money của Wei Dai trở thành đề xuất đầu tiên giới thiệu ý tưởng tạo tiền thông qua việc giải các câu đố tính toán cũng như sự đồng thuận phi tập trung, nhưng đề xuất này rất ít chi tiết về cách thức thực hiện sự đồng thuận phi tập trung.

Năm 2009, một loại tiền tệ phi tập trung lần đầu tiên được Satoshi Nakamoto triển khai trong thực tế, kết hợp các nguyên tắc cơ bản đã được thiết lập để quản lý quyền sở hữu thông qua mật mã khóa công khai với thuật toán đồng thuận để theo dõi ai sở hữu tiền xu, được gọi là "bằng chứng công việc". Cơ chế đằng sau bằng chứng công việc là một bước đột phá trong lĩnh vực này vì nó giải quyết đồng thời hai vấn đề. Đầu tiên, nó cung cấp một thuật toán đồng thuận đơn giản và hiệu quả vừa phải, cho phép các nút trong mạng đồng ý chung về một tập hợp các cập nhật chuẩn cho trạng thái Bitcoin ledger. Thứ hai, nó cung cấp một cơ chế cho phép tự do tham gia vào quá trình đồng thuận, giải quyết vấn đề chính trị trong việc quyết định ai sẽ ảnh hưởng đến sự đồng thuận, đồng thời ngăn chặn các cuộc tấn công âm thầm.

Chuỗi khối Bitcoin đã được chứng minh là mạnh mẽ đáng kể qua nhiều năm hoạt động, nhưng vốn dĩ nó vẫn còn hạn chế. Ngôn ngữ kịch bản của Bitcoin được thiết kế có chủ ý để hạn chế và không hoàn thiện Turing, thiếu vòng lặp và nhiều tính năng khác cần thiết để xây dựng các ứng dụng phức tạp hơn. Giới hạn này tồn tại để ngăn chặn các vòng lặp vô hạn và các hình thức tấn công tính toán khác, nhưng nó hạn chế nghiêm trọng những gì có thể được xây dựng trên Bitcoin.

Trong 5 năm qua, đã có một số nỗ lực nhằm mở rộng chức năng của Bitcoin. Đồng xu màu đã tìm cách sử dụng chuỗi khối Bitcoin để theo dõi quyền sở hữu các tài sản thay thế, Namecoin đã cố gắng tạo cơ sở dữ liệu đăng ký tên phi tập trung và các giao thức metacoin khác nhau nhằm xây dựng các lớp bổ sung trên Bitcoin. Mặc dù các phương pháp tiếp cận này tỏ ra đầy hứa hẹn nhưng cuối cùng chúng vẫn bị hạn chế bởi khả năng tạo tập lệnh của Bitcoin và không thể truy cập dữ liệu chuỗi khối từ bên trong các tập lệnh.

Những gì Ethereum dự định cung cấp là một blockchain có ngôn ngữ lập trình Turing-complete được tích hợp đầy đủ, có thể được sử dụng để tạo các "hợp đồng" dùng để mã hóa các chức năng chuyển đổi trạng thái tùy ý, cho phép người dùng tạo bất kỳ hệ thống nào được mô tả ở trên, cũng như nhiều hệ thống khác mà chúng tôi chưa tưởng tượng ra, chỉ bằng cách viết logic bằng một vài dòng mã.

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

Bitcoin As A State Transition System

Từ quan điểm kỹ thuật, ledger của tiền điện tử như Bitcoin có thể được coi là một hệ thống chuyển đổi trạng thái, trong đó có một "trạng thái" bao gồm trạng thái sở hữu của tất cả các bitcoin hiện có và "chức năng chuyển đổi trạng thái" có trạng thái và giao dịch và tạo ra trạng thái mới là kết quả. Ví dụ: trong hệ thống ngân hàng tiêu chuẩn, trạng thái là bảng cân đối kế toán, giao dịch là yêu cầu chuyển \(X từ A sang B và chức năng chuyển đổi trạng thái làm giảm giá trị trong tài khoản của A thêm X \) và tăng giá trị trong tài khoản của B lên \(X. Nếu tài khoản của A có ít hơn \)X ngay từ đầu, hàm chuyển trạng thái sẽ trả về lỗi.

Ethereum state transition diagram showing how transactions transform blockchain state

"Trạng thái" trong Bitcoin là tập hợp tất cả các đồng xu (về mặt kỹ thuật là "đầu ra giao dịch chưa chi tiêu" hoặc UTXO) đã được đúc và chưa được chi tiêu, với mỗi UTXO có một mệnh giá và một chủ sở hữu (được xác định bởi địa chỉ 20 byte về cơ bản là khóa công khai mật mã). Giao dịch chứa một hoặc nhiều đầu vào, trong đó mỗi đầu vào chứa tham chiếu đến UTXO hiện có và chữ ký mật mã được tạo bởi khóa riêng được liên kết với địa chỉ của chủ sở hữu và một hoặc nhiều đầu ra, với mỗi đầu ra chứa UTXO mới sẽ được thêm vào trạng thái.

Hàm chuyển trạng thái APPLY(S,TX) - S' có thể được định nghĩa đại khái như sau:

  1. Đối với mỗi đầu vào ở dạng TX, nếu UTXO được tham chiếu không ở dạng S, hãy trả về lỗi.
  2. Nếu chữ ký được cung cấp không khớp với chủ sở hữu của UTXO, hãy trả về lỗi.
  3. Nếu tổng mệnh giá của tất cả UTXO đầu vào nhỏ hơn tổng mệnh giá của tất cả UTXO đầu ra, hãy trả về lỗi.
  4. Trả về S với tất cả UTXO đầu vào đã bị xóa và tất cả UTXO đầu ra đã được thêm vào.

Nửa đầu của bước đầu tiên ngăn người gửi giao dịch tiêu tiền không tồn tại, nửa sau của bước đầu tiên ngăn người gửi giao dịch tiêu tiền của người khác và bước thứ hai thực thi việc bảo toàn giá trị. Để sử dụng số tiền này để thanh toán, giao thức như sau: giả sử Alice muốn gửi 11,7 BTC cho Bob. Đầu tiên, Alice sẽ tìm kiếm một bộ UTXO có sẵn mà cô ấy sở hữu có tổng giá trị lên tới ít nhất 11,7 BTC. Trên thực tế, Alice sẽ không thể nhận được chính xác 11,7 BTC; nói rằng số nhỏ nhất cô ấy có thể nhận được là 6+4+2=12. Sau đó, cô ấy tạo một giao dịch với ba đầu vào và hai đầu ra đó. Đầu ra đầu tiên sẽ là 11,7 BTC với địa chỉ của Bob là chủ sở hữu của nó và đầu ra thứ hai sẽ là "tiền lẻ" 0,3 BTC còn lại, với chủ sở hữu là chính Alice.

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, владельцем которой является сама Алиса.

Mining

Nếu chúng tôi có quyền truy cập vào một dịch vụ tập trung đáng tin cậy thì việc triển khai hệ thống này sẽ rất đơn giản; nó có thể được mã hóa chính xác như mô tả, sử dụng ổ cứng của máy chủ tập trung để theo dõi trạng thái. Tuy nhiên, với Bitcoin chúng tôi đang cố gắng xây dựng một hệ thống tiền tệ phi tập trung, vì vậy chúng tôi sẽ cần kết hợp hệ thống giao dịch nhà nước với hệ thống đồng thuận để đảm bảo rằng mọi người đều đồng ý về thứ tự giao dịch. Quy trình đồng thuận phi tập trung của Bitcoin yêu cầu các nút trong mạng liên tục cố gắng tạo ra các gói giao dịch được gọi là "khối". Mạng dự định tạo ra khoảng một khối cứ sau mười phút, với mỗi khối chứa dấu thời gian, số nonce, tham chiếu đến (tức là hàm băm của) khối trước đó và danh sách tất cả các giao dịch đã diễn ra kể từ khối trước đó.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Theo thời gian, điều này tạo ra một "blockchain" bền bỉ, ngày càng phát triển, liên tục cập nhật để thể hiện trạng thái mới nhất của Bitcoin ledger. Thuật toán để kiểm tra xem một khối có hợp lệ hay không, được thể hiện trong mô hình này như sau:

  1. Kiểm tra xem khối trước đó được tham chiếu bởi khối có tồn tại và hợp lệ hay không.
  2. Kiểm tra xem dấu thời gian của khối có lớn hơn dấu thời gian của khối trước đó và cách tương lai ít hơn 2 giờ không.
  3. Kiểm tra xem bằng chứng công việc trên khối có hợp lệ không.
  4. Gọi S là trạng thái cuối khối trước đó.
  5. Giả sử TX là danh sách giao dịch của khối có n giao dịch. Với tất cả i trong 0...n-1, đặt S = APPLY(S,TX[i]). Nếu bất kỳ ứng dụng nào trả về lỗi, hãy thoát và trả về false.
  6. Trả về true và đăng ký S làm trạng thái ở cuối khối này.

Về cơ bản, mỗi giao dịch trong khối phải cung cấp sự chuyển đổi trạng thái hợp lệ từ trạng thái chuẩn trước khi giao dịch được thực hiện sang một số trạng thái mới. Lưu ý rằng trạng thái không được mã hóa trong khối theo bất kỳ cách nào; nó hoàn toàn là một sự trừu tượng được nút xác thực ghi nhớ và chỉ có thể được tính toán (an toàn) cho bất kỳ khối nào bằng cách bắt đầu từ trạng thái ban đầu và áp dụng tuần tự mọi giao dịch trong mỗi khối.

Người khai thác được thưởng cho công việc tính toán của họ bằng bitcoin mới được tạo cộng với phí giao dịch. Quá trình khai thác hoạt động như sau: người khai thác lấy tiêu đề khối và liên tục băm nó với các giá trị nonce khác nhau cho đến khi họ tìm thấy hàm băm nằm dưới mục tiêu độ khó nhất định. Khi người khai thác tìm thấy hàm băm như vậy, họ sẽ phát khối lên mạng và các nút khác xác minh rằng hàm băm đó hợp lệ và tất cả các giao dịch trong khối đều hợp lệ. Mục tiêu độ khó được giao thức tự động điều chỉnh sau mỗi khối năm 2016 (khoảng hai tuần) để đảm bảo rằng các khối được tạo ra với tốc độ gần như không đổi.

Lưu ý rằng về lâu dài, tính bảo mật của blockchain phụ thuộc vào việc người khai thác có động cơ tài chính để hành xử trung thực. Nếu kẻ tấn công kiểm soát hơn 50% sức mạnh khai thác của mạng, chúng có khả năng thực hiện “cuộc tấn công 51%” bằng cách tạo ra một chuỗi khối thay thế phát triển nhanh hơn chuỗi trung thực. Tuy nhiên, một cuộc tấn công như vậy sẽ đòi hỏi nguồn tài nguyên tính toán khổng lồ và có thể khiến phần thưởng khai thác của kẻ tấn công trở nên vô giá trị do mạng mất niềm tin vào tính toàn vẹn của blockchain.

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%», создав альтернативный блокчейн, который растёт быстрее, чем честная цепочка. Однако такая атака потребовала бы огромных вычислительных ресурсов и, вероятно, привела бы к тому, что вознаграждения за майнинг атакующего стали бы бесполезными, поскольку сеть потеряла бы доверие к целостности блокчейна.

Merkle Trees

Cây Merkle là cấu trúc dữ liệu cơ bản được sử dụng trong các khối Bitcoin để cho phép xác minh hiệu quả và an toàn việc bao gồm giao dịch. Cây Merkle là một cây băm nhị phân trong đó các nút lá chứa các giá trị băm của các giao dịch riêng lẻ và mỗi nút bên trong chứa hàm băm của hai nút con của nó, xây dựng đệ quy thành một hàm băm gốc duy nhất được lưu trữ trong tiêu đề khối. Cấu trúc phân cấp này cho phép mọi người xác minh rằng một giao dịch cụ thể có được bao gồm trong một khối bằng cách chỉ tải xuống nhánh Merkle—chuỗi băm từ giao dịch đến gốc—thay vì tải xuống tất cả các giao dịch trong khối.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Hiệu quả đạt được là đáng kể: trong khi nút Bitcoin đầy đủ phải lưu trữ toàn bộ chuỗi khối (khoảng 15 GB tính đến năm 2013), nút xác minh thanh toán đơn giản hóa (SPV) chỉ cần tải xuống các tiêu đề khối có chứa gốc Merkle, chỉ cần 4 MB dữ liệu. Để xác minh một giao dịch, nút SPV yêu cầu nhánh Merkle từ các nút đầy đủ, chỉ yêu cầu dữ liệu O(log n) trong đó n là số lượng giao dịch trong một khối. Việc chia tỷ lệ logarit này giúp việc chạy các máy khách nhẹ trên thiết bị di động và môi trường tài nguyên thấp trở nên khả thi.

Việc sử dụng cây Merkle của Bitcoin thể hiện một nguyên tắc chính: cấu trúc mật mã có thể làm giảm đáng kể các yêu cầu về độ tin cậy và tài nguyên khi tham gia vào mạng phi tập trung. Nguyên tắc tương tự này làm nền tảng cho thiết kế của Ethereum, trong đó cây Merkle không chỉ được sử dụng cho các giao dịch mà còn để lưu trữ trạng thái và biên nhận, cho phép các giao thức máy khách nhẹ phức tạp hơn nữa.

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

Alternative Blockchain Applications

Sự thành công của chuỗi khối Bitcoin đã truyền cảm hứng cho nhiều nỗ lực nhằm mở rộng khái niệm này ra ngoài tiền tệ đơn giản. Namecoin, ra mắt vào năm 2010, là một trong những ví dụ sớm nhất—cơ sở dữ liệu đăng ký tên phi tập trung được xây dựng trên blockchain, cho phép người dùng đăng ký tên trong một không gian tên phân tán mà không cơ quan trung ương nào có thể kiểm duyệt hoặc thu hồi. Đồng xu màu nổi lên như một cách thể hiện các tài sản thay thế trên chuỗi khối Bitcoin bằng cách "gắn thẻ" các đầu ra giao dịch cụ thể để thể hiện quyền sở hữu tài sản trong thế giới thực, cổ phiếu công ty hoặc các loại tiền điện tử khác. Metacoin và các siêu giao thức như Mastercoin (sau này là Omni) xếp lớp chức năng bổ sung lên trên Bitcoin bằng cách mã hóa dữ liệu bổ sung trong các giao dịch Bitcoin và xây dựng các quy tắc giao thức riêng biệt ở trên cùng.

Tuy nhiên, tất cả các cách tiếp cận này đều gặp phải những hạn chế cơ bản do kiến ​​trúc của Bitcoin áp đặt. Ngôn ngữ kịch bản Bitcoin bị hạn chế có chủ ý—nó không thể truy cập trạng thái blockchain, thiếu vòng lặp và luồng điều khiển phức tạp, đồng thời cung cấp khả năng xem xét nội tâm hạn chế đối với các giá trị giao dịch. Việc xây dựng các ứng dụng phức tạp đòi hỏi những giải pháp khó xử: mã hóa siêu dữ liệu trong các trường giao dịch không bao giờ nhằm mục đích đó, dựa vào cơ sở hạ tầng ngoài chuỗi để có logic phức tạp hoặc chấp nhận những hạn chế nghiêm trọng về những gì giao thức có thể đạt được.

Những hạn chế này đã thúc đẩy việc tìm kiếm một nền tảng blockchain có mục đích chung hơn. Thay vì xây dựng một giao thức có mục đích đặc biệt khác trên nền tảng hạn chế của Bitcoin, Ethereum thực hiện một cách tiếp cận khác: cung cấp một chuỗi khối với ngôn ngữ lập trình Turing-complete được tích hợp sẵn, cho phép mọi người viết hợp đồng thông minh và ứng dụng phi tập trung với các quy tắc tùy ý về quyền sở hữu, định dạng giao dịch và chức năng chuyển đổi trạng thái.

Alternative Blockchain Applications

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

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

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

Scripting

Bitcoin Tập lệnh, ngôn ngữ được sử dụng để xác định các điều kiện chi tiêu cho các giao dịch Bitcoin, được thiết kế có chủ ý với những hạn chế nghiêm trọng. Nó không phải là Turing-complete—đáng chú ý nhất là nó thiếu các vòng lặp và cấu trúc luồng điều khiển phức tạp. Ngôn ngữ hoạt động như một môi trường thực thi dựa trên ngăn xếp đơn giản, trong đó các hoạt động đẩy và bật các giá trị, đánh giá các điều kiện mật mã và cuối cùng trả về đúng hoặc sai để xác định xem giao dịch có hợp lệ hay không. Mặc dù sự đơn giản này mang lại lợi ích bảo mật và giúp việc phân tích chính thức trở nên dễ dàng hơn nhưng nó cũng khiến nhiều loại ứng dụng không thể triển khai được.

Những hạn chế này rơi vào ba loại chính. Đầu tiên, việc thiếu tính đầy đủ của Turing sẽ ngăn cản việc triển khai các máy trạng thái phức tạp, cây quyết định hoặc bất kỳ thuật toán nào yêu cầu lặp lại. Thứ hai, tính mù giá trị có nghĩa là các tập lệnh không thể chỉ định quyền kiểm soát chi tiết đối với số tiền rút—chỉ có thể sử dụng toàn bộ UTXO, với thay đổi được gửi đến đầu ra mới. Ví dụ: một tập lệnh không thể giới hạn số lần rút tiền ở mức tối đa X mỗi ngày trong khi vẫn khóa phần còn lại. Thứ ba, việc thiếu nhận thức về trạng thái blockchain có nghĩa là UTXO được chi tiêu hoặc không chi tiêu mà không có trạng thái trung gian, khiến các hợp đồng nhiều giai đoạn không thể thực hiện hoàn toàn trên chuỗi.

Những hạn chế này làm cho các ứng dụng phức tạp như các tổ chức tự trị phi tập trung, ví tiết kiệm có giới hạn rút tiền, sàn giao dịch phi tập trung hoặc thị trường dự đoán không thể thực hiện được hoặc yêu cầu các cơ chế ngoài chuỗi khó xử lý. Một hợp đồng tài chính nâng cao có thể yêu cầu quyền truy cập vào dữ liệu thị trường, khả năng duy trì trạng thái nội bộ trên nhiều giao dịch và logic điều kiện phức tạp—không điều nào trong số đó mà Tập lệnh Bitcoin có thể cung cấp. Ethereum loại bỏ những hạn chế này bằng cách cung cấp ngôn ngữ hoàn chỉnh Turing với toàn quyền truy cập vào trạng thái blockchain.

Scripting

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

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

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

Ethereum

Mục tiêu cơ bản của Ethereum là cung cấp cho blockchain ngôn ngữ lập trình hoàn chỉnh Turing tích hợp cho phép mọi người viết hợp đồng thông minh và ứng dụng phi tập trung, nơi họ có thể tạo các quy tắc tùy ý của riêng mình về quyền sở hữu, định dạng giao dịch và chức năng chuyển đổi trạng thái. Thay vì thiết kế giao thức cho các ứng dụng cụ thể như tiền tệ, đăng ký tên hoặc giao dịch tài sản, Ethereum cung cấp lớp nền tảng—nền tảng điện toán phân tán dựa trên blockchain mà các nhà phát triển có thể sử dụng để xây dựng bất kỳ ứng dụng nào họ có thể tưởng tượng.

Kiến trúc về cơ bản khác với mô hình UTXO của Bitcoin. Ethereum sử dụng hệ thống dựa trên tài khoản trong đó trạng thái chuỗi khối bao gồm ánh xạ từ địa chỉ đến đối tượng tài khoản. Mỗi tài khoản có số dư, bộ đếm giao dịch (không dùng một lần) và đối với tài khoản hợp đồng, mã liên kết và bộ lưu trữ. Nền tảng này bao gồm ngôn ngữ lập trình Turing-complete được tích hợp sẵn để viết mã hợp đồng thực thi trong Máy ảo Ethereum (EVM), một môi trường thực thi dựa trên ngăn xếp xử lý các giao dịch và chuyển đổi trạng thái.

Tính tổng quát này cho phép áp dụng một loạt các ứng dụng: tiền điện tử thay thế với quy tắc phát hành tùy chỉnh, công cụ tài chính phái sinh và stablecoin, hệ thống nhận dạng và danh tiếng, lưu trữ tệp phi tập trung, tổ chức tự trị phi tập trung (DAO), v.v. Sách trắng nhấn mạnh rằng Ethereum không được tối ưu hóa cho bất kỳ trường hợp sử dụng cụ thể nào mà thay vào đó cung cấp các khối xây dựng cơ bản—tài khoản, giao dịch, ngôn ngữ hoàn chỉnh Turing và thực thi đo lượng khí—mà các nhà phát triển có thể kết hợp để tạo ra bất kỳ ứng dụng nào mà hệ sinh thái yêu cầu.

Ethereum

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

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

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

Ethereum Accounts

Trong Ethereum, trạng thái được tạo thành từ các tài khoản và có hai loại cơ bản. Các tài khoản thuộc sở hữu bên ngoài (EOA) được kiểm soát bằng khóa riêng và không có mã liên quan — chúng đại diện cho người dùng hoặc các thực thể bên ngoài tương tác với chuỗi khối. Tài khoản hợp đồng được kiểm soát bằng mã hợp đồng và được kích hoạt khi nhận được tin nhắn hoặc giao dịch. Cả hai loại đều có chung cấu trúc: mỗi tài khoản đều có một nonce (bộ đếm được sử dụng để đảm bảo mỗi giao dịch chỉ có thể được xử lý một lần), số dư ether và đối với các hợp đồng cụ thể là mã hợp đồng và bộ lưu trữ liên tục.

Ether là loại tiền điện tử nội bộ chính của Ethereum, đóng vai trò vừa là phương tiện chuyển giá trị vừa là đơn vị cơ bản để thanh toán phí giao dịch (gas). Không giống như mô hình UTXO của Bitcoin nơi giá trị được phân phối trên nhiều đầu ra chưa được chi tiêu, tài khoản Ethereum duy trì số dư đơn giản tăng khi nhận được ether và giảm khi gửi. Mô hình dựa trên tài khoản này đơn giản hóa nhiều loại ứng dụng, đặc biệt là những ứng dụng yêu cầu kiểm soát truy cập phức tạp hoặc trạng thái liên tục, mặc dù nó đưa ra những cân nhắc về bảo mật khác so với phương pháp của Bitcoin.

Sự khác biệt giữa EOA và tài khoản hợp đồng là rất quan trọng để hiểu hoạt động của Ethereum. EOA có thể bắt đầu giao dịch bằng cách tạo và ký tin nhắn bằng khóa riêng của họ, trả phí gas để đưa giao dịch của họ vào khối. Tài khoản hợp đồng không thể tự bắt đầu giao dịch nhưng có thể gửi tin nhắn đến các hợp đồng khác để phản hồi việc nhận giao dịch hoặc tin nhắn, cho phép thực hiện các chuỗi thực hiện phức tạp trong đó một giao dịch bên ngoài duy nhất sẽ kích hoạt nhiều tương tác giữa các hợp đồng.

Ethereum Accounts

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

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

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

Messages and Transactions

Các giao dịch trong Ethereum là các gói dữ liệu đã ký được tạo bởi các tài khoản thuộc sở hữu bên ngoài và được phát lên mạng. Giao dịch chứa địa chỉ người nhận, chữ ký mật mã chứng minh danh tính của người gửi, lượng ether cần chuyển, trường dữ liệu tùy chọn (rất quan trọng để tương tác với hợp đồng), STARTGAS (số bước tính toán tối đa mà giao dịch được phép thực hiện) và GASPRICE (phí cho mỗi bước tính toán mà người gửi sẵn sàng trả). Người khai thác thu thập các giao dịch này, xác thực, thực hiện và đưa chúng vào các khối, nhận phí gas như một khoản bồi thường.

Các thông điệp về mặt khái niệm tương tự như các giao dịch nhưng được tạo ra bởi các hợp đồng chứ không phải do các tác nhân bên ngoài tạo ra. Khi mã của hợp đồng thực thi, mã đó có thể gửi tin nhắn đến các hợp đồng khác—những tin nhắn nội bộ này chứa người gửi (địa chỉ hợp đồng), người nhận, lượng ether cần chuyển, tải trọng dữ liệu tùy chọn và giới hạn STARTGAS. Tin nhắn cho phép giao tiếp giữa các hợp đồng, cho phép xây dựng các ứng dụng phức tạp từ nhiều hợp đồng tương tác thay vì các chương trình nguyên khối.

Cơ chế gas rất quan trọng để ngăn chặn sự lạm dụng: mỗi bước tính toán, hoạt động lưu trữ và byte dữ liệu trong một giao dịch đều tiêu tốn gas. Nếu một giao dịch hết gas trước khi hoàn thành, tất cả các thay đổi trạng thái sẽ được hoàn nguyên (ngoại trừ khoản thanh toán gas cho người khai thác), ngăn chặn các vòng lặp vô hạn hoặc tính toán quá mức khiến mạng bị dừng lại. Người gửi chỉ định cả tổng ngân sách gas (STARTGAS) và mức giá họ sẵn sàng trả cho mỗi đơn vị (GASPRICE) và mọi gas chưa sử dụng sẽ được hoàn lại sau khi quá trình thực thi hoàn tất.

Messages and Transactions

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

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

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

Ethereum State Transition Function

Hàm chuyển đổi trạng thái Ethereum APPLY(S,TX) - S' xác định cách giao dịch chuyển đổi trạng thái blockchain và nó tuân theo một trình tự các bước chính xác. Đầu tiên, hệ thống kiểm tra tính hợp lệ của giao dịch: xác minh chữ ký là chính xác, xác nhận nonce khớp với nonce trong tài khoản của người gửi và đảm bảo người gửi có đủ số dư để thanh toán chi phí trả trước (STARTGAS × GASPRICE cộng với giá trị được gửi). Nếu bất kỳ kiểm tra nào không thành công, giao dịch sẽ bị từ chối trước khi bắt đầu thực hiện. Nếu hợp lệ, phí giao dịch sẽ được khấu trừ khỏi tài khoản của người gửi, số nonce của người gửi sẽ tăng lên và bộ đếm gas ban đầu được đặt thành STARTGAS trừ đi phí mỗi byte cho dữ liệu giao dịch.

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

Tiếp theo, hệ thống chuyển giá trị ether được chỉ định từ người gửi đến người nhận. Nếu người nhận là tài khoản thuộc sở hữu bên ngoài thì giao dịch sẽ hoàn tất. Nếu người nhận là tài khoản hợp đồng, mã của hợp đồng sẽ chạy trong Máy ảo Ethereum, tiêu thụ gas cho mỗi thao tác cho đến khi mã hoàn thành thành công, mã dừng rõ ràng hoặc hết gas. Trong quá trình thực hiện, hợp đồng có thể đọc và sửa đổi bộ nhớ của nó, gửi tin nhắn đến các hợp đồng khác và tạo hợp đồng mới.

Cuối cùng, nếu quá trình chuyển giá trị không thành công (không đủ số dư) hoặc thực thi mã không thành công (hết gas hoặc gặp lỗi), tất cả các thay đổi trạng thái sẽ được hoàn nguyên—ngoại trừ việc người gửi vẫn trả phí gas cho người khai thác để tính toán được thực hiện. Nếu thực hiện thành công, lượng gas còn lại sẽ được hoàn lại cho người gửi và lượng gas đã tiêu thụ sẽ được gửi cho người khai thác dưới dạng phí. Cơ chế này đảm bảo rằng các thợ mỏ được đền bù cho việc tính toán đồng thời ngăn chặn việc thực thi chạy trốn khỏi việc tiêu thụ tài nguyên không giới hạn.

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

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

Code Execution

Máy ảo Ethereum (EVM) là môi trường thời gian chạy trong đó mã hợp đồng thực thi—một máy ảo dựa trên ngăn xếp, cấp độ thấp có khái niệm tương tự như Máy ảo Java hoặc WebAssembly. Mã hợp đồng được lưu trữ dưới dạng một chuỗi byte, trong đó mỗi byte đại diện cho một hoạt động (mã hoạt động) mà EVM có thể thực thi. Mô hình thực thi rất đơn giản và mang tính xác định: mọi nút chạy EVM có cùng trạng thái đầu vào và giao dịch phải đến cùng trạng thái đầu ra, đảm bảo sự đồng thuận trên toàn mạng.

EVM cung cấp ba loại lưu trữ riêng biệt để tính toán. Ngăn xếp là cấu trúc vào trước ra trước (LIFO) được giới hạn ở 1024 phần tử, được sử dụng cho các giá trị hoạt động ngay lập tức. Bộ nhớ là một mảng byte có khả năng mở rộng vô hạn, chỉ tồn tại trong khoảng thời gian của một cuộc gọi tin nhắn và được đặt lại giữa các lần thực thi. Bộ lưu trữ là kho lưu trữ khóa-giá trị liên tục được liên kết vĩnh viễn với mỗi tài khoản hợp đồng, nơi hợp đồng duy trì trạng thái lâu dài qua các giao dịch. Các loại lưu trữ này có giá khác nhau về gas — hoạt động của ngăn xếp và bộ nhớ rẻ, trong khi hoạt động lưu trữ lại đắt tiền để ngăn chặn sự phình to của blockchain.

Trong quá trình thực thi, mã hợp đồng có quyền truy cập vào ngữ cảnh quan trọng: nó có thể đọc địa chỉ của người gửi tin nhắn, lượng ether được gửi, tải trọng dữ liệu do người gọi cung cấp và các thuộc tính cấp khối như số khối hiện tại, dấu thời gian và địa chỉ thợ mỏ. Mã có thể trả về một mảng byte đầu ra cho người gọi và có thể gửi tin nhắn đến các hợp đồng khác hoặc tạo hợp đồng mới. Mô hình thực thi này là Turing-complete—có thể sử dụng các vòng lặp và luồng điều khiển phức tạp—nhưng cơ chế khí đảm bảo rằng tất cả tính toán kết thúc trong thời gian giới hạn, giải quyết vấn đề tạm dừng một cách kinh tế thay vì thông qua các hạn chế về ngôn ngữ.

Code Execution

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

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

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

Blockchain and Mining

Chuỗi khối Ethereum về cơ bản tương tự như chuỗi khối Bitcoin, hoạt động như một cơ sở dữ liệu chứa mọi giao dịch từng được thực hiện. Tuy nhiên, trong khi Bitcoin chỉ lưu trữ danh sách giao dịch thì Ethereum lưu trữ cả danh sách giao dịch và trạng thái gần đây nhất. Mỗi khối trong Ethereum chứa hàm băm của khối trước đó, gốc trạng thái (mã băm gốc của Merkle Patricia trie đại diện cho toàn bộ trạng thái), gốc giao dịch, gốc biên nhận (lưu trữ dữ liệu từ quá trình thực hiện giao dịch), cùng với các giá trị độ khó, dấu thời gian và số nonce. Bản thân trạng thái là một bộ ba địa chỉ ánh xạ Merkle Patricia lớn tới các đối tượng tài khoản, trong đó mỗi tài khoản có số dư, số nonce, mã (nếu có) và bộ nhớ.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum sử dụng phiên bản sửa đổi của giao thức GHOST (Cây con được quan sát nặng nhất tham lam) để giải quyết các vấn đề bảo mật phát sinh từ thời gian khối nhanh. Trong các giao thức chuỗi dài nhất truyền thống, các khối nhanh dẫn đến tỷ lệ cũ cao, làm giảm an ninh mạng và tăng rủi ro tập trung khi các công ty khai thác lớn lãng phí ít tính toán hơn trên các cũ. GHOST bao gồm các khối cũ (được gọi là "chú" trong Ethereum) để tính toán chuỗi nào dài nhất và cung cấp một phần phần thưởng cho các khối chú, khuyến khích người khai thác tham chiếu chúng. Điều này cho phép Ethereum duy trì thời gian chặn mục tiêu khoảng 12 giây trong khi vẫn đảm bảo an ninh mạng.

Thuật toán khai thác hoạt động tương tự như proof-of-work của Bitcoin, yêu cầu người khai thác phải tìm một nonce sao cho hàm băm của khối nằm dưới mục tiêu độ khó nhất định. Tuy nhiên, thuật toán khai thác bộ nhớ cứng (Ethash) của Ethereum được thiết kế để chống lại ASIC, thúc đẩy hệ sinh thái khai thác phi tập trung hơn. Độ khó điều chỉnh linh hoạt dựa trên thời gian khối để duy trì mục tiêu ~12 giây, đảm bảo sản xuất khối nhất quán trong khi giao thức GHOST cung cấp đảm bảo an ninh mặc dù thời gian khối nhanh hơn so với mức trung bình 10 phút của Bitcoin.

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 минут.

Applications

Các ứng dụng có thể được xây dựng trên Ethereum thuộc ba loại chính. Danh mục đầu tiên là các ứng dụng tài chính, cung cấp cho người dùng những cách mạnh mẽ hơn để quản lý và ký kết các hợp đồng liên quan đến tiền của họ. Điều này bao gồm các loại tiền tệ phụ, công cụ tài chính phái sinh, hợp đồng phòng ngừa rủi ro, ví tiết kiệm có giới hạn rút tiền, di chúc phân phối tiền tự động và thậm chí cả hợp đồng lao động tính toán thanh toán dựa trên việc hoàn thành công việc đã được xác minh. Các ứng dụng này tận dụng khả năng lập trình của Ethereum để tạo ra các công cụ tài chính phức tạp không thể hoặc cực kỳ khó triển khai trong các hệ thống truyền thống hoặc thậm chí trên Bitcoin.

Loại thứ hai là các ứng dụng bán tài chính, trong đó có liên quan đến tiền nhưng cũng có một thành phần phi tiền tệ đáng kể đối với những gì đang được thực hiện. Một ví dụ hoàn hảo là tiền thưởng tự thực thi cho các giải pháp cho các vấn đề tính toán. Ai đó có thể đăng một vấn đề tính toán cùng với phần thưởng và hợp đồng có thể tự động xác minh các giải pháp đã gửi và trả tiền thưởng cho câu trả lời đúng đầu tiên. Danh mục này kết nối tài chính thuần túy và các lĩnh vực khác, sử dụng các động lực kinh tế để giải quyết vấn đề hoặc điều phối hành vi.

Loại thứ ba là các ứng dụng không liên quan gì đến tiền, chẳng hạn như bỏ phiếu trực tuyến và hệ thống quản trị phi tập trung. Các ứng dụng phi tài chính này thể hiện tính linh hoạt của Ethereum như một nền tảng có mục đích chung. Ví dụ bao gồm các hệ thống tên miền phi tập trung như Namecoin, hệ thống danh tiếng, lưu trữ tệp phi tập trung và các công cụ quản trị tổ chức. Trong số tất cả các loại ứng dụng này, hệ thống mã thông báo nổi lên là loại phổ biến và cơ bản nhất, đóng vai trò là khối xây dựng cho nhiều ứng dụng khác.

Applications

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

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

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

Token Systems

Hệ thống mã thông báo dễ triển khai một cách đáng ngạc nhiên trên Ethereum, mặc dù đây là một trong những ứng dụng phổ biến và mạnh mẽ nhất. Về cốt lõi, hệ thống mã thông báo chỉ đơn giản là một cơ sở dữ liệu với một thao tác duy nhất: trừ X đơn vị khỏi tài khoản A và thêm X đơn vị vào tài khoản B, với điều kiện A có ít nhất X đơn vị trước khi giao dịch và giao dịch được A ủy quyền. Việc triển khai yêu cầu duy trì ánh xạ địa chỉ tới số dư và cung cấp chức năng chuyển tiền để thực hiện các kiểm tra thích hợp trước khi di chuyển mã thông báo giữa các tài khoản.

Mã hợp đồng cho hệ thống mã thông báo cơ bản rất đơn giản và có thể được viết chỉ bằng vài dòng. Nó bao gồm cấu trúc dữ liệu ánh xạ địa chỉ tới số dư, chức năng khởi tạo chỉ định nguồn cung cấp mã thông báo ban đầu và chức năng chuyển để kiểm tra số dư và ủy quyền của người gửi trước khi thực hiện chuyển. Sự đơn giản này hoàn toàn trái ngược với sự phức tạp cần thiết để triển khai các hệ thống tương tự trên Bitcoin, vốn đòi hỏi các giải pháp thay thế và hạn chế đáng kể do khả năng viết tập lệnh bị hạn chế của Bitcoin.

Mã thông báo trên Ethereum có thể đại diện cho hầu hết mọi thứ có giá trị. Chúng có thể đại diện cho các loại tiền tệ phụ với chính sách tiền tệ của riêng chúng, các công cụ phái sinh tài chính theo dõi tài sản bên ngoài, cổ phiếu công ty có quyền cổ tức, điểm khách hàng thân thiết trong các chương trình khách hàng, hàng hóa như vàng hoặc dầu hoặc thậm chí là đại diện cho tài sản vật chất. Khả năng lập trình của Ethereum cho phép các mã thông báo này có các quy tắc tùy ý điều chỉnh hành vi của chúng, chẳng hạn như hạn chế chuyển tiền, cơ chế đốt tự động, phân phối cổ tức hoặc quyền quản trị. Tính linh hoạt này đã làm cho hệ thống mã thông báo trở thành khối xây dựng nền tảng cho phần lớn hệ sinh thái Ethereum.

Token Systems

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

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

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

Financial Derivatives and Stable-Value Currencies

Các công cụ phái sinh tài chính đại diện cho một trong những ứng dụng cơ bản và quan trọng nhất của hợp đồng thông minh Ethereum. Một hợp đồng phòng ngừa rủi ro đơn giản thể hiện cơ chế cơ bản: bên A gửi một lượng ether nhất định trị giá 1000 USD, bên B gửi một số tiền tương đương và hợp đồng ghi lại giá trị USD của ether tại thời điểm đó bằng cách sử dụng nguồn cấp dữ liệu. Sau 30 ngày, hợp đồng tính toán lại giá trị và gửi ether trị giá 1000 USD cho A và phần còn lại cho B. Nếu giá ether tăng, A nhận được ít ether hơn nhưng vẫn duy trì giá trị 1000 USD; nếu nó giảm, A sẽ nhận thêm ether để duy trì giá trị đó. Điều này cho phép A phòng ngừa sự biến động trong khi B suy đoán về biến động giá.

Việc thực hiện các hợp đồng như vậy yêu cầu quyền truy cập vào dữ liệu bên ngoài thông qua hợp đồng oracle hoặc nguồn cấp dữ liệu. Những lời tiên tri này cung cấp thông tin về giá, dữ liệu thời tiết hoặc thông tin thực tế khác mà hợp đồng cần thực hiện đúng cách. Mặc dù các oracle giới thiệu sự phụ thuộc vào niềm tin nhưng chúng có thể được thiết kế với các ưu đãi dự phòng và kinh tế tiền điện tử để cung cấp dữ liệu đáng tin cậy. Bản thân hợp đồng chỉ đơn giản truy vấn oracle, thực hiện các phép tính dựa trên dữ liệu đó và phân phối tiền theo logic được lập trình của nó.

Stablecoin và các công cụ tài chính phức tạp hơn có thể được xây dựng bằng các cơ chế tương tự. Hợp đồng stablecoin có thể duy trì lượng dự trữ ether và phát hành mã thông báo được gắn với tiền tệ fiat, tự động điều chỉnh các yêu cầu về nguồn cung hoặc tài sản thế chấp dựa trên nguồn cấp giá. Các hợp đồng quyền chọn, hợp đồng tương lai, hoán đổi và các công cụ phái sinh khác thường yêu cầu khung pháp lý phức tạp và các trung gian đáng tin cậy thay vào đó có thể được mã hóa thành hợp đồng thông minh tự thực hiện. Cơ sở hạ tầng tài chính có thể lập trình này cho phép thực hiện kỹ thuật tài chính phức tạp trong khi vẫn duy trì tính minh bạch và đảm bảo an ninh của công nghệ blockchain.

Financial Derivatives and Stable-Value Currencies

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

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

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

Identity and Reputation Systems

Hệ thống đăng ký tên tương tự như Namecoin có thể triển khai dễ dàng trên Ethereum và đóng vai trò là ví dụ đơn giản nhất về hệ thống nhận dạng. Hợp đồng duy trì một cơ sở dữ liệu với bảng khóa-giá trị ánh xạ tên tới dữ liệu liên quan (chẳng hạn như địa chỉ IP, khóa chung hoặc thông tin khác). Bất kỳ ai cũng có thể đăng ký tên bằng cách gửi giao dịch tới hợp đồng cùng với một khoản phí đăng ký nhỏ, miễn là tên đó chưa được sử dụng. Chủ sở hữu có thể cập nhật dữ liệu liên quan bất kỳ lúc nào và tên có thể được chuyển nhượng hoặc vĩnh viễn theo các quy tắc được mã hóa trong hợp đồng.

Các hệ thống nhận dạng tiên tiến hơn có thể được xây dựng trên nền tảng này để bao gồm điểm danh tiếng, mạng lưới các mối quan hệ tin cậy và xác minh danh tính phi tập trung. Ví dụ: một hợp đồng có thể duy trì điểm danh tiếng dựa trên các giao dịch đã được xác minh, xếp hạng ngang hàng hoặc mức độ hoàn thành nhiệm vụ. Những điểm số này sẽ được hiển thị công khai và được gắn bằng mật mã với các địa chỉ cụ thể, tạo ra danh tiếng di động theo sau người dùng trên các ứng dụng. Hệ thống web tin cậy có thể cho phép người dùng xác minh danh tính của người khác, xây dựng biểu đồ xã hội giúp phân biệt người dùng hợp pháp với những kẻ xấu.

Hệ thống nhận dạng và danh tiếng như vậy trở nên đặc biệt mạnh mẽ khi được tích hợp với các ứng dụng khác. Thị trường có thể yêu cầu điểm danh tiếng tối thiểu đối với người bán, nền tảng cho vay có thể điều chỉnh lãi suất dựa trên danh tiếng của người vay hoặc mạng xã hội có thể sử dụng web tin cậy để lọc nội dung spam và lừa đảo. Bằng cách cung cấp cơ sở hạ tầng dùng chung để nhận dạng mà bất kỳ ứng dụng nào cũng có thể truy vấn, Ethereum tạo ra một lớp ứng dụng mới dựa trên sự tin cậy không phụ thuộc vào các nhà cung cấp danh tính tập trung hoặc hệ thống danh tiếng độc quyền.

Identity and Reputation Systems

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

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

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

Decentralized File Storage

Việc lưu trữ tệp phi tập trung có thể được triển khai thông qua các hợp đồng Ethereum phối hợp giữa người dùng cần lưu trữ và nhà cung cấp cung cấp dịch vụ lưu trữ đó. Trong mô hình "Dropbox phi tập trung", người dùng sẽ trả phí hàng tháng để tải tệp lên, với hợp đồng sẽ phân phối khoản thanh toán cho các nhà cung cấp dịch vụ lưu trữ chứng minh rằng họ thực sự đang lưu trữ dữ liệu. Cơ chế chứng minh hoạt động thông qua các thử thách mật mã định kỳ: hợp đồng chọn ngẫu nhiên các phần của tệp và yêu cầu nhà cung cấp cung cấp bằng chứng cây Merkle chứng minh rằng họ sở hữu dữ liệu đó. Các nhà cung cấp không vượt qua thử thách hoặc ngừng hoạt động ngoại tuyến sẽ mất tiền đặt cọc và dòng thanh toán trong tương lai.

Cách tiếp cận này cung cấp một số lợi thế so với việc lưu trữ tập trung. Bằng chứng cây Merkle cho phép xác minh hiệu quả—người dùng và hợp đồng có thể xác nhận tính khả dụng của tệp mà không cần tải xuống toàn bộ tệp. Hệ thống phân phối các tệp một cách tự nhiên trên nhiều nhà cung cấp độc lập, tạo ra sự dư thừa mà không yêu cầu các giao thức sao chép rõ ràng. Các biện pháp khuyến khích kinh tế điều chỉnh hành vi của nhà cung cấp theo nhu cầu của người dùng: nhà cung cấp kiếm tiền bằng cách lưu trữ dữ liệu một cách đáng tin cậy và sẽ mất tiền nếu họ không làm như vậy. Điều này giúp loại bỏ yêu cầu tin cậy vốn có trong các giải pháp lưu trữ tập trung.

Chi phí lưu trữ trong hệ thống như vậy có thể thấp hơn so với các giải pháp thay thế tập trung vì nhiều lý do. Việc loại bỏ tình trạng độc quyền định giá cho phép cạnh tranh trên thị trường làm giảm chi phí xuống gần bằng chi phí lưu kho thực tế. Sự dư thừa tiềm ẩn từ việc nhiều người dùng lưu trữ các tệp giống nhau có thể làm giảm tổng yêu cầu lưu trữ. Không cần cơ sở hạ tầng trung tâm dữ liệu đắt tiền hoặc chi phí chung của công ty. Tuy nhiên, vẫn còn những thách thức xung quanh cơ chế thanh toán, đảm bảo sự tham gia đầy đủ của nhà cung cấp và quản lý sự cân bằng giữa dư thừa và chi phí. Bất chấp những thách thức này, việc lưu trữ phi tập trung cho thấy cách Ethereum có thể điều phối các tương tác phức tạp của nhiều bên chỉ thông qua các biện pháp khuyến khích kinh tế.

Decentralized File Storage

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

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

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

Decentralized Autonomous Organizations

Tổ chức tự trị phi tập trung (DAO) là một thực thể ảo có một nhóm thành viên hoặc cổ đông có quyền chung chi tiêu tiền của thực thể và sửa đổi mã của nó. Một DAO điển hình hoạt động với một quy tắc đơn giản: cần 67% thành viên đưa ra quyết định chi tiêu hoặc sửa đổi mã của tổ chức. Các thành viên có thể gửi đề xuất, bỏ phiếu cho chúng và nếu đề xuất nhận được đủ sự hỗ trợ, hợp đồng sẽ tự động thực hiện quyết định. Cổ phiếu thành viên có thể được chuyển nhượng, cho phép thị trường thanh khoản cho sự tham gia của DAO và các loại cổ phiếu khác nhau có thể có quyền biểu quyết hoặc yêu cầu kinh tế khác nhau.

Thiết kế DAO đơn giản nhất là một hợp đồng tự sửa đổi, duy trì danh sách thành viên và yêu cầu đa số 2/3 phiếu bầu để thay đổi bất kỳ khía cạnh nào của hợp đồng, bao gồm cả các quy tắc bỏ phiếu của chính hợp đồng đó. Các thành viên sẽ gửi các thay đổi mã dưới dạng giao dịch, các thành viên khác sẽ bỏ phiếu và khi đạt đến ngưỡng, hợp đồng sẽ tự cập nhật. Các thiết kế phức tạp hơn có thể bao gồm các hệ thống bỏ phiếu được ủy quyền trong đó các thành viên có thể giao quyền biểu quyết của mình cho người đại diện hoặc chế độ dân chủ lỏng nơi phiếu bầu có thể được ủy quyền nhưng được thu hồi bất kỳ lúc nào đối với các quyết định quan trọng.

DAO có thể phục vụ nhiều mục đích khác nhau ngoài việc quản lý quỹ đơn giản. DAO có thể hoạt động như một tập đoàn phi tập trung, thuê nhà thầu, mua dịch vụ và phân phối lợi nhuận cho các cổ đông — tất cả đều được quản lý bởi mã hợp đồng thông minh thay vì cấu trúc pháp lý truyền thống. Nó có thể hoạt động như một quỹ đầu tư phi tập trung, với các thành viên bỏ phiếu về dự án nào sẽ được tài trợ. Nó có thể quản lý một nguồn tài nguyên chung, với các bên liên quan bỏ phiếu về các quy tắc phân bổ. Điểm mấu chốt là bằng cách mã hóa các quy tắc quản trị bằng mã minh bạch, bất biến và gắn chúng với lợi ích kinh tế, DAO có thể điều phối các quyết định của nhóm mà không yêu cầu quản lý phân cấp truyền thống hoặc thực thi pháp luật.

Decentralized Autonomous Organizations

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

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

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

Further Applications

Ngoài các danh mục chính đã được thảo luận, Ethereum còn hỗ trợ nhiều ứng dụng khác. Ví tiết kiệm với các tính năng bảo mật phức tạp có thể áp đặt giới hạn rút tiền hàng ngày đồng thời cung cấp khóa khẩn cấp để khôi phục, bảo vệ người dùng khỏi bị trộm trong khi vẫn duy trì quyền kiểm soát tối ưu. Hợp đồng bảo hiểm cây trồng có thể tự động thanh toán cho nông dân dựa trên nguồn cấp dữ liệu thời tiết, loại bỏ việc xử lý yêu cầu bồi thường và giảm chi phí hành chính. Các ứng dụng cờ bạc ngang hàng có thể hoạt động mà không cần bất kỳ trung gian đáng tin cậy nào, với các hợp đồng thông minh nắm giữ cổ phần và tự động trả tiền cho người chiến thắng dựa trên các số ngẫu nhiên có thể xác minh được hoặc dữ liệu sự kiện trong thế giới thực.

Thị trường dự đoán trên chuỗi cho phép người dùng đặt cược vào các sự kiện trong tương lai, tạo ra các cơ chế dự báo mạnh mẽ thông qua trí tuệ của đám đông. Chúng có thể được tăng cường bằng các giao thức kiểu SchellingCoin để tạo ra các oracle phi tập trung: người tham gia báo cáo dữ liệu một cách độc lập (như kết quả bầu cử hoặc điều kiện thời tiết) và những người có báo cáo phù hợp với đa số sẽ nhận được phần thưởng trong khi những người có báo cáo ngoại lệ sẽ bị phạt. Cách tiếp cận kinh tế tiền điện tử này khuyến khích báo cáo trung thực và có thể cung cấp dữ liệu thực tế đáng tin cậy cho các hợp đồng khác mà không yêu cầu sự tin tưởng vào bất kỳ nhà cung cấp oracle nào.

Ví đa chữ ký đại diện cho một ứng dụng quan trọng khác, cho phép chia sẻ quyền kiểm soát tiền giữa nhiều bên. Ví đa chữ ký 2 trên 3 có thể yêu cầu hai trong số ba bên được chỉ định bất kỳ phê duyệt giao dịch trước khi có thể chi tiêu tiền, hữu ích cho các thỏa thuận ký quỹ, kho bạc công ty hoặc bảo mật cá nhân. Thị trường phi tập trung có thể kết hợp hệ thống nhận dạng, điểm danh tiếng, hợp đồng ký quỹ và cơ chế giải quyết tranh chấp để cho phép thương mại ngang hàng mà không cần nền tảng tập trung. Mỗi ứng dụng này thể hiện khả năng lập trình của Ethereum cho phép các mô hình tin cậy và cơ cấu tổ chức mới như thế nào.

Further Applications

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

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

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

Miscellanea And Concerns

Việc triển khai giao thức GHOST đã sửa đổi của Ethereum bao gồm các quy tắc cụ thể về việc đưa chú vào và phần thưởng. Các chú phải là con trực hệ của tổ tiên của khối hiện tại (từ 2 đến 7 thế hệ trở về trước), phải là các tiêu đề khối hợp lệ, phải khác biệt với các chú trước và không được là tổ tiên trực tiếp của khối hiện tại. Các khối chú nhận được 87,5% phần thưởng khối tiêu chuẩn, trong khi khối bao gồm nhận thêm 3,125% cho mỗi chú được bao gồm (tối đa hai chú). Cơ cấu khuyến khích này khuyến khích những người khai thác tham khảo các khối cũ mà họ quan sát được, tăng cường an ninh mạng đồng thời khen thưởng những người khai thác gặp xui xẻo tạm thời khi truyền bá mạng.

Hệ thống tính phí dựa trên khái niệm "gas", trong đó mọi hoạt động tính toán đều có chi phí gas cố định. Ví dụ: một phép nhân tốn 5 gas, hàm băm SHA256 tốn 20 gas và mỗi giao dịch có chi phí cơ bản là 21.000 gas. Người dùng chỉ định cả giới hạn gas (lượng gas tối đa họ sẵn sàng tiêu thụ) và giá gas (họ sẽ trả bao nhiêu ether cho mỗi đơn vị gas). Hệ thống này phục vụ nhiều mục đích: nó ngăn chặn các vòng lặp vô hạn và các cuộc tấn công từ chối dịch vụ bằng cách đảm bảo tất cả tính toán được thanh toán, nó tạo ra một thị trường cho không gian khối nơi người dùng đặt giá thầu thông qua giá gas và cho phép các nhà khai thác đặt giá gas tối thiểu mà họ sẵn sàng chấp nhận, bảo vệ tài nguyên mạng.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Khả năng mở rộng vẫn là mối quan tâm đáng kể vì mọi nút đầy đủ phải xử lý mọi giao dịch để xác minh trạng thái. Kiến trúc blockchain hiện tại gặp khó khăn trong việc phù hợp với thông lượng giao dịch của hệ thống tập trung. Các giải pháp tiềm năng bao gồm phân chia trạng thái, trong đó các nút khác nhau xử lý các tập hợp con giao dịch khác nhau và chuyển đổi từ proof-of-work sang đồng thuận bằng chứng cổ phần, có thể cho phép sản xuất khối hiệu quả hơn. Các khách hàng nhẹ sử dụng bằng chứng Merkle có thể xác minh các giao dịch mà không cần xử lý tất cả các khối, nhưng ai đó vẫn phải xử lý mọi thứ. Những thách thức về khả năng mở rộng này thể hiện các lĩnh vực nghiên cứu và phát triển tích cực quan trọng đối với khả năng tồn tại lâu dài của 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.

Conclusion

Giao thức Ethereum ban đầu được hình thành như một phiên bản nâng cấp của tiền điện tử, cung cấp các tính năng nâng cao như ký quỹ trên blockchain, giới hạn rút tiền và hợp đồng tài chính thông qua ngôn ngữ lập trình có tính khái quát cao. Tuy nhiên, giao thức Ethereum không chỉ dừng lại ở tiền tệ. Các giao thức xung quanh việc lưu trữ tệp phi tập trung, tính toán phi tập trung và thị trường dự đoán phi tập trung, trong số hàng chục khái niệm khác, có khả năng tăng đáng kể hiệu quả của ngành tính toán và mang lại sự thúc đẩy lớn cho các giao thức ngang hàng khác bằng cách lần đầu tiên bổ sung một lớp kinh tế.

Thay vì cung cấp một tập hợp các thao tác giới hạn được thiết kế cho các trường hợp sử dụng cụ thể, Ethereum cung cấp ngôn ngữ lập trình hoàn chỉnh Turing cho phép các nhà phát triển xây dựng bất kỳ ứng dụng nào họ có thể thiết kế. Bạn muốn phát minh ra công cụ phái sinh tài chính của riêng mình? Tạo tiền tệ của riêng bạn? Thành lập chính phủ trên blockchain? Tất cả những điều này đều có thể thực hiện được một cách dễ dàng bằng hệ thống tập lệnh của Ethereum. Sức mạnh của nền tảng không nằm ở việc dự đoán những ứng dụng nào sẽ được xây dựng mà ở việc cung cấp cơ sở hạ tầng nền tảng giúp việc xây dựng chúng trở nên dễ dàng.

Khái niệm về chức năng chuyển đổi trạng thái tùy ý được triển khai bởi giao thức Ethereum cung cấp một nền tảng có tiềm năng độc đáo. Thay vì là một giao thức đóng, có mục đích duy nhất dành cho các ứng dụng cụ thể trong lưu trữ dữ liệu, cờ bạc hoặc tài chính, Ethereum được thiết kế với kết thúc mở và chúng tôi tin rằng nó cực kỳ phù hợp để đóng vai trò là lớp nền tảng cho một số lượng lớn các giao thức tài chính và phi tài chính trong những năm tới. Các ứng dụng sẽ được xây dựng trên Ethereum trong tương lai có thể là những ứng dụng mà ngày nay chúng ta thậm chí không thể tưởng tượng được và khả năng mở đó thể hiện lời hứa thực sự của nền tảng.

Conclusion

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

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

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

References and Further Reading

Sách trắng Ethereum được xây dựng dựa trên nghiên cứu sâu rộng trước đây về tiền điện tử và nghiên cứu hệ thống phân tán. Giao thức Bitcoin nền tảng được mô tả trong bài báo gốc năm 2008 của Satoshi Nakamoto "Bitcoin: Hệ thống tiền mặt điện tử ngang hàng", giới thiệu khái niệm về tiền kỹ thuật số dựa trên blockchain. Những nỗ lực ban đầu nhằm mở rộng chức năng của Bitcoin bao gồm Namecoin, một hệ thống đăng ký tên phi tập trung thể hiện các ứng dụng blockchain ngoài tiền tệ, mặc dù bị hạn chế bởi khả năng viết tập lệnh hạn chế của Bitcoin.

Sách trắng về tiền xu màu đã đề xuất một phương pháp thể hiện các tài sản thay thế trên chuỗi khối Bitcoin bằng cách "tô màu" các bitcoin cụ thể để đại diện cho các tài sản khác, trong khi Mastercoin cố gắng tạo một lớp giao thức trên Bitcoin cho các công cụ tài chính phức tạp hơn. Cả hai đều nêu bật những hạn chế của việc xây dựng trên Bitcoin và thúc đẩy nhu cầu về một nền tảng linh hoạt hơn. Khái niệm về các tập đoàn tự trị phi tập trung, được khám phá trên Tạp chí Bitcoin, đã cung cấp nền tảng lý thuyết cho việc quản trị tổ chức thông qua các hợp đồng thông minh.

Các thành phần kỹ thuật chính bao gồm xác minh thanh toán đơn giản (SPV) dành cho khách hàng hạng nhẹ, cây Merkle để xác minh dữ liệu hiệu quả và Patricia cố gắng đại diện cho trạng thái của Ethereum. Giao thức GHOST (Cây con được quan sát nặng nhất tham lam), được mô tả trong một bài viết về mật mã năm 2013, giải quyết các vấn đề bảo mật phát sinh từ thời gian khối nhanh và tạo cơ sở cho cơ chế đồng thuận của Ethereum. Những tài liệu tham khảo này thể hiện nền tảng trí tuệ mà Ethereum được xây dựng trên đó, kết hợp những hiểu biết sâu sắc về tiền điện tử, hệ thống phân tán, mật mã và lý thuyết trò chơi để tạo ra một nền tảng chuỗi khối có mục đích chung.

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, сочетая знания из криптовалют, распределённых систем, криптографии и теории игр для создания универсальной блокчейн-платформы.