Перейти к основному содержимому
01БЛОКЧЕЙН · ГЛАВА 01Что такое блокчейн#

Что такое блокчейн

Прочитано 0%Квизы 0/5Тренажёры 0/7Уровень 1 · Новичок

Зачем это нужно

Блокчейн (blockchain, от block — «блок» и chain — «цепь») — это способ хранить записи так, чтобы их нельзя было незаметно подделать или стереть, даже если у записей нет единого хозяина. Слово звучит громко, но идея внутри простая: вместо одной тетради, которую ведёт один бухгалтер, — тысячи одинаковых тетрадей у тысяч независимых участников, а каждая новая страница накрепко приклеена к предыдущей математической печатью.

Эта глава — без единой строчки кода. Здесь нет компилятора, который проверит твоё понимание, поэтому мы разберём каждое понятие на пальцах: что такое блок, что такое хеш и почему его нельзя подделать, зачем нужна распределённость, как выглядит запись о переводе (транзакция) и чем приватный блокчейн отличается от публичного. Именно эти пять идей — фундамент всего трека: следующая глава запустит настоящую сеть из трёх нод на платформе Waves Enterprise, а без этой базы шаги оттуда будут выглядеть магией. Ничего не считаем очевидным — если термин произнесён, он объяснён на месте, с английским оригиналом в скобках и карточкой в конце главы.

Как это было
31 октября 2008 года в рассылке криптографов появилось письмо от некоего Сатоши Накамото со ссылкой на whitepaper «Bitcoin: A Peer-to-Peer Electronic Cash System» — девять страниц, из которых вырос весь мир блокчейна. 3 января 2009-го Сатоши добыл первый, «генезис»-блок. Кто скрывается за псевдонимом — один человек или группа — неизвестно до сих пор: это одна из главных загадок IT.

Блок и хеш: цепочка, которую нельзя подделать

Хеш на пальцах

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

У криптографического хеша (мы будем использовать алгоритм SHA-256 — тот же, что использует Bitcoin) есть три свойства, которые и делают блокчейн блокчейном:

  1. Детерминированность. Одни и те же входные данные всегда дают один и тот же хеш. Хешируешь строку "Alice->Bob:5" сегодня, через год, на другом компьютере — результат один и тот же, потому что алгоритм не использует ничего случайного.
  2. Лавинный эффект (avalanche effect). Меняешь во входных данных один-единственный символ — хеш меняется почти полностью, будто ты подбросил монету заново для каждого бита результата. Половинчатых изменений не бывает.
  3. Необратимость. По хешу нельзя вычислить исходные данные — только перебором всех вариантов, что для длинного текста практически невозможно.
ХЕШ · ЛАВИННЫЙ ЭФФЕКТAlice->Bob:5SHA-2567c1366a3…Alice->Bob:6SHA-2569f0ae72c…один изменённый символ входа — и хеш не имеет ничего общего с прежним: половинчатых изменений не бывает
Один изменённый символ на входе — и хеш SHA-256 не имеет ничего общего с прежним: это и есть лавинный эффект.

Ниже — не выдуманный, а настоящий пример: так выглядит SHA-256 от строки "Alice->Bob:5", посчитанный прямо для этой главы.

Нажми на часть выражения
Совет

Попробуй дома — в терминале выполни printf 'Alice->Bob:5' | shasum -a 256 (на Linux вместо shasum -a 256 пиши sha256sum). На любом компьютере в мире результат совпадёт до последнего символа, потому что SHA-256 — открытый, детерминированный алгоритм, а не секрет конкретной программы.

Одна тонкость: хешируется не «текст», а ровно те байты, которые ты подал. Если сохранить строку в файл редактором или вывести её через echo, в конец добавится невидимый перевод строки — это уже другие входные данные, и хеш будет совсем другим (5988fb03…). Именно поэтому в команде выше стоит printf, а не echo: он ничего не дописывает.

