P2P-сети, доверие и безопасность. Почему в Биткоин-сетях все по-честному

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Мнение | Финансы и криптовалюты

Хранится ли Биткоин у кого-то на компьютере? Уже выяснили, что нет. Есть ли какое-то физическое воплощение — часто рисуют золотые монетки с чеканкой? Тоже нет. А что все-таки такое этот Биткоин? И другая криптовалюта тоже? По сути — способ структурировать информацию. Просто огромная бухгалтерская книга (так и называется на английском: ledger, обычно это слово применяется к обычным гроссбухам в бухгалтерии).

Источник: ru.freepik.com

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

Что такое P2P

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

Если добавляется блок в единый гроссбух, то все узлы получают информацию на равных правах. Даже если один компьютер взломают, он сгорит или случится еще что-нибудь непредвиденное, это никак не отразится ни на остальных узлах, ни на цепочке в целом. Ни один хакер или группа хакеров не смогут взломать все компьютеры, а если правильная информация останется хотя бы на одном из узлов, сеть P2P поможет восстановить ее буквально «из небытия».

Примерно так выглядит любая P2P-сеть
Источник: ru.freepik.com

Преимущества сети P2P выглядят так:

  1. Состояние блокчейна всегда актуальное. Задержка может быть несколько минут, но транзакции в сети тоже не мгновенные. За это время данные успевают обновиться. Чтобы отслеживать блокчейн, можно использовать специальную программу, которая так и называется Blockchain Explorer.
  2. Нет «главных» компьютеров. Если сравнивать с обычными платежами через интернет, то сервер запрашивает информацию, клиент может ее только предоставить. Если возникает проблема на стороне сервера, деньги могут пропасть. Этим, кстати, пользуются мошенники, подсовывая фишинговые страницы и выманивая данные по картам и обычным электронным кошелькам у пользователей. В P2P-системе права доступа у всех одинаковые, вытащить чужие данные нельзя.
  3. Даже если один или несколько компьютеров взломали, это не повлияет на сеть в целом. Более того, P2P-система отслеживает «ошибки». «Подозрительные» компьютеры будут сразу же отключаться от сети, а попытки совершить через «плохие» узлы транзакцию получат отказ.
  4. Все узлы уничтожить нельзя. Их десятки тысяч, а может быть, миллионы по всему миру. Ни одному хакеру или группе хакеров не под силу взлом такого масштаба.
Peer to Peer
Автор: The 360 Degree Источник: en.wikipedia.org

Хорошо, но почему все-таки столько разговоров о безопасности Биткоина? И какое к этому отношение имеют P2P-сети? Ведь по торрентам, которые тоже используют эту систему, вирус очень даже можно передать — по крайней мере, если он зашит в том файле, который скачивает пользователь!

Клиент-сервер
Автор: Mauro Bieg Источник: en.wikipedia.org

Проблема доверия

P2P-сеть существовала и до Биткоина. Однако раньше считалось, что узлы в одноранговой сети не настолько надежны. Проблема называлась «Дилеммой Византийских генералов». Выглядит она так.

Византийские генералы и их проблема (фото с музея)
Автор: Liverlion Источник: adapulse.io

Есть армия Византии. В ней несколько генералов, каждый командует своими людьми. Они должны решить — нападать или отступать. Однако среди генералов могут быть предатели, которые попытаются помешать.

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

Что надо делать?

  1. Достичь консенсуса. Честные генералы должны решить что-то одно — нападать либо отступать.
  2. Доверие. Если один решает отступать, остальные соглашаются.
  3. Честность. У предателей не должно быть возможности повлиять на решения генералов.

Сатоши Накамото предложил решение этой проблемы. Основывалось оно на криптографии. В сети Биткоина узлы работают в одноранговой сети, не зная друг о друге. Никакого «доверия» тоже не требуется.

Однако есть правила:

  • Условия, при которых блоки добавляются в блокчейн;
  • Какие блоки при этом считаются «честными генералами»
  • Как решают конфликты.

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

Механизм консенсуса — как он работает

Просто всем дать равноправие, как это было с торрентами, недостаточно. Хакер может попытаться захватить узел, а потом через него рассылать «скам». И даже есть шанс, что заразит другие компьютеры — или обманет их, сделав поддельные транзакции. Но Сатоши Накамото предусмотрел такие риски. Он знал, что в обычных P2P-сетях проблема с недостоверной информацией существует. Вы и сами, наверняка, с ней сталкивались: например, если скачивали фильм или программу торрентом, а потом ничего не запускалось. И программа выдавала «ошибку хэша». Что ж, не повезло! Узел, с которого вы скачали, был испорчен. Хорошо еще, если вирус не поймали!

