Структура базы данных Ethereum: Цифровая картотека блокчейна
Дима сидит перед своими мониторами, на которых отображается схема данных Ethereum. Его глаза горят от восторга, как у библиотекаря, который только что понял систему каталогизации древней библиотеки.
Дима: "Невероятно! Все это время я думал, что блокчейн — это просто цепочка блоков с транзакциями. Оказывается, под капотом скрывается настоящая база данных, которая хранит информацию о каждом пользователе, каждом контракте, каждом балансе!"
Он указывает на диаграмму с аккаунтами:
Дима: "Смотри на это — у каждого пользователя есть свой 'профиль' в этой глобальной базе данных. Адрес, баланс, история транзакций... Это как паспортная система для цифрового мира, только намного умнее!"
Дима изучает структуру базы данных
Дима откидывается в кресле и задумчиво потягивает кофе:
Дима: "Сначала я не понимал, как Ethereum может мгновенно знать баланс любого пользователя из миллионов аккаунтов. Теперь понятно — все данные структурированы и хранятся в специальной базе данных!"
🗄️ Что такое база данных блокчейна?
Дима объясняет: "Представь, что Ethereum — это огромный банк, где у каждого клиента есть своя карточка в картотеке. В этой карточке записано: сколько у него денег, какие программы он запускает, какие данные хранит. И самое главное — эта картотека синхронизирована между тысячами отделений банка по всему миру!"
🏗️ Основные компоненты базы данных
База данных Ethereum хранит несколько типов информации:
👤 Аккаунты пользователей — адреса, балансы, счетчики транзакций (Account trie)
🤖 Смарт-контракты — код программ и их данные
📦 Блоки — история всех изменений (Block Trie)
🧾 Транзакции — записи о всех операциях (Transaction Trie)
📋 Результаты выполнения — что произошло после каждой транзакции (Receipt Trie)
Дима: "Это как многоэтажное здание — на каждом этаже свой тип информации, но все связано лифтами и лестницами!"
🔄 Как транзакции изменяют базу данных
Дима: "Каждая транзакция — это инструкция для изменения базы данных. Как заявление в банке: 'Переведите 100 рублей с моего счета на счет Алексея'."
📝 Типы изменений
1. 💸 Простые переводы
Code
До транзакции:
Алиса: 1000 ETH
Боб: 500 ETH
Транзакция: Алиса → Боб (100 ETH)
После транзакции:
Алиса: 900 ETH
Боб: 600 ETH
2. 🤖 Выполнение смарт-контрактов
Code
До выполнения:
Контракт DEX: 10000 USDT, 5 ETH
Алиса: 1000 ETH, 0 USDT
Транзакция: Алиса обменивает 1 ETH на USDT
После выполнения:
Контракт DEX: 8000 USDT, 6 ETH
Алиса: 999 ETH, 2000 USDT
3. 🚀 Создание контрактов
Code
До создания:
Алиса: 1000 ETH
Новый контракт: не существует
Транзакция: Алиса создает токен-контракт
После создания:
Алиса: 999.5 ETH (потратила газ)
Новый контракт: существует, имеет код и данные
👤 Структура аккаунта пользователя
Дима: "Каждый аккаунт в Ethereum — это как досье в базе данных. Давай посмотрим, что в нем хранится!"
🔍 Что хранится в аккаунте
📍 Адрес (Address)
Дима: "Адрес — это как номер паспорта в цифровом мире!"
'balanceOf[0xDEXContract]': '+1000000000000000000000', // DEX получил токены
},
},
'0xDEXContract': {
balance: '-950000000000000000', // отдал 0.95 ETH
storage: {
reserves: 'updated', // обновились резервы
},
},
};
🎓 Заключение
Дима: "База данных Ethereum — это не просто хранилище цифр. Это живая система, которая отражает состояние всего децентрализованного мира!"
Он смотрит на схему аккаунтов на экране:
Дима: "Каждый раз, когда ты отправляешь транзакцию, покупаешь токены или взаимодействуешь со смарт-контрактом, ты изменяешь эту глобальную базу данных. Твой баланс, твои токены, твои данные — все это записано и синхронизировано между тысячами компьютеров по всему миру!"
Дима поворачивается к своим серверам:
Дима: "И мои ноды хранят копию этой базы данных. Каждый аккаунт, каждый баланс, каждое изменение — все это живет на моих дисках и обновляется в реальном времени. Это и есть настоящая децентрализация данных!"
📚 Что мы изучили
Теперь вы понимаете:
✅ Структуру аккаунта — что хранится в каждом аккаунте Ethereum
✅ Типы данных — балансы, код, хранилище контрактов
✅ Изменение состояния — как транзакции модифицируют базу данных
✅ Роль EVM — как виртуальная машина выполняет операции
✅ Практические примеры — реальные сценарии использования
Дима: "Теперь, когда мы понимаем, ЧТО хранится в базе данных Ethereum, давай изучим, КАК это все организовано и хранится на диске. Готов погрузиться в технические детали реализации?"
В следующем уроке мы изучим техническую реализацию базы данных Ethereum!
В следующем уроке мы узнаем о State Trie, LevelDB и других технических деталях хранения данных в Ethereum!