Текущий SHA-256
Как это устроено под капотом
Хеш здесь считает не наш код, а встроенный в браузер WebCrypto: вызов crypto.subtle.digest('SHA-256', байты текста) возвращает 32 байта, которые мы переводим в 64 hex-символа. Это тот же самый SHA-256, что работает в настоящих блокчейнах — никакой упрощённой учебной версии. Подсветка отличий устроена просто: две hex-строки сравниваются посимвольно, совпадения остаются серыми, отличия подсвечиваются. Вся «магия» лавинного эффекта происходит внутри самой хеш-функции, компонент её только показывает.

Блок: данные плюс хеш предыдущего блока

Блок (block) — это пачка данных (обычно — набор транзакций за какой-то промежуток времени), у которой есть номер, собственный хеш и одно особое поле: хеш предыдущего блока. Именно это поле и превращает набор отдельных блоков в цепочку (chain).

Нажми на часть выражения

Смысл именно в этом устройстве: блок #483 хранит внутри себя хеш блока #482, блок #482 — хеш блока #481, и так до самого первого блока (его называют genesis block — «блок бытия», у него единственного нет предыдущего). Получается цепь, где каждое звено физически держится за соседа своим отпечатком.

блок #1data: prevHash: hash: a1b2…блок #2data: prevHash: a1b2…hash: c3d4…блок #3data: prevHash: c3d4…hash: e5f6…hash блока копируется в prevHash следующего — это и есть «цепь»
Цепочка блоков: hash каждого блока копируется в поле prevHash следующего — подмена любого блока рвёт все звенья после него.

Почему подмену обнаружат

Представь, что кто-то хочет задним числом подменить данные в блоке #481 — например, переписать сумму перевода. Изменение хотя бы одного символа в блоке #481 (см. лавинный эффект выше) полностью меняет его хеш. Но блок #482 уже хранит внутри себя старый хеш блока #481 — и при проверке цепи окажется, что сохранённый в блоке #482 хеш_пред не совпадает с реальным, только что пересчитанным хешем блока #481.

Нажми на часть выражения
Важно

Подделать один блок незаметно нельзя: пришлось бы пересчитать хеши у него и у вообще всех блоков после него, причём быстрее, чем остальная сеть добавляет новые блоки. Дальше в этой главе разберём, почему в приватной и в публичной сети это «быстрее, чем остальная сеть» устроено по-разному.

Измени данные в любом блоке — и посмотри, как рвётся цепь: hash блока пересчитается, а prevHash следующих блоков перестанет совпадать.
Блок 1
prevHash0000000000…000000
hash
Блок 2
prevHash
hash
Блок 3
prevHash
hash
Блок 4
prevHash
hash

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

МАЙНИНГ · ПОДБОР NONCEnonce: 41hash: 8f3a7c1e…nonce: 42hash: c91e0af2…nonce: 43hash: 5b0d71aa…nonce: 44hash: 0000e7b4…nonce перебирают по одному — как только хеш начинается с нужного числа нулей, блок найден
Nonce перебирают по одному — как только хеш блока начинается с нужного числа нулей, подходящее значение найдено.
Сложность
SHA-256(данные + nonce) — должен начинаться с «0»
Как это устроено под капотом
Перебор честный: для каждого nonce строка «данные + nonce» хешируется настоящим SHA-256 через встроенный в браузер crypto.subtle.digest, и проверяется, начинается ли hex-запись хеша с нужного числа нулей. Чтобы вкладка не зависала, перебор идёт порциями по 64 попытки с паузой через setTimeout — браузер успевает отрисовывать живой счётчик. Каждый следующий требуемый ноль уменьшает долю подходящих хешей в 16 раз (один hex-символ — 16 вариантов), отсюда и рост времени. Настоящие майнеры делают ровно то же самое, только на специализированных чипах и с триллионами попыток в секунду.
Отвечено вопросов: 0 из 4
Что произойдёт с хешем блока, если поменять в его данных всего один символ?
Что именно хранит блок #482, чтобы быть связанным с блоком #481?
Можно ли по хешу восстановить исходные данные?
Почему подделать блок #481 «задним числом» практически невозможно незаметно?
Отвечено верно: 0 из 4

Распределённость: одна книга, тысячи копий

Реестр (ledger) — это и есть та самая «бухгалтерская книга», куда записывают все транзакции по порядку. В блокчейне реестр распределён (distributed): полная копия всей цепочки хранится не на одном сервере, а у каждого узла сети (node) — независимой программы, которая хранит цепочку, проверяет новые блоки по правилам (проверка из раздела выше) и обменивается данными с соседними узлами.

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

Транзакция: запись о переводе

Транзакция (transaction) — это единичная запись о действии, обычно о переводе чего-то одного участника другому. Разберём по частям учебную запись перевода — ровно ту форму, которую каждый узел сети умеет проверить самостоятельно.

Нажми на часть выражения

Цель: скорость ≥ 90 зн/мин, точность ≥ 90%

Alice -> Bob: 5 монет, подпись, хеш

Цифровая подпись: доказательство согласия

Цифровая подпись (digital signature) решает вопрос «а точно ли это одобрила именно Alice?». У каждого участника сети есть пара математически связанных ключей: закрытый (private key) — секрет, который никому не показывают, и открытый (public key) — его можно свободно публиковать. Подписать транзакцию значит применить к её данным закрытый ключ; проверить подпись может кто угодно, используя только открытый ключ — без доступа к секрету.

Вот настоящая, а не выдуманная подпись — по-настоящему сгенерированный ключ подписал строку Alice->Bob:5, и та же строка ниже реально проверена соответствующим открытым ключом:

подпись: MEYCIQDNV61c9HV6x9iOCTVnsHh+40RPdLWGWBJwY4F4i7NR0QIhAKB7FvTWA29RxTeMJKDtvWcKVuJvtLDvdyEkPKqszdnx
проверка открытым ключом: Verified OK

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

ЦИФРОВАЯ ПОДПИСЬ · ЗАКРЫТЫЙ И ОТКРЫТЫЙ КЛЮЧ1. Alice подписываетзакрытый ключсекрет — знает только AliceSIGNподпись: MEYCIQ…2. любой узел проверяетоткрытый ключможно публиковать всемVERIFY → OKподписать может только владелец закрытого ключа; проверить подпись — кто угодно, открытым
Закрытым ключом подписывают, открытым — проверяют: подделать подпись без закрытого ключа нельзя, а проверить её может кто угодно.

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

Начни с кнопки «Создать ключи» — пара ключей сгенерируется прямо в твоём браузере.
Отвечено вопросов: 0 из 4
Что означает «распределённый реестр» (distributed ledger)?
В записи Alice -> Bob: 5 монет что означает стрелка ->?
Зачем нужна цифровая подпись под транзакцией?
Кому нужно доверять, чтобы поверить, что подпись Alice подлинная?
Отвечено верно: 0 из 4

Как узлы договариваются: консенсус

Остался последний вопрос: если узлов тысячи и каждый может предложить свой вариант следующего блока, кто решает, чей вариант считается «настоящим»? За это отвечает консенсус (consensus) — алгоритм, по которому независимые узлы договариваются об одной и той же версии цепочки без центрального координатора.

В публичных сетях, где узлом может стать кто угодно анонимно, право предложить следующий блок обычно нужно заслужить — иначе сеть было бы легко наводнить поддельными узлами. Два самых известных подхода:

  • Proof of Work (доказательство работы). Узлы решают заведомо трудную вычислительную задачу; кто первый нашёл решение — тот и предлагает блок. Подделать историю значит переделать эту тяжёлую работу для всех блоков после подделываемого и обогнать остальную сеть — на практике невозможно.
  • Proof of Stake (доказательство доли). Право предложить блок получают пропорционально тому, сколько узел «заморозил» своих средств в сети как залог: попытка обмана обойдётся ему же в потерю этого залога. Именно на этот механизм перешёл Ethereum.

