Где ваши токены
Это фундаментальное понимание того, как работает криптовалюта. Сейчас объясню подробно.
Где на самом деле находятся ваши токены
Короткий ответ: Токены НИКОГДА не находятся в кошельке. Они всегда находятся в блокчейне.
Кошелек хранит только приватные ключи, которые дают право управлять этими токенами.
Как это работает: детальная схема
1. Основные понятия
- Распределенная база данных (ledger)
- Хранит все транзакции и балансы
- Копируется на тысячах узлов (nodes) по всему миру
- Публично доступен для чтения
- Уникальный идентификатор в блокчейне
- Например:
0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb - Аналогия: номер банковского счета
- Публичный, можно показывать всем
- 256-битное случайное число
- Математически связан с адресом
- Доказывает право владения адресом
- НИКОМУ нельзя показывать
- Аналогия: пароль от банковского счета
- Получается из приватного ключа через криптографическую функцию
- Из публичного ключа генерируется адрес
- Можно публиковать безопасно
Seed Phrase (сид-фраза / мнемоническая фраза):
- 12 или 24 слова
- Человекочитаемое представление приватного ключа
- Из seed-фразы генерируются все приватные ключи
- Стандарт BIP-39
Схема хранения: что где находится
В блокчейне хранится:
Блокчейн Ethereum (пример): ├─ Адрес: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb │ ├─ Баланс ETH: 2.5 ETH │ ├─ Токены: │ │ ├─ USDT: 1000 │ │ └─ UNI: 50 │ └─ История транзакций │ ├─ Адрес: 0x8B3192f2F7E1B48a9d6F121F07E7d8A6a4b12345 │ ├─ Баланс ETH: 0.1 ETH │ └─ ... │ └─ ... миллионы других адресов
Важно: Блокчейн просто говорит "на адресе X находится Y токенов". Но он НЕ знает, кто владеет этим адресом.
В кошельке (Trust Wallet, Trezor) хранится:
Кошелек Trust Wallet или Trezor: ├─ Seed-фраза (12-24 слова) │ └─ Из нее генерируются: │ ├─ Private Key 1 → Public Key 1 → Address 1 │ ├─ Private Key 2 → Public Key 2 → Address 2 │ └─ Private Key N → Public Key N → Address N │ └─ Больше НИЧЕГО (никаких токенов, никаких балансов)
Детальный процесс: как это работает
Создание кошелька
Кошелек генерирует случайное число (256 бит) ↓ Пример: 10101100011010...01011 (256 бит)
Шаг 2: Преобразование в seed-фразу (BIP-39)
256 бит → 24 слова из списка 2048 слов ↓ abandon ability able about above absent absorb abstract...
Шаг 3: Генерация приватного ключа (BIP-32/44)
Seed-фраза + путь деривации (m/44'/60'/0'/0/0) ↓ Private Key: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
Шаг 4: Получение публичного ключа (ECDSA)
Private Key → (elliptic curve cryptography) → Public Key ↓ Public Key: 0x04f39fd6e51aad88f6f4ce6ab8827279cfffb92266e3e1e1ba...
Public Key → (Keccak-256 hash) → Address ↓ Address: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb
Просмотр баланса
Что происходит когда вы открываете Trust Wallet:
1. Кошелек читает вашу seed-фразу/приватный ключ ↓ 2. Генерирует адреса из приватных ключей ↓ 3. Делает запрос к блокчейну (через RPC node): "Какой баланс на адресе 0x742d35Cc...?" ↓ 4. Блокчейн отвечает: "2.5 ETH, 1000 USDT" ↓ 5. Кошелек отображает баланс в интерфейсе
Важно: Кошелек просто смотрит на блокчейн. Токены остаются в блокчейне.
Отправка токенов (транзакция)
Что происходит когда вы отправляете 1 ETH:
1. Вы нажимаете "Отправить 1 ETH на адрес 0xABC..."
↓
2. Кошелек создает транзакцию:
{
from: "0x742d35Cc...",
to: "0xABC...",
value: 1 ETH,
gas: 21000,
nonce: 5
}
↓
3. Кошелек ПОДПИСЫВАЕТ транзакцию вашим приватным ключом:
signature = sign(transaction, private_key)
Это доказывает: "Я владелец адреса 0x742d35Cc..."
↓
4. Подписанная транзакция отправляется в блокчейн (через RPC node)
↓
5. Майнеры/валидаторы проверяют подпись:
"Эта подпись действительно создана приватным ключом от 0x742d35Cc...?"
↓
6. Если подпись верна → транзакция включается в блок
↓
7. Блокчейн обновляет балансы:
- 0x742d35Cc... : 2.5 ETH → 1.5 ETH
- 0xABC... : 0.0 ETH → 1.0 ETH
Разница между Hot Wallet и Cold Wallet
Hot Wallet (Trust Wallet, MetaMask, Rabby)
Компьютер/телефон:
├─ Операционная система
├─ Файловая система
└─ Приложение кошелька
└─ Зашифрованный файл с приватным ключом
(шифруется паролем, который вы вводите)
- Вирусы/malware могут украсть ключ
- Хакеры могут взломать компьютер
- Keylogger может перехватить пароль
- Фишинговые сайты могут обманом получить seed-фразу
Где токены: В блокчейне (как всегда)
Cold Wallet (Trezor, Ledger)
Hardware Wallet (физическое устройство): ├─ Защищенный чип (Secure Element) │ └─ Приватный ключ НИКОГДА не покидает устройство │ └─ PIN-код для доступа к устройству
Как работает подпись транзакции:
1. Компьютер (Trust Wallet/Sparrow): "Нужно подписать транзакцию: отправить 1 BTC на адрес..." ↓ 2. Компьютер отправляет неподписанную транзакцию в Trezor ↓ 3. Trezor: - Показывает детали транзакции на экране - "Отправить 1 BTC на bc1q...?" - Вы подтверждаете кнопкой на устройстве ↓ 4. Trezor ВНУТРИ себя подписывает транзакцию приватным ключом (ключ НЕ покидает устройство) ↓ 5. Trezor отправляет ТОЛЬКО подпись обратно в компьютер ↓ 6. Компьютер отправляет подписанную транзакцию в блокчейн
- Hot wallet: приватный ключ на компьютере → может быть украден
- Cold wallet: приватный ключ в защищенном чипе → физически изолирован
Где токены: В блокчейне (как всегда!)
Важное уточнение: что значит "владеть криптовалютой"
Владеть криптовалютой = владеть приватным ключом Приватный ключ → доказательство права управления адресом в блокчейне Блокчейн говорит: "На адресе X есть 10 BTC" Приватный ключ доказывает: "Я могу управлять адресом X"
- Блокчейн = банковская система
- Адрес = номер счета (публичный)
- Баланс = деньги на счету (хранятся в банке)
- Приватный ключ = пароль от онлайн-банкинга
- Кошелек = приложение для доступа к банку
Вы не носите деньги с собой — вы носите пароль от счета.
Практические последствия
1. Потеря кошелька
Сломался телефон с Trust Wallet:
Телефон физически уничтожен ↓ НО: приватный ключ (seed-фраза) записан на бумаге ↓ Скачиваете Trust Wallet на новый телефон ↓ Вводите seed-фразу ↓ Кошелек генерирует те же приватные ключи ↓ Получаете доступ к тем же адресам ↓ Блокчейн показывает те же балансы
Вывод: Токены никуда не делись. Они всегда были в блокчейне.
2. Кража seed-фразы
Хакер вводит seed-фразу в свой кошелек ↓ Его кошелек генерирует те же приватные ключи ↓ Те же адреса ↓ Он видит ваш баланс в блокчейне ↓ Он может подписывать транзакции ↓ Он переводит все токены на свой адрес
Вывод: Кто владеет seed-фразой — владеет токенами.
3. Множественные кошельки
Один адрес в разных кошельках:
У вас seed-фраза: "abandon ability able..." ↓ Вводите ее в Trust Wallet → видите баланс 10 ETH ↓ Вводите ту же seed-фразу в MetaMask → видите тот же баланс 10 ETH ↓ Отправляете 1 ETH через Trust Wallet ↓ MetaMask тут же показывает 9 ETH
Почему: Оба кошелька просто смотрят на один и тот же адрес в блокчейне.
Терминология резюме
Термин Что это Где хранится Токены/монеты Ваши активы В блокчейне (на адресе) Address Публичный идентификатор В блокчейне Private Key Доказательство владения В кошельке Seed Phrase Корень всех ключей В кошельке (или на бумаге) Public Key Промежуточное звено Генерируется из приватного Blockchain Распределенная БД На тысячах узлов Wallet (кошелек) Менеджер ключей На устройстве Transaction Запись в блокчейне В блокчейне Signature Криптографическое доказательство Создается кошельком
Итоговая схема
БЛОКЧЕЙН (ПУБЛИЧНЫЙ)
┌─────────────────────────────────────────────────────┐
│ Адрес: 0x742d35Cc... │
│ ├─ Баланс: 10 ETH │
│ ├─ Токены: 1000 USDT, 50 UNI │
│ └─ История всех транзакций │
│ │
│ (Доступен всем для чтения) │
│ (Изменить могут только владельцы приватных ключей) │
└─────────────────────────────────────────────────────┘
↑
│ Запрос баланса
│ Отправка транзакций
│
┌──────────────────────────┴──────────────────────────┐
│ ВАШИ КОШЕЛЬКИ │
│ │
│ Hot Wallet (Trust Wallet): │
│ └─ Приватный ключ (зашифрован) │
│ └─ Генерирует адрес 0x742d35Cc... │
│ │
│ Cold Wallet (Trezor): │
│ └─ Приватный ключ (в защищенном чипе) │
│ └─ Генерирует тот же адрес 0x742d35Cc... │
│ │
│ (Хранят только КЛЮЧИ, не токены) │
└─────────────────────────────────────────────────────┘
Критически важно понимать
- Токены ВСЕГДА в блокчейне, никогда в кошельке
- Кошелек = хранилище ключей, не токенов
- Seed-фраза = мастер-ключ ко всем адресам
- Кто владеет seed-фразой = владеет токенами
- Потеря seed-фразы = потеря доступа навсегда
- Утечка seed-фразы = потеря токенов навсегда
Поэтому вся безопасность сводится к одному: безопасное хранение seed-фразы.