Консенсус между узлами
Источник: playground.com

Но то просто программа или фильм. А вот деньги — это деньги. Поэтому и придумали POW — Proof of Work или Доказательство работы.

Что это за доказательство? Их несколько:

  • Новый блок добавляется каждые десять минут — если какой-то узел справляется быстрее или медленнее, он скорее всего, будет помечен как «подозрительный» и автоматически выведен из блокчейн-сети.
  • Каждый блок проверяется. Вот и приходим к консенсусу. Все «византийские генералы» — узлы P2P-сети, обнаружив новый блок, решают: он настоящий? Доверять ли ему? По правилу Накамото, узлы не знают о решении друг друга.
  • Если возникает конфликт, то получается «вилка» или «форк» — чаще используется английское название. Да, бывает и так, что один «генерал» приказывает отступать, а второй нападать. Протокол консенсуса считает, что прав тот, кто длиннее… то есть, у кого длиннее цепочка. Дальше к длинной цепочке подключатся другие майнеры, постепенно все перейдут к ней, а ошибочная просто отомрет. Одним словом: размер имеет значение!
  • Транзакция запрещается автоматически, если заметят попытку двойного использования. Например, если у отправителя пять Биткоинов, и он пытается отдать эту сумму в двух разных местах. Один из платежей будет отклонен.
  • В каждой транзакции есть цифровая подпись владельца. Здесь используется двойное шифрование с открытым и приватным ключом. Подделать подпись практически невозможно.

Остается только еще один вопрос: а если все-таки пошла ветвиться «вилка», почему ошибочная должна «умереть?» И это тоже решается очень просто.

Почему майнеры «за правду»

Майнер — это человек, который получает деньги за обслуживание сети Биткоинов. Он использует свои компьютеры, видеокарты — иногда целые фермы. Разумеется, не за «спасибо». Каждый новый блок вознаграждается некоторым количеством монет.

Майнеру нет никакого смысла работать на ошибочный «зубец вилки». Если он будет добавлять блоки к плохому «форку», то никакого вознаграждения не получит. Только зря потратит электричество!

Иногда «форки» держатся некоторое время. Нужно подождать примерно шесть новых блоков, чтобы стало понятно, какой «зубец вилки» правильный, а какой нет. Потерять час времени и электроэнергии, конечно, обидно. Но не настолько, чем если бы это был день или два!

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

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

Выводы

  • P2P-сети существовали и до Биткоина, но сами по себе они не слишком безопасны.
  • P2P-сети дают «равноправие» всем участникам процесса передачи — «узлам».
  • В криптодобыче и транзакциях нужно доверие, чтобы избежать конфликтов.
  • Существует алгоритм POW — Proof of Work, доказательство работы, который помогает обезопасить P2P-сети.
  • Подделать POW невозможно, даже если получится создать неправильный блок, эта цепочка скоро погибнет.
  • Майнерам нет смысла поддерживать «плохие» цепочки — они не будут получать вознаграждение за блоки в них.

Подписывайтесь на наш новый Telegram, который посвящен только сфере криптовалют. Ссылку на канал можно найти ниже в разделе «Об авторе».

Изображение в превью:
Автор: freepik
Источник: ru.freepik.com
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Подписывайтесь на новый Telegram, где будут выходить разные гайды и обзоры из мира криптовалют.

1 комментарий

D
Византийские генералы и их проблема (фото с музея)

А что это фото на музее делает? Внутрь не вместилось?

Добавить комментарий

Сейчас на главной

Новости

Публикации

Почему у магазинного минтая почти всегда нет головы — дело не во внешности

Минтай — пожалуй, самая «народная» рыба на наших столах. Она доступная, полезная, легко готовится и продается буквально в каждом супермаркете. Но замечали ли вы одну странность?...

Как на самом деле работает режим ECO в бытовой технике — и 3 случая, когда его лучше отключить

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

Обзор QKZ AK6 Pro: на что способны современные наушники за 300 рублей

Мы уже разобрались, что могут инженеры QKZ, если им помогают топовые блогеры из сферы аудио. Сегодня же предлагаю рассмотреть одну из их собственных разработок — наушники QKZ AK6...

Секрет дятла: почему птица не получает повреждений мозга при перегрузках в 1400 G

Биомеханика дятла долгое время оставалась загадкой для инженеров. Когда птица долбит дерево, скорость клюва в момент удара доходит до 6-7 метров в секунду. Торможение происходит мгновенно, из-за...

Почему в космосе холодно, если Солнце нагревает объекты

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

Почему удмуртов называют самым рыжим народом России

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