В приватных, разрешённых сетях участники уже известны заранее и частично друг другу доверяют — тратить электричество на тяжёлые вычисления незачем. Поэтому такие платформы, включая Waves Enterprise, обычно поддерживают на выбор несколько более быстрых и дешёвых алгоритмов: например, вариант доказательства доли, адаптированный под известный круг участников, вариант «доказательства полномочий» (Proof of Authority), где право предлагать блок явно закреплено за конкретными доверенными узлами, и вариант отказоустойчивого голосования, устойчивый к тому, что часть узлов может на время выйти из строя. Какой именно алгоритм выбрать — решает администратор сети ещё на этапе её создания; в следующей главе мы настроим ровно такую сеть на практике.

Приватный блокчейн vs публичный

Всё, что разобрано выше — хеш, блок, распределённость, транзакция, подпись — работает одинаково в любом блокчейне. Разница начинается с вопроса: кто вообще может стать узлом сети и предлагать новые блоки?

Публичный блокчейн (public blockchain) — сеть открыта для всех: любой человек может скачать программу-ноду, подключиться, увидеть всю историю транзакций и, по правилам сети, участвовать в добавлении новых блоков. Так устроены Ethereum (платформа для смарт-контрактов и децентрализованных приложений, DApps) и TON (The Open Network) — никакого разрешения на вход не требуется, зато вся история публична и видна кому угодно.

Приватный, или разрешённый блокчейн (permissioned blockchain) — участвовать может только тот, кого допустили: конкретная организация, консорциум банков, участники образовательного чемпионата. Узлы известны заранее, доступ и права каждого настраиваются, а часть данных можно скрыть от посторонних участников той же сети. Так устроены Waves Enterprise и Hyperledger Fabric — на них часто строят решения для бизнеса и госсектора, где полная публичность неприемлема, а список участников известен и ограничен.

ПубличныйПриватный (разрешённый)
Кто может войти в сетькто угодно, без разрешениятолько допущенные участники
Кто видит историювидна всем в интернетевидна участникам сети (или ограниченному кругу)
ПримерыEthereum, TONWaves Enterprise, Hyperledger Fabric
Типичное применениеDApps, криптовалюты, открытые сообществабизнес-процессы, госуслуги, консорциумы компаний
Важно

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

Где это встречается в жизни

Блокчейн — не только про криптовалюты. Несколько реальных направлений, где технологию используют не как эксперимент, а как рабочий инструмент:

  • Логистика. Отслеживание пути товара от завода до полки магазина: каждая передача груза — новая транзакция, всю цепочку поставок видно и нельзя незаметно подменить задним числом.
  • Медицина. Единая неизменяемая запись визитов к врачу, назначений и анализов, доступная только тем, кому разрешено — здесь особенно к месту приватный, разрешённый блокчейн.
  • Госуслуги. Реестры прав на недвижимость, дипломов об образовании, лицензий: подделать запись задним числом невозможно, а проверить подлинность может любой, у кого есть доступ.
  • Финансы. Переводы напрямую между двумя участниками без банка-посредника — та самая транзакция с подписью, разобранная выше, только в промышленном масштабе.
Отвечено вопросов: 0 из 3
Чем публичный блокчейн отличается от приватного (permissioned)?
Какая пара примеров верно сопоставлена?
Почему медицинские записи — хороший пример именно для приватного блокчейна?
Отвечено верно: 0 из 3

Типичные заблуждения

Здесь нет компилятора, который выдаст точный текст ошибки, — зато есть устойчивые заблуждения, которые повторяет почти каждый новичок. Ниже — четыре из них: как заблуждение звучит на практике, точная формулировка из проверенного источника, которая его опровергает, откуда оно берётся и как переучиться.

1. «Блокчейн — это то же самое, что биткоин»

Так говорят: «Зачем нам блокчейн, мы же не делаем криптовалюту».

Точная формулировка (Skillbox): технологию «стали применять не только в цифровых криптовалютах, но и в платежных системах, банковской сфере, идентификации личности, игровой индустрии и т. д.».

Причина: биткоин был первым массовым применением блокчейна, и многие узнали о технологии именно через него — название приложения перепутали с названием фундамента.

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

