Чтение онлайн

на главную

Жанры

Введение в технологию Блокчейн
Шрифт:

Если бы узлы имели идентификаторы, дизайн был бы проще.

Для начала идентификаторы позволяли бы нам вводить в протокол инструкции формы: «Теперь узел с таким-то числовым идентификатором должен сделать такой-то шаг».

Без идентификаторов набор возможных инструкций более ограничен.

Но гораздо более серьезная причина для того, чтобы узлы имели идентификаторы – это для обеспечения безопасности.

Если бы узлы были идентифицированы и не нельзя было бы тривиально создавать новые идентификаторы узлов, то мы могли бы сделать

предположения о числе узлов, которые являются вредоносными, и мы могли бы извлечь из этого какие-то свойства для обеспечения безопасности.

По обоим этим причинам отсутствие идентичности создает трудности для консенсусного протокола в Биткойне.

Мы можем компенсировать отсутствие идентичности, сделав не строгую идентификацию, а более слабую.

Предположим, что есть возможность выбрать случайный узел в системе.

Хорошей мотивирующей аналогией для этого является лотерея.

То, что мы можем сделать в этом контексте, – это выдавать токены или билеты или что-то вроде этого.

Это позволяет нам позже выбрать случайный идентификатор токена и вызвать владельца этого идентификатора.

Поэтому на данный момент сделаем предположение, что таким образом можно выбрать случайный узел из сети биткойнов.

Далее предположим, что этот алгоритм генерации и распределения токенов достаточно умный, так что, если противник попытается создать множество узлов Сибиллы, все эти Сибиллы вместе получат только один токен.

Это означает, что противник не сможет увеличивать свою силу, создавая новые узлы.

Позже мы удалим эти предположения и подробно рассмотрим, как реализуются свойства, эквивалентные этим, в биткойне.

Это предположение о случайном выборе узла делает возможным то, что называется неявным консенсусом.

В нашем протоколе есть множество раундов, каждый из которых соответствует блоку в цепочке блоков.

В каждом раунде каким-то образом выбирается случайный узел, и этот узел получает возможность предложить следующий блок в цепочке.

Нет никакого консенсусного алгоритма для выбора блока и нет никакого голосования.

Выбранный узел в одностороннем порядке предлагает, какой будет следующий блок в цепочке блоков.

Но что, если этот узел злонамеренный?

Для обработки этого есть процесс, но он неявный.

Другие узлы будут неявно принимать или отклонять этот блок.

Если они согласятся с этим блоком, они просигнализируют о своем решении, расширяя цепочку блоков, и включая принятый блок.

Напротив, если они отклонят этот блок, они будут в дальнейшем расширять цепочку, игнорируя этот блок, и начиная с предыдущего блока в цепочке блоков.

Напомним, что каждый следующий блок содержит хеш блока, который он расширяет.

Это технический механизм, который позволяет узлам сигнализировать, какой блок узел расширяет.

Таким образом, упрощенный консенсусный алгоритм биткойна состоит в следующем.

Этот

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

1. Новые транзакции передаются всем узлам.

2. Каждый узел собирает новые транзакции в блок

3. В каждом раунде случайный узел получает возможность транслировать свой блок.

4. Другие узлы принимают блок только в том случае, если все транзакции в нем действительны (все подписи валидны).

5. Узлы выражают свое принятие блока, включая его хеш в следующем блоке, который они создают.

Давайте теперь попытаемся понять, почему этот консенсусный алгоритм работает.

Для этого давайте рассмотрим, как вредоносный противник, которого мы назовем Алисой, может подорвать этот процесс.

Рассмотрим кражу биткойнов.

Может ли Алиса просто украсть биткойны, принадлежащие другому пользователю, по адресу, который она не контролирует?

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

Для этого потребуется, чтобы Алиса создала действительную транзакцию, которая делает проводку этой монеты.

Для этого нужно, чтобы Алиса подделала подписи владельцев, что она не может сделать, если используется безопасная схема цифровой подписи.

Таким образом, до тех пор, пока основная криптография будет строгой и надежной, она не сможет просто украсть биткойны.

Теперь рассмотрим возможность атаки на отказ в обслуживании.

Скажем, Алисе сильно не нравится какой-то другой пользователь Боб.

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

Другими словами, она отказывает в сервисе Бобу.

К счастью, у Алисы в итоге ничего не получится, это будет не более чем незначительная досада.

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

Рассмотрим атаку двойной траты.

Алиса может попытаться запустить атаку двойной траты.

Чтобы понять, как это работает, предположим, что Алиса является клиентом какого-либо онлайн-продавца или веб-сайта, который ведет Боб, который предоставляет некоторые онлайн-услуги в обмен на оплату в биткойнах.

Поделиться:
Популярные книги

Огни Эйнара. Долгожданная

Макушева Магда
1. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Эйнара. Долгожданная

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Возвращение Безумного Бога 5

Тесленок Кирилл Геннадьевич
5. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 5

Ненужная жена

Соломахина Анна
Любовные романы:
любовно-фантастические романы
5.86
рейтинг книги
Ненужная жена

Идеальный мир для Социопата 6

Сапфир Олег
6. Социопат
Фантастика:
боевая фантастика
рпг
6.38
рейтинг книги
Идеальный мир для Социопата 6

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Мимик нового Мира 6

Северный Лис
5. Мимик!
Фантастика:
юмористическая фантастика
попаданцы
рпг
5.00
рейтинг книги
Мимик нового Мира 6

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Новая мама в семье драконов

Смертная Елена
2. В доме драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Новая мама в семье драконов

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9