2. «Блок хранит полные копии всех предыдущих блоков»

Так говорят: «Значит, каждый следующий блок тяжелее предыдущего, раз он всё помнит?»

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

Причина: слово «цепочка» интуитивно напоминает вложенные матрёшки, где каждая следующая содержит все предыдущие целиком.

Починка: блок хранит только компактный отпечаток соседа (64 символа для SHA-256, независимо от размера самого блока) — этого достаточно, чтобы обнаружить подделку, полный дубликат данных не нужен.

3. «Хеш — это шифрование, его можно расшифровать обратно»

Так говорят: «Раз данные захешировали, значит, где-то есть ключ, чтобы вернуть их обратно».

Точная формулировка (Википедия, статья «Хеш-функция»): «для заданных выходных данных должно быть вычислительно неосуществимо найти входные данные» — то есть операции «расхешировать» не существует в принципе.

Причина: хеширование и шифрование (encryption) оба превращают данные во что-то нечитаемое, и на бытовом уровне их легко перепутать.

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

4. «Приватный блокчейн — это просто база данных с паролем»

Так говорят: «Зачем городить блокчейн, если можно завести обычную таблицу и дать к ней доступ по логину?»

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

Причина: слово «приватный» ассоциируется с обычными таблицами баз данных, где один сервер — единственный источник правды, и администратор может незаметно исправить строку.

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

Отвечено вопросов: 0 из 3
Что неверно в утверждении «блок хранит полные копии всех предыдущих блоков»?
Чем хеширование принципиально отличается от шифрования?
Что действительно ограничивает приватный (permissioned) блокчейн?
Отвечено верно: 0 из 3

Слова главы

blockchain
1 / 10

Проверь себя руками

Учебную запись транзакции — до автоматизма:

Цель: скорость ≥ 100 зн/мин, точность ≥ 90%

Alice -> Bob: 5 монет, подпись, хеш

Формулу связи блока с предыдущим:

Цель: скорость ≥ 110 зн/мин, точность ≥ 90%

хеш(данные + хеш_пред) = хеш_блока

Символы и обозначения главы

СимволКак называетсяЧто означаетПример
->стрелка переводанаправление: от кого к кому передаётся значениеAlice -> Bob
:двоеточиеотделяет участников сделки от содержимого переводаBob: 5 монет
#решётка перед числомпорядковый номер блока в цепочкеБлок #482
=знак равенства (математический)слева — вычисление, справа — его результат; не присваивание, как в кодеSHA-256(x) = 7c1366a3…
==двойной знак равенствапроверка совпадения двух значений при верификации блокахеш(данные) == хеш_пред
хеш(...)запись хеш-функцииимя функции и её аргумент в скобках — как в математикехеш(блок #481)
хеш_предполе «хеш предыдущего»копия хеша соседнего блока, физически связывающая цепочкухеш_пред блока #482
подпись:метка цифровой подписизначение, полученное закрытым ключом отправителя транзакцииподпись: MEYCIQ…
Углубиться

Свойства хеш-функции формально. У криптографической хеш-функции выделяют устойчивость к коллизиям (collision resistance) двух родов: сложно найти второй вход с тем же хешем, что и у заданного (первого рода), и заметно проще — хотя на практике всё равно нереально — найти произвольную пару разных входов с одинаковым хешем (второго рода). Порядок величин для SHA-256: второй прообраз к заданному ищут перебором примерно 2^256 вариантов, а произвольную пару — всего около 2^128 благодаря «парадоксу дней рождения» (уже в группе из 23 человек чьи-то дни рождения совпадут с вероятностью больше половины — искать любое совпадение всегда куда легче, чем совпадение с заранее выбранным). Это не то же самое, что необратимость — свойства независимы друг от друга, у хорошей хеш-функции должны выполняться все сразу.

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

Дальше по теме:

Куда дальше: проверенные ресурсы

Челлендж ⭐

На чемпионате «Профессионалы» команда ведёт учебный блокчейн из матчей. Блок #1 (genesis) содержит строку "Genesis block Championship 2026". Её настоящий SHA-256-хеш — 5530d021a9321d2049ccb0b8f57d96a389b502c1bb7e19f9484a4355c3ed692b — уже посчитан и записан в поле хеш_пред блока #2.

Ступень 1. Организатор в шутку предлагает «подправить историю»: заменить в genesis-блоке 2026 на 2027. Объясни словами (без формул), почему эту подмену обнаружат мгновенно, и укажи, какое именно поле в блоке #2 перестанет совпадать при проверке.

Ступень 2 ⭐. У тебя есть терминал (свой компьютер, не эта страница). Выполни printf 'Genesis block Championship 2027' | shasum -a 256 (на Linux — sha256sum вместо shasum -a 256) и сравни результат с хешем из решения ниже. Затем построй на бумаге свою мини-цепочку из трёх блоков: придумай тексты для блоков #1–#3, посчитай хеши по-настоящему через терминал, впиши хеш_пред в каждый следующий блок — и опиши, чем обнаружение подмены блока #2 отличается от обнаружения подмены блока #1 (какая часть цепочки «развалится» в каждом случае).

Решение (сначала попробуй сам)

Ступень 1: изменение одного символа (67) из-за лавинного эффекта полностью меняет хеш genesis-блока. Блок #2 хранит хеш_пред = 5530d0…d692b — старое, «правильное» значение. При проверке кто угодно пересчитывает хеш текущего (уже подделанного) genesis-блока и получает совсем другую строку, которая не совпадает с сохранённым хеш_пред в блоке #2. Несовпадение обнаруживается мгновенно, без доверия кому-либо на слово.

Ступень 2 ⭐: настоящий хеш строки "Genesis block Championship 2027"

57ddae505272e0cc2b9034b19e269a86d511390fa63d5b0d8dc949440316504b

— и он действительно не имеет почти ничего общего с хешем версии 2026, хотя отличался всего один символ. Про мини-цепочку: если подделать блок #1 (самый старый), «рвётся» связь у блока #2, а значит и у блока #3, и у всех блоков после — несовпадение находят сразу на первой же проверке хеш_пред. Если же подделать блок #3 (самый новый, последний в цепочке), его хеш_пред всё ещё указывает верно на настоящий блок #2, а вот собственный хеш блока #3 больше никто не пересчитает и не сверит, потому что после него в цепочке ничего нет — обнаружить такую подмену можно, только сравнив её с чужой (не подделанной) копией цепочки. Поэтому в реальных сетях последним, самым свежим блокам доверяют меньше: их принято дожидаться нескольких следующих блоков «подтверждения» (confirmations), прежде чем считать перевод окончательным.

Сводная проверка по всей главе: 7 вопросов, 5:00 на всё, без подсказок по ходу. Вопросы показываются по одному, ответ изменить нельзя. Если время выйдет — экзамен завершится с тем, что успел ответить. Пересдавать можно сколько угодно раз.

Что должен уметь

  • Объяснять своими словами, что такое хеш, и перечислять три его ключевых свойства: детерминированность, лавинный эффект, необратимость.
  • Описывать, как устроен блок и почему поле «хеш предыдущего блока» превращает набор блоков именно в цепочку, а не в произвольный набор.
  • Рассуждать, почему подмену данных в старом блоке обнаружат при проверке хешей, и что для этого не нужен центральный арбитр.
  • Читать и объяснять учебную запись транзакции Alice -> Bob: 5 монет, подпись, хеш, включая роль цифровой подписи.
  • Формулировать разницу между распределённым реестром и обычной централизованной базой данных.
  • Отличать приватный (permissioned) блокчейн от публичного, приводить по два примера каждого — Waves Enterprise/Fabric и Ethereum/TON — и объяснять, что именно в них общее, а что разное.
  • Приводить минимум два реальных примера применения блокчейна вне криптовалют.
  • Распознавать типичные заблуждения о блокчейне и объяснять, в чём именно они ошибочны.

Комментарии

Комментарии появятся после настройки. Нужен аккаунт GitHub — вход прямо в виджете выше.