Какой тип записей ведется в блокчейне
Перейти к содержимому

Какой тип записей ведется в блокчейне

  • автор:

Виды блокчейнов

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

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

Блокчейн (технология распределенного реестра) — реестр для безопасного обмена децентрализованными данными. Информация на блокчейне хранится в электронном виде в цифровом формате. Блокчейн гарантирует точность и безопасность передачи данных без привлечения третьей стороны.

Принцип работы блокчейна

Информация собирается в группы, известные как блоки. Блоки имеют определенную вместимость. То есть при заполнении они закрываются и связываются с ранее заполненными блоками. Так образуется цепочка данных, известная как блокчейн. Новая информация, которая поступает после формирования одного блока, следует за ним и объединяется во вновь сформированный блок, который позже будет добавлен в цепочку. Каждый блок имеет криптографический хеш предыдущего блока, метку времени и данные транзакции. Для проверки транзакций и обеспечения безопасности сети в блокчейне имеются узлы (ноды). Это чаще всего компьютер, который запускает программное обеспечение протокола блокчейна и осуществляет подтверждение транзакции.

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

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

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

Частые заблуждения о блокчейне

  1. Вся информация о транзакциях общедоступна

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

  1. Есть только один блокчейн

На сегодняшний день существуют десятки различных протоколов, которые могут быть названы технологиями распределенного реестра. Например, Solana, Ethereum, Ripple и BNB Smart Chain. Блокчейны могут как походить друг на друга, так и сильно различаться.

  1. Технология блокчейна используется только в криптовалютах

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

Типы блокчейнов

Два основных вида блокчейна — частный и публичный. При этом существуют два подвида, которые объединяют их характеристики — гибридный и консорциум-блокчейн. Рассмотрим их преимущества и недостатки.

Публичный (открытый) блокчейн

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

Плюсы:

  • Надежность. Так как доступ к такому блокчейну не ограничен, то риск одобрения неверной транзакции очень низкий. Неверные блоки могут быть отклонены любым пользователем. Более того, атака на такой блокчейн потребует больших мощностей, что будет просто невыгодно мошенникам.
  • Децентрализованность. В таком блокчейне нет контролирующего органа. Информация не хранится ни в одном централизованном хранилище. Контроль за правильностью транзакций осуществляет все сообщество.
  • Общедоступный. Валидировать и просматривать блокчейн может пользователь из любой точки мира.
  • Отсутствие цензуры. Данный вид блокчейна сопротивляется цензуре с помощью широкой доступности для участников из разных уголков мира.

Минусы:

  • Анонимность. Достаточно сложно определить мошенников. Так как в сети может участвовать любой пользователь, то практически невозможно определить его намерения заранее.
  • Низкая скорость транзакций. В процессе валидации может участвовать любой пользователь, поэтому скорость одобрения транзакций значительно увеличивается.
  • Низкая энергоэффективность. Общесетевая проверка транзакций требует большого количества энергии и больших мощностей.
  • Низкая производительность и масштабируемость.

Примеры публичных блокчейнов: Ethereum, Cardano, Bitcoin

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

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

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

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

Плюсы:

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

Минусы:

  • Коррупция и противоправные действия. Идея блокчейна — децентрализация и открытость. Частный блокчейн в какой-то степени централизован, что создает условия для мошеннических действий.
  • Возможность сговора и изменения настроек. Ноды могут договориться и изменить настройки в своих интересах.
  • Отмена консенсуса. Владельцы и операторы могут изменить правила консенсуса, неизменности и майнинга.
  • Регулирование и цензурирование. Блокчейны данного типа подлежат регулированию и цензуре. В особенности это касается компаний, которые работают по определенным правилам и в соответствии с определенными положениями.

Примеры частных блокчейнов: Ripple, Hyperledger Fabric, Quorum

Гибридный блокчейн

Это вид блокчейна, в котором присутствуют частные и публичные системы разрешений. То есть создатель может ограничивать доступ к определенным данным в блокчейне, но поддерживать децентрализованный характер через открытый доступ к другим, например, с помощью смарт-контрактов*.

*Смарт-контракт — компьютерный алгоритм, который используется для формирования, предоставления и управления информацией о владении.

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

Плюсы:

  • Высокая безопасность. Чтобы принять участие в валидации сети, нужно получить доступ. Таким образом, риск того, что в сети окажется потенциальный мошенник, снижается.
  • Конфиденциальность. Компания не переживает за утечку информации. При этом она может делать часть информации публичной, например, для взаимодействия со своими акционерами.
  • Высокий уровень масштабируемости и низкие комиссии. Ограниченное количество узлов обеспечивает более высокую скорость и низкую цену транзакций.
  • Хороший уровень энергоэффективности. Задействовано меньшее количество нод, чем в открытом блокчейне, поэтому потребление энергии значительно ниже.

Минусы:

  • Анонимность. Личность участника сети защищена от других пользователей, если только он не осуществляет транзакцию. Это является минусом для сети, так как увеличивает риски незаконных действий.
  • Возможность скрыть информацию. Владелец блокчейна решает, какая информация будет доступна пользователю.

Пример гибридного блокчейна: XinFin

Блокчейн-консорциум

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

Плюсы:

  • Высокий уровень безопасности и масштабируемости. В данном типе блокчейна меньшее количество узлов, поэтому он становится более безопасным и масштабируем.
  • Хороший уровень энергоэффективности. Так как в блокчейн-консорциуме задействовано меньше нод, чем в открытом блокчейне, то потребление энергии значительно ниже.
  • Децентрализация. По сравнению с частным блокчейном, который контролируется единолично, блокчейн-консорциум управляется несколькими лицами (компаниями), поэтому уровень децентрализации, хоть и ограниченной, несколько выше.

Минусы:

  • Противоправные действия. Несмотря на то, что данный тип предполагает смешанный доступ к данным и управляется несколькими организациями, достижение консенсуса между участниками возможно для осуществления незаконных действий.
  • Ограниченный доступ к информации. Консорциум определяет права доступа к информации, поэтому есть риск сокрытия важной информации.
  • Легкий процесс внесения изменений. При достижении консенсуса между нодами внести изменения несложно.

Пример блокчейн-консорциума: Energy Web Foundation и IBM Food Trust

50 основных вопросов и ответов по блокчейну 2019 год

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

Итак, что это значит для вас?

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

Карьерное колесо возможностей блокчейна

Однако сначала вам нужно проявить себя в стартапах или компаниях, которые нанимают на эту должность. Интервью являются наиболее распространенными способами попасть в компании. Вот почему вы должны пройти через основные вопросы по блокчейну. Эти вопросы из интервью по блокчейну помогут вам подготовиться и пройти интервью с уверенностью. Как кандидат, вам нужно пройти через кучу вопросов по блокчейну. Это то место, где мы собираемся обсудить 50 вопросов и ответов по блокчейну.

Все эти вопросы имеют разный уровень сложности. Чтобы убедиться, что вы можете просмотреть их без каких-либо проблем, мы сгруппируем схожие вопросы. Эти вопросы помогут вам тщательно разобраться с ответами и подготовиться в наилучшей форме. Итак, давайте начнем с 50 вопросов из интервью по блокчейну.

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

Основные 50 вопросов из интервью по блокчейну

Вопросы из интервью по блокчейну: Базовый уровень

1. Почему блокчейн заслуживает доверия?

Блокчейн — это пиринговая сеть, которая имеет свой консенсусный алгоритм . Основная причина его надежности заключается в том, как он хранит и обрабатывает данные. Он использует криптографические алгоритмы, чтобы гарантировать защиту данных от любого стороннего злоумышленника. Это означает, что только объект, которому принадлежат данные, сможет получить к ним доступ. Кроме того, хранилища данных в блокчейне можно отслеживать в любое время, что обеспечивает прозрачность. Еще одна вещь, которая делает блокчейн заслуживающим доверия, — это функция целостности данных. С помощью этой функции данные не могут быть изменены после записи.

Примечание. Это один из самых распространенных вопросов о блокчейне.

2. Что такое Ethereum?

Ethereum — это децентрализованная система, как и биткойн. Он полностью децентрализован, что означает, что централизованная власть не контролирует его. Он разработан Виталиком Бутериным и использует другой подход по сравнению с биткойнами. Как и в биткойнах, на платформе можно делать цифровые платежи. Он использует смарт-контракты для автоматизации юридических контрактов в рамках двух лиц. dApps (децентрализованные приложения) — это приложение, которое работает на Ethereum и использует смарт-контракты д ля управления организацией или определенной частью проекта.

3. Что такое публичный ключ?

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

4. Что такое частный ключ?

Частный ключ это буквенно-цифровая фраза, которая используется в паре с публичным ключом для обеспечения шифрования и дешифрования. Это часть криптографических алгоритмов, которые используются в безопасности блокчейна. Ключ назначается генератору ключей и должен оставаться только у него. Если он этого не сделает, любой может получить доступ к деталям или данным, расположенным в кошельке, или к адресу, для которого назначен частный ключ.

5. В чем разница между Ethereum и биткойн-блокчейном?

Блокчейн — это распределенная пиринговая сеть. Он предлагает лицам записывать неизменные данные, а также прозрачность. Разница между биткойнами и Ethereum заключается в их подходе. Ethereum, являясь решением блокчейна 2-го поколения, улучшает биткойны практически всеми возможными способами. Основное отличие состоит в том, как они пытаются решить проблему отрасли. Концептуально, биткойн — это цифровая валюта, тогда как Ethereum — это смарт-контракты. Ethereum также является энергоэффективным, поскольку использует согласованный алгоритм Доказательство ставки (PoS) по сравнению с Доказательством работы (PoW) биткойнов. Это также делает Ethereum более масштабируемым по сравнению с биткойнами.

6. Объясните компоненты экосистемы блокчейна?

Блокчейн-экосистема имеет четыре основных компонента. Они заключаются в следующем:

  • Нод приложения
  • Общий леджер
  • Согласованный алгоритм
  • Виртуальная машина

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

Стек технологии блокчейн

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

7. Каковы различные типы технологии блокчейна /леджера

Существует много различных типов технологий блокчейна (леджера) . Первый тип леджера, который мы знаем по биткойнам — это публичный блокчейн. Они действительно децентрализованы по своей природе. Другие типы блокчейна / леджера перечислены ниже:

  • Публичный блокчейн
  • Частный блокчейн
  • Консорциумный или федеративный блокчейн

8. Отличается ли блокчейн от банковской книги?

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

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

9. Что такое публичный блокчейн? Привести примеры

Публичный блокчейн является публичным по своей природе. Он полностью децентрализован, где каждый может читать, писать и присоединяться. Никакая центральная власть не контролирует блокчейн. Кроме того, все данные могут быть проверены, так как данные после записи не могут быть изменены. Ключевыми примерами публичных блокчейнов являются биткойны и Ethereum.

10. Что такое частный блокчейн? Привести примеры

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

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

11. Что такое федеративный блокчейн? Привести примеры

Федеративный блокчейн — это блокчейн, управляемый группой. Это делает его более быстрым и масштабируемым, поскольку группа посвящает проверку транзакций. Для начала предварительно выбранные ноды становятся лидерами. Эти ноды и определяют как транзакции, так и лица, которые могут участвовать в блокчейне. Например, EWF, R3 и т. д

Простое объяснение федеративного блокчейна

12. Каковы основные характеристики / свойства блокчейна?

Основные характеристики / свойства блокчейна

Есть много ключевых особенностей блокчейна . Они включают в себя нижеследующие:

  • Блокчейн как структура данных: Блокчейн может действовать как структура данных и хранить различные типы данных, включая идентификационную информацию, страховку, медицинскую информацию и так далее.
  • Неизменяемость: данные, сохраненные в блокчейне, являются неизменяемыми. Это также дает свойство обнаружения попыток взлома блокчейна.
  • Неизменяемость: данные, сохраненные в блокчейне, являются неизменяемыми. Это также дает свойство обнаружения попыток взлома блокчейна.
  • Технология децентрализованного леджера : технология децентрализованного леджера является наиболее важной особенностью блокчейна. Это может использоваться частной организацией или общественными в различных случаях использования.
  • Лучшая анонимность пользователей: пользователи относительно скрыты по сравнению с другими традиционными сетями.
  • Двойные расходы: Блокчейн решает проблемы двойных расходов, используя согласованные алгоритмы и технологию распределенного леджера.

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

Интервью по блокчейну.Вопросы: Тип листовки

13. Каковы преимущества блокчейна для обеспечения надлежащей безопасности?

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

  • Аудит
  • Защита приложений
  • Безопасность базы данных
  • Цифровая подготовка кадров
  • Правильные методы тестирования
  • Непрерывное планирование

14. Каковы преимущества блокчейна?

Преимущества технологии блокчейна

Основными преимуществами блокчейна являются следующие:

  • Улучшенная прозрачность
  • Повышенная безопасность
  • Лучшая прослеживаемость
  • Увеличенная скорость и эффективность
  • Снижение затрат

15. Каковы недостатки блокчейна?

Блокчейн не свободен от недостатков.Минусы перечислены ниже:

  • Сложная технология, которую сложно внедрить и поддерживать
  • Масштабируемые проблемы все еще существуют
  • Скорость сети и стоимость транзакций могут отличаться
  • Человеческая ошибка до сих пор не устранена

16. Каковы преимущества по бизнесу блокчейна?

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

  • Внятность
  • Эффективность
  • Прозрачность
  • Прослеживаемость
  • Обратная связь
  • Безопасность

Интервью по блокчейну. Вопросы: Средняя сложность

17. Что такое блоки в технологии блокчейн?

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

18. Как создаются блоки?

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

19. Как блоки меняются вместе?

Хеш-значение, назначенное блоку, используется для их объединения. Если значение хеша изменяется, это означает, что кто-то пытается подделать данные, хранящиеся в хеше. Связь между блоками осуществляется путем сохранения значения хеш-функции предыдущего блока. Например, блок 3 будет хранить хеш-значение блока 2 и так далее.

20. Могут ли блоки быть удалены из блокчейна?

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

21. Могут ли данные, хранящиеся в блоке, быть изменены после записи? Если так, то почему?

Данные, хранящиеся в блокчейне, защищены надлежащим шифрованием с использованием цифровой подписи. Это делает данные, записанные в блоке, единовременным процессом. Его нельзя изменить никакими средствами.

22. Какой тип записей можно хранить в блокчейне?

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

  • Управление идентификацией
  • Обработка транзакций
  • Документы
  • Медицинские карты
  • Управленческая деятельность
  • Деловые операции

23. Чем распределенная база данных блокчейна отличается от традиционных баз данных?

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

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

Сравнение блокчейн и базы данных

24. Что такое блочные идентификаторы?

Каждый блок в блокчейне имеет уникальный идентификатор. Это хеш-значение, которое действует как уникальный идентификатор. Это означает, что никакие два идентификатора блока не будут идентичны.

25. Как обеспечивается безопасность блока?

Безопасность блоков поддерживается путем подключения каждого блока к предыдущему с использованием хеш-идентификаторов. Это означает, что данные блока не могут быть изменены, поскольку изменится значение хеш-функции. Кроме того, каждая информация, хранящаяся в блоке, также защищена с помощью криптографии. Данные могут быть разблокированы участником сети, который создал их в первую очередь. Частный ключ необходим для доступа к данным. Транзакции, которые хранятся в блоке, имеют цифровую подпись и, следовательно, однажды сохраненные не могут быть изменены, давая блоку необходимую целостность и прозрачность при необходимости.

26. Что такое двойные расходы?

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

27. Как двойные расходы могут быть остановлены в блокчейне?

Двойные расходы предотвращаются блокчейном с помощью консенсусного алгоритма. Консенсусный алгоритм обеспечивает подлинность транзакции и записывает ее в блок. Таким образом, это подтверждается несколькими нодами, что позволяет осуществить расходы. Однако 51% сетевые атак можгут сделать любой блокчейн уязвимым для двойных расходов, так как более 50% сети контролируется одним объектом.

Вопросы по блокчейну: Тема- Консенсусные алгоритмы

28. Что такое консенсусный алгоритм?

Консенсусные алгоритмы широко используются в блокчейнах, поскольку они позволяют сети неизвестных нодов достичь консенсуса в отношении данных, которые хранятся или передаются через блокчейн. Некоторые из самых популярных консенсусных алгоритмов включают в себя Доказательство ставки (PoS) и Доказательство работы(PoW))

29. Какие типы консенсусных алгоритмов сущуствуют?

Существует много типов консенсусных алгоритмов или методов. Самые популярные алгоритмы консенсуса включает в себя:

  • Доказательство работы( PoW)
  • Доказательство ставки (Pos)
  • Делегированное доказательство ставки (DPoS)
  • Доказательство полномочия (РоА)
  • Доказательство истекшего времени (PoET)
  • Византийская терпимость к ошибкам

Консенсусные алгоритмы. Инфографика.

30. Как работает консенсусный алгоритм Доказательство работы (PoW)

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

31. Как работает консенсусный алгоритм Доказательство ставки (PoS)?

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

32. В чем разница между Доказательством ставки (PoS) и Доказательством работы Work (PoW)?

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

Вопросы интервью по блокчейну.: ICO, dApps и смарт-контракты.

33. Что вы понимаете под ICO?

ICO означает п ервоначальное предложение монет . По концепции он похож на IPO (первичное публичное предложение). ICO используется стартапами или компаниями для привлечения капитала для своего продукта. Это может быть прямой блокчейн-продукт или продукт, использующий преимущества блокчейна. Чтобы собрать деньги, они продают свои токены платформы или сервис.

34. Требуется ли понимание ICO, чтобы получить полное представление о технологии блокчейна?

ICO является одной из важных частей экосистемы блокчейна. Это не означает, что вам нужно узнать об ICO и о том, как они реализуются. Но на текущем рынке хорошо иметь понимание ICO. ICO — один из лучших вариантов использования технологии блокчейна.

35. Какие популярные платформы для разработки блочных приложений?

Наиболее популярными платформами для разработки приложений блокчейн являются Hyperledger Fabric, Ethereum, R3 Cords, Quoru и Ripple.

36. Что такое Hyperledger?

Hyperledger — это совместная работа с открытым исходным кодом для улучшения блокчейна. Он предлагает рамки корпоративного уровня. Эти инструменты помогут усилить реализацию блокчейна во многих секторах, включая производство, цепочки поставок, финансы и т. д. Linux Foundation управляет им.

37. What is smart contract?

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

Будущее смарт-контрактов

38. Как разработка смарт-контрактов связана с технологией блокчейна?

Смарт-контракты введены для автоматизации юридического контракта между двумя лицами. Чтобы сделать блокчейн эффективным, необходима разработка смарт- контрактов. Ethereum с самого начала справился с этим и представил свою идею. Биткойн также может использовать смарт-контракты, но не изначально. Вам нужно использовать платформу смарт-контрактов RootStock, чтобы смарт-контракты работали на биткойнах. Развитие необходимо для совершенствования технологии блокчейна и решения большего количества проблем.

39. Что такое dApp?

dApp означает « децентрализованное приложение «, которое работает на блокчейне. Смарт-контракты используются для автоматизации различных функций приложения dApp. Поскольку это приложение, в нем могут участвовать более одного партнера, и оно не контролируется одним субъектом. Приложения dApps, как правило, следуют протоколу или алгоритму, а также требуют поощрений, связанных с их функциональностью. Наконец, это полностью открытый исходный код.

40. Чем dApp отличается от приложения?

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

41. Чем dApp отличается от смарт-контракта?

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

42. Что такое Solidity?

Solidity — это язык программирования высокого уровня, предлагающий контрактное программирование. Он используется для улучшения функциональности виртуальной машины Ethereum, а также активно используется для программирования смарт-контрактов Ethereum. По синтаксису он похож на JavaScript и прост в использовании.

43. Каковы основные случаи использования Solidity?

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

Интервью по блокчейну: Общие вопросы

44. Что такое майнинг криптовалюты?

Майнинг криптовалюты — это процесс проверки транзакций в блокчейне и проверки его правильности и записи в блок. Майнинг осуществляется майнерами, которые используют дорогостоящее вычислительное оборудование для обеспечения консенсуса в блокчейне. Майнинг в основном используется консенсусным алгоритмом Proof-of-Work (PoW), в котором майнеру приходится решать сложные математические головоломки. Они получают вознаграждение за свою работу.

45. Можно ли взломать блокчейн?

Блокчейн довольно защищен по большей части. Тем не менее, не совсем полностью. Существует много различных типов взломов, которые могут быть выполнены хакерами. Например, атака Сибил, Маршрутная атака , Прямой отказ в обслуживании и так далее. 51% атака также является заметной атакой, которую могут использовать хакеры для кражи информации или монет. Другие уязвимости стороны включают в себя то, как реализованы системы или платформы, что делает их уязвимыми. Децентрализованная автономная организация (DAO) уязвима для атак.

46. ​​Насколько полезен блокчейн для цифровой защиты и кибербезопасности?

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

47. Что такое Metamask?

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

48. Что такое сеть Lightning ?

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

49. Что такое атомный своп?

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

50. Что вы думаете о будущем блокчейна?

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

Цифровое преобразование блокчейн

Заключение

На этом заканчиваются 50 основных вопросов и ответов по блокчейну. Все эти вопросы по технологии блокчейна помогут вам подготовиться к большому собеседованию. Итак, что вы думаете об основных вопросах по блокчейну для интервью? Комментируйте ниже и дайте нам знать.

Что такое блокчейн: руководство для чайников в 2021 году

Знакомьтесь, это Вася и он — душнила. Главная цель жизни Васи — спорить с друзьям.

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

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

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

Во время корпоратива Вася сделал две записи: «Потратил 12 000 рублей в баре” и “целовался с барменшей».

Запись попала в дневничок, и наутро Вася вспомнил, что его жена Рита тоже пользуется книжечкой и решил заменить последнюю фразу на «скучал по жене».

Но у него ничего не вышло и вот почему.

«Blockchain” переводится как “цепочка из блоков». Продолжая аналогию с дневником, блок — это некоторое количество дневниковых записей, собранных, запакованных вместе в блок и верифицированных.

Хранятся блоки в последовательной цепочке, одна за другой, в порядке добавления.

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

Упрощенно блок состоит из двух частей: заголовка и списка транзакций.

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

Тут надо сделать краткое отступление и понять, что такое хеш.

Хеш (хеш-сумма, хеш-код) — это ничего не значащая последовательность чисел и букв, проще говоря, кракозябра. Например:

Это — хеш, который создала хеш-функция из сообщения «позвони мне! мой номер +79807529891» на визитке

Хеш-функция — программа, которая берет нормальные данные и создает из них уникальную кракозябру.

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

У хешей есть три приятных особенности:

  1. Глядя на хеш, мы никогда не узнаем первоначальное сообщение
    То есть, вытащить номер барменши из хеша практически невозможно
  2. Одинаковые данные всегда дают одинаковый результат
    Раз за разом скармливая хеш-функции одну и ту же записку, мы всегда будем получать одинаковый результат. Это называется детерминированностью
  3. Стоит изменить хотя бы один символ и результат станет совершенно иными
    Новый хеш совершенно не будет напоминать предыдущий. Изменится не один символ, а почти все и сразу. Это называют эффектом лавины

Хеш-суммы очень полезны в случае, когда у двух людей есть какая-то секретная информация и они хотели бы убедиться, что она у них совпадает, не раскрывая саму информацию.

Например, к Васе подходит коллега Коля и говорит «оо, барменша только что дала мне номер телефона, прикинь».

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

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

В дневнике душнил блоки связаны друг с другом через хеш-суммы.

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

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

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

Вот блок №233, в котором хранится запись, которую Вася хотел бы поменять.

Когда блок № 233 сформировался и добавился в блокчейн, произошло три вещи:

  • Все дневниковые записи и в этом блоке превратились в одну хеш-сумму и записались в заголовке блока
  • У блока просчитался еще один хеш, куда вошел хеш предыдущего блока № 232
  • Следом добавился еще один блок, куда вошел хеш уже злополучного блока

Стоит Васе изменить хотя бы один символ в своей записи «целовал барменшу», хеш его блока №223 неузнаваемо изменится.

И система верификации отбросит измененный блок как ложный.

Что это за система верификации? Кто проверяет блоки и кто отвечает за то, чтобы они все соответствовали друг другу?

Тут пора рассказать о том, кто такие майнеры.

Блоки не попадают в систему просто так, кто-то должен

  • считать хеш-коды
  • добавлять новые блоки
  • проверять, никто ли не жульничает

Именно этим и занимаются майнеры — они добавляют новые блоки.

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

Чтобы добавить новый блок, майнеры наперебой решают сложную математическую загадку. Задачка рассчитана таким образом, чтобы решалась примерно каждые 10 минут. Кто первый решил, тот и добавил блок.

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

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

В игре «добавь блок» есть еще два важных числа.

  • Первое называется нонс — это случайное значение, которое пытается угадать майнер.
  • Второе — таргет, число, на которое майнер ориентируется, когда пытается угадать нонс.

К хешу блока добавляется случайный нонс, снова считается хеш.

И новый хеш сравнивается в таргетом.

Если он меньше таргета — то блок будет добавлен в цепочку.

Если нет — то майнер берет другой нонс, снова считает… и так пока не угадает подходящий.

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

Запускают алгоритмы на серверах, компьютерах и плейстейшенах (но только во влажных мечтах, пока взломать плойку под майнинг никому не удалось). Кстати за вечно-отсутствующие в магазинах PS5 тоже можно поблагодарить майнеров — они скупают все железо и на заводах буквально не хватает ресурсов быстро производить новые приставки.

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

Но вернемся к Васе и его душным друзьям. Каждому уважающему себя душниле важно, где хранится информация о блоках. Вдруг я помещу наш дневник на сервера Amazone, а они захотят удалить наши записи? Или, не дай Бог, что-то изменить?

Тут мы подходим ко второй важной вещи в блокчейне — децентрализации.

Обычно информация в интернете хранится на каком-либо сервере. Например, когда вы пишете документ в Google Docs, он хранится на серверах Google. Когда получаете письмо на Яндекс.Почту, оно сохраняется и открывается на серверах Яндекса.

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

Запись изменена, Рита счастлива

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

Поэтому друзья Васи решили доверить хранение блоков группе майнеров.

Допустим, майнеры хранят информацию на своих телефонах.

На каждом телефоне, который майнит блоки, хранятся данные о всех блоках.

При добавлении нового блока майнер отправляет информацию о нем соседним телефонам, а те — своим соседям и так пока у всех информация не обновится.

Друзья Васи в экстазе (почти)

Блокчейн долго был технологией, интересной лишь гикам. Когда анонимный создатель биткоина Сатоси Накамото в 2008 году придумал сделать на ее основе первую криптовалюту, ситуация резко изменилась.

Блокчейн в основе биткоина делает его первой децентрализованной валютой.

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

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

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

Блокчейн дарит криптовалюте еще одно свойство — анонимность.

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

В случае биткоина вместо дневниковых записей в блоке просто ведется запись списка транзакций: кошелек с номером А перевел кошельку B столько-то биткоинов. Кто стоит за этими кошельками не знает никто.

Появление криптовалюты — это событие в мире финансов, сопоставимое разве что появлением взаимозаменяемых монет вместо натурального обмена.

Наша команда создает первый удобный и легальный криптовалютный банк: с нормальным интерфейсом, лицензией Центробанка, прозрачной разработкой и командой.

Мы готовимся к запуску и до старта будем публиковать статьи про криптовалюту и финансовую грамотность простыми словами.

Дальше мы расскажем

  • как устроен биткоин
  • разборы финансовых пирамид и как на них не попасться
  • как устроены скам-проекты в криптовалюте
  • что такое compound interest и почему мы думаем набить это себе на груди

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

Спасибо огромное! Вот так и надо объяснять всё.

По статье, однако, вопросы:
1) В случае децентрализованного хранения — чем больше инфы, тем больше ресурсов для её хранения. Если это Террабайты инфы, то врядли она передается так, как вы описали — "после каждого обновления весь объем инфы пересылается всем майнерам и обновляется у них"

2) Почему для майнинга требуются в основном видеокарты, если рассчеты примерно математические?

3) В случае решения задач майнерами — непонятно кто и как ставит эти задачи. То есть задачи-то ставит какая-то программа (алгоритм, утилита), так? Она где хранится? Централизована? Также передается вместе с блокчейнами или что?

1. Там не террабайты. За всю историю BTC его блокчейн весит всего

365гб. К тому же размер блока ограничен 1мб. В более "толстых" блокчейнах применяются некоторые методы оптимизации. Но обычно размер блока ограничен, а главной проблемой является место на диске. В эфире это решается "подрезанием" старых блоков, так-как они нужны не всегда.
2. GPU более эффективны в математических рассчётах, чем CPU.
3. Задача определена алгоритмом, у каждого участника сети есть нода, где в коде прописано повышение сложности и критерии, по которым блок считается смайненым. В случае битка это поиск "красивых" хешей, где вначале хэша должно быть определённое кол-во нулей. Майнер, добавляя новые транзакции в блок и меняя определённое число в блоке, постоянно хэширует этот блок. И когда хэш блока получается "красивым", он сообщает сети, что смайнил блок. Блок включается в цепь, а майнер получает награду.

Поиграться в блокчейном в браузере можно в этой демке: https://andersbrownworth.com/blockchain/

Ну даже если 365 гб. То есть после каждого обновления инфы все майнеры скачивают 365 Гб? А сколько операций в минуту происходит? Например, купил я биткоин — в блокчейн надо добавить одну запись. Я правильно понял что все майнеры должны тут же получить обновленный блокчейн целиком? Если это 365 Гб — врядли они его качают, скорее получают обновления.

То есть блокчейн целиком получают только новые майнеры?

А как работает программа определения очередности записи? Где она физически расположена? Вот одновременно Вася и Коля купили биткоин — надо дописать эти записи в блокчейн. Кто решает какая запись будет первая? Если записи с Васей обновили блокчейн в Америке, а с Колей в Китае, то как они потом синхронизируются?

И все-таки не понятно что за софт все это регулирует. Вы пишите "задача определена алгоритмом" — а алгоритм-то сам где лежит, хранится, синхронизируется? Вот мне надо фото ретушировать — я скачал дистрибутив Фотошопа, это программа, в ней алгоритмы работы с Фотошопом. Её дистрибутив там-то и там-то — я могу его скачать и все понятно. А если я хочу хранить блокчейн у себя — мне чего скачивать — это какая-то софтина или нет? Где леат эти лагоритмы, как они синхронизируются со всем миром? И если эта программа установлена одновременно на тысачах компов какой из них определяет очередность записи?

В: То есть блокчейн целиком получают только новые майнеры?
О: Да, верно. Ноды получившие блокчейн полностью, лишь догоняют всю сеть, получая обновления по одному блоку.

В: А как работает программа определения очередности записи?
О: Перед тем как транзакция попадёт в блок, она попадает в mempool, который синхронизируется между всеми нодами. Это что-то вроде чана с транзакциями, откуда майнеры берут их, чтобы включить в блок. Очередность записи определяется блоком, в который включена транзакция. Во всех сервисах принимающих криптовалюты средства считаются зачисленными после включения блока с транзакцией в блокчейн, правда, с некоторыми оговорками, требуется ещё n-ое кол-во подтверждений, чтобы избежать двойной траты из-за возможности образования вилки в блокчейне, но это уже тянет на отдельную статью. То есть, если майнера удовлетворяет комиссия транзакции(выставляется отправителем транзакции), он включает транзакцию в блок и пытается смайнить блок со всеми удовлетворяющими по комиссии транзакциями. То есть, если Вася и Коля купили биткоин одновременно, не факт что их транзакции попадут в один блок. Возможно что Васину транзакцию возьмут первой, из-за того что Вася поставил более высокую комиссию, в таком случае Вася сможет распоряжаться своими средствами раньше Коли.

В: Где лежат эти алгоритмы, как они синхронизируются со всем миром?
О: Алгоритмы определены в коде биткоин-ноды. Скачать её можно здесь: https://bitcoin.org/en/download. Так же, можно написать и свою реализацию биткоин-ноды, но если её поведение будет отличатся от общепринятого сетью, такая нода попросту исключается из сети. Чтобы лучше понимать суть такого взаимодействия, рекомендую почитать про P2P сети.

Сами бы не сказали лучше. Спасибо

Допустим в сети 3 компьютера мощностью 30Тхеш, 60 и 90. Вознаграждения они будут получать (то есть вычислять правильный хэш) пропорционально мощности. Как это регулируется алгоритмически?

Выглядит так, будто вы просто отрерайтили статью Вастрика: https://vas3k.ru/blog/blockchain/

Логика повествования, стиль иллюстраций, примеры — все то же самое. Ц-ц-ц.

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

Вот только ваша статья совершенно не похожа на статью парня с ником sleep, но очень похожа на статью Вастрика ¯\_(ツ)_/¯

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

а вот исходную на vc.ru я, честно говоря, не очень поняла. как будто хотели упростить, но за счёт разговоров, кто с кем когда целовался, усложнили. + стиль повествования отталкивает

Огонь! Вот такие примеры с душнилами и надо преподавать в школах и универах)

Блин, я Вася и я душнила������

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

Не совсем понятно. Если хеш блока определяется самим содержимым блока (т.е. его данными от транзакциях), то тогда что же майнят? Или сначала надо забить новый блок транзакциями, потом к данным блока добавить нонс и майнить до победного, меняя нонс? (мне казалось, что блок майнится сначала, а потом в уже сманенный блок добавляют транзакции)

В статье увидела ответы на свои вопросы! ������ Молодец Вася❣️ Буду ждать следующей встречи❤️

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] ⁠ ⁠

Блокчейн был описан в статье Сатоши Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System». Там всего на восьми страницах автор описал основы криптовалюты Биткоин, в основе которой лежал как раз алгоритм Блокчейна.

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

Список, который нельзя изменить

Блокчейн — цепочка блоков или другими словами связный список. В таком списке каждая следующая запись ссылается на одну предыдущую и так по цепочке до самой первой. Как вагоны поезда, каждый тащит за собой следующий. По поводу списков есть годная статья Никиты Лихачева на TJ, где то же самое объяснено для совсем новичков. Аналогии отчасти взяты оттуда.

Разберем на примере.

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Теперь Олег всегда может подойти к доске и убедиться, что Макс всё вернул, а вот Ваня не отдает уже 700 рублей. Однажды Олег приглашает Ваню выпить к себе домой. Пока Олег отходит в туалет, Ваня стирает запись «Занял Ване 200 рублей» и вписывает вместо неё «Ваня отдал 500 рублей».

Доверявший своему списку Олег забывает про долг и теряет 700 рублей. Он решает как-то с этим бороться.

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Олег берет общеизвестный хеш SHA-256 и хеширует им каждую запись, дописывая результат в конце. Теперь Олег может удостовериться, что его записи никто не изменял, захешировав их заново и сравнив с зелёненьким.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Но ЗЛОЙ РЮСЬКИЙ ИВАН тоже умеет в SHA-256 и легко может изменить запись вместе с её хешем. Особенно, если хеш написан прямо рядом на доске.

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Так у Олега появляется личный связный список.

Но однажды Иван прокрадывается ночью, изменяет нужную ему запись и обновляет хеши для всего списка до конца. У него это занимает несколько часов, но Олег всё равно крепко спит и не слышит. На утро Олег обнаруживает абсолютно верный список — все хеши совпадают. Но Иван всё равно его обманул, хоть и потратил на это бессонную ночь. Как еще можно защититься от Ночного Ивана?

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

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

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

В реальности же с уравнениями не всё так хорошо: компьютеры слишком хорошо их решают, да и где хранить столько уникальных уравнений. Потому авторы блокчейна придумали более красивую задачу: нужно найти такое число (nonce), чтобы итоговый хеш всей записи начинался на 10 нулей. Такой nonce сложно найти, зато результат всегда можно проверить просто глазами.

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

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Централизация доверия

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

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

В кругу друзей все доверяют друг другу и можно просто выбрать на эту роль самого ответственного. Но что если вопрос касается незнакомых людей? Целого города, страны, или всего мира, как в случае с биткоином? Там вообще никто никому не может доверять.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Децентрализация: никто не доверяет никому

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

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

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Наши записи типа «Занял Ване 500 рублей» — тоже транзакции. Но у нас нет банка, авторизующего автора транзакций. Как нам проверить, что Иван втихую не добавил запись «Макс должен Олегу 100500 рублей»?

В блокчейне для этого используется механизм публичных и приватных ключей, айтишники давно используют их для авторизации в том же SSH. Коротко о том, как работает эта сложная, но красивая математика: вы у себя на компьютере генерируете пару длинных простых чисел — публичный и приватный ключ. Приватный ключ считается супер-секретным, потому что может расшифровать то, что зашифровано публичным. Но наоборот тоже работает. Если вы расскажете публичный ключ всем друзьям, они смогут зашифровать им любое сообщение так, что прочитать его сможете только вы, так как владеете приватным. Но кроме этого у публичного ключа есть полезный эффект — с помощью него можно проверить, что данные были зашифрованы именно вашим приватным ключом, не расшифровывая при этом сами данные.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Простым пользователям, не желающим разбираться как выпускать и хранить приватные ключи, помогут сервисы онлайн-кошельков. Чтобы копировать длинные публичные ключи, там делают удобные QR-коды. Лично я пользуюсь Blockchain Wallet, потому что у него есть удобное мобильное приложение и он поддерживает две главные криптовалюты — BTC и ETH. Отсутствие понятия «баланса»

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

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

Отсутствие понятия «баланса»

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

Владение кошельком подтверждает только приватный ключ. Но как другие участники сети убедятся, что у меня есть достаточно денег для покупки?

Раз у нас нет баланса — это должны доказывать вы. Потому в транзакцию блокчейна входит не только ваша подпись и сколько вы хотите потратить, но и ссылки на предыдущие транзакции, в которых вы получили нужное количество денег. То есть если вы хотите потратить 400 рублей вы пробегаете по всей своей истории доходов и расходов, и прикрепляете к своей транзакции те доходы, где вам дали 100 + 250 + 50 рублей, тем самым доказывая, что у вас есть эти 400 рублей.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Каждый участник сети еще раз обязательно проверит, что вы не прикрепляли доходы дважды. Что те 300 рублей, что дал Макс на прошлой неделе, вы действительно еще не потратили.

Такие прикрепленные к транзакции доходы в блокчейне называются инпутами (input), а все получатели денег — аутпутами (output). Сумма всех инпутов редко бывает ровно такой, сколько вы хотите перевести за раз — потому один из аутпутов чаще всего будете вы сами. Другими словами транзакция в блокчейне выглядит как «мне дали 3 и 2 BTC, я хочу из них перевести 4 BTC и оставшийся 1 BTC вернуть себе обратно».

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

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

Проблема двойной траты

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

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Как же убедиться, что одна транзакция была раньше другой?

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Блоки — основа блокчейна

Каждый работающий компьютер в сети выбирает из общего пула любые транзакции, которые ему нравятся. Обычно просто по самой высокой комиссии, которую он может на ней заработать. Так он набирает себе транзакции, пока их суммарный размер не достигнет обговорённого лимита. В Биткоине этот лимит на размер блока равен 1 Мб (после SegWit2x будет 2 Мб), а в Биткоин Кеше — 8 Мб.

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

Весь блокчейн по сути и есть список таких блоков, где каждый ссылается на предыдущий. По нему можно отследить любую транзакцию за всю историю, разматывая блокчейн хоть до самой первой записи. Именно этот список и весит сейчас сотни гигабайт и должен быть полностью скачан на все компьютеры, которые хотят принимать участие в работе сети (но чтобы просто создавать транзакции и переводить деньги, это не обязательно). Скачивается он так же со всех ближайших компьютеров сети, как будто вы качаете сериал с торрентов, только новые новые серии в нём выходят каждые 10 минут.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Почему именно дерево. Потому что появляется возможность удалять ненужные (потраченные) транзакции из блока. Т.е. например есть две транзакции, объединённые хэшом, одна или обе уже не нужны т.к. это уже всё давно отдано другими транзакциями — так вот эти старые можно удалить, а хэш оставить, в итоге ничего не нарушается. См.пункт «7. Reclaiming Disk Space» в оригинальной статье Сатоши.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

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

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Как в школе, когда все решали сложную контрольную, очень редко бывало так, что даже отличники сдавали ответы абсолютно одновременно.

Но если для человека сложная задача — это спланировать отпуск, чтобы и на майские праздники попал, и билеты на море недорого, то для компьютера — это добавить в конец блока такое число (nonce), чтобы в результате хеш SHA-256 для всего блока начинался, скажем, на 10 нулей. Это и есть та задача, которую надо решить, чтобы добавить блок в сеть Bitcoin. Для других сетей задачи могут отличаться.

Так мы приходим к понятию майнинга, на котором все так помешаны в последние годы.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Видеокарты с их сотнями параллельных ядер, решают эту задачу быстрее любого CPU.

Почему именно на 10 нулей? А просто так, в этом нет никакого смысла. Так придумал Сатоши. Потому что это одна из тех задач, на которую точно всегда есть решение, но оно точно не может быть найдено быстрее, чем долгим монотонным перебором вариантов.

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

Чтобы найти начинающийся на 10 нулей хеш, у одного компьютера уйдет несколько десятков лет. Но если объединить тысячи компьютеров в единую сеть и искать параллельно, то по теории вероятностей эта задача решается в среднем за 10 минут. Это и есть время появления нового блока в блокчейне биткоина. Каждые 8-12 минут кто-то на земле находит такой хеш и получает привилегию анонсировать свою находку на всех, избежав тем самым проблемы кто был первым.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

За нахождение ответа компьютер (по данным на 2017 год) получает 12.5 BTC — это сумма вознаграждения, которая генерируется системой биткоин «из воздуха» и уменьшается каждые четыре года. Технически это означает, что каждый майнер всегда добавляет в свой блок еще одну транзакцию — «создать 12.5 BTC и отправить их на мой кошелек». Когда вы слышите «количество биткоинов в мире ограничено 21 млн, сейчас наймайнили уже 16 млн» — это и есть такие генерируемые сетью вознаграждения.

Сходите посмотрите на настоящий живой блок Биткоина на одном из специальных сайтов. Там есть и транзакции с инпутами и аутпутами, и аж 18 нулей в начале и все описанные выше хеши.

Любой блокчейн существует только пока существуют его майнеры.

Именно майнеры добавляют появляющиеся транзакции в блокчейн. Так что если кто-то рассказывает вам, что он «сделает блокчейн для ***», первый вопрос, на который он должен ответить — кто и зачем будет майнить на нём. Чаще всего правильный ответ — «будут все, потому что за майнинг мы даём наши коины, которые будут расти и майнерам это выгодно». Но это применимо не для всех проектов. Например какой-нибудь Минздрав завтра создает свой закрытый блокчейн для докторов (а они хотят), кто его будет майнить? Терапевты по выходным?

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

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

То есть суть майнинга в решешии бессмысленных задачек. Разве нельзя пустить все эти мощности на что-то более полезное — поиск лекарства от рака, например?

Суть майнинга — решить любую вычислительную задачу. Эта задача должна быть достаточно простой, чтобы у участников сети была стабильная вероятность найти ответ — иначе транзакции будут подтверждаться вечность. Представьте, что на кассе в магазине вам надо каждый раз ждать по пол часа, пока банк подтвердит вашу транзакцию. Никто не будет пользоваться таким банком.

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

Для биткоина именно так. Но так было не всегда. Раньше сеть была меньше, сложность ниже, а значит и выше вероятность единолично найти хеш для нового блока. Но и биткоин тогда стоил не так дорого.

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

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

Значит мы так и будем сжигать тысячи видеокарт впустую и никакого выхода нет?

Если награда в 12.5 BTC вручается лишь раз в 10 минут и только одному нашедшему блок, получается мне надо впустую жечь видеокарты несколько лет в надежде, что однажды мне упадет $40000 (по текущему курсу)?

Для биткоина именно так. Но так было не всегда. Раньше сеть была меньше, сложность ниже, а значит и выше вероятность единолично найти хеш для нового блока. Но и биткоин тогда стоил не так дорого.

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

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

Значит мы так и будем сжигать тысячи видеокарт впустую и никакого выхода нет?

Да, но есть идеи. Тот майнинг, что я описал, является классическим и называется Proof-of-Work (доказательство работы). То есть каждая машина доказывает, что она работала на благо сети тем, что решает бессмысленные задачки с заданной вероятностью.

Но некоторые ребята начинают делать блокчейны с другими видами майнинга. Сейчас вторая по популярности концепция — это Proof-of-Stake (доказательство доли владения). В таком виде майнинга, чем больше «коинов» на счету у участника сети, тем больше его вероятность вставить в блокчейн свой блок. Как самый громкий парень на деревне.

Можно придумать и другие виды майнинга. Как уже предлагали, все компьютеры в сети могут искать лекарство от рака, только нужно придумать как в таком случае зафиксировать их вклад в систему. Ведь я могу заявить, что я тоже участвую, но отключить свою видеокарту и ничего не считать. Как выразить количественный вклад каждого участника в поиск лекарства от рака? Придумаете — дерзайте пилить свой CancerCoin, хайп в СМИ вам обеспечен.

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

Теперь у нас есть два валидных блока и снова возникает проблема кого считать первым. Как поведет себя сеть в таком случае?

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Короткая цепочка, несмотря на всю свою правильность, отвергается всеми участникам сети. Транзакции из неё возвращаются в пул (если они не были подтверждены в другой), а их обработка начинается заново. У майнера пропадает его вознаграждение, потому что его блока больше не существует.

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

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Из-за этого были придуманы три правила безопасности хвоста блокчейна (end of chain insecurity):

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

2. Если вам переслали биткоины, использовать их в качестве инпутов в новых транзакциях можно только спустя 1-5 блоков.

3. Правила 1 и 2 всего лишь прописаны в настройках каждого клиента. Никто не следит за их соблюдением. Но закон о самой длинной цепочке всё равно уничтожит все ваши транзакции, если вы попытаетесь обмануть систему, не соблюдая их.

Пытаемся обмануть блокчейн

Теперь, когда вы знаете всё о майнинге, устройстве блокчейна и правиле самой длинной цепочки, у вас мог возникнуть вопрос: а можно ли как-то специально обогнать блокчейн, составив самую длинную цепочку самому, тем самым подтвердив свои фейковые транзакции.

Предположим у вас есть самый мощный компьютер на Земле. Датацентры Google и Amazon вместе взятые в вашем распоряжении и вы пытаетесь просчитать такую цепочку, которая станет самой длинной в сети блокчейн.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

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

Если ваша вычислительная мощность будет составлять больше 50% от мощности всех участников сети, то с вероятностью 50% вы сможете построить более длинную цепочку быстрее всех остальных вместе взятых. Это теоретически возможный способ обмануть блокчейн, просчитав более длинную цепочку транзакций. Тогда все транзакции настоящей сети будут считаться неверными, а вы соберете все вознаграждения и начнете новую веху в истории криптовалюты, которая называется «разделение блокчейна». Однажды из-за бага в коде так было с Ethereum.

Но в реальности ни один датацентр не сравнится по мощности со всеми компьютерами в мире. Полтора миллиарда китайцев с айсиками, еще полтора миллиарда голодных индусов с фермами для майнинга и дешевым электричеством — это огромная вычислительная мощность. Никто в мире пока не может составить им конкуренцию в одиночку, даже Google.

Это примерно как выйти на улицу и пытаться убедить каждого человека в мире, что доллар теперь стоит 1 рубль и успеть до того, как в СМИ вас разоблачат. И вот если вы умудритесь убедить всех, то сможете обвалить мировую экономику. В теории ведь это возможно? Но на практике почему-то ни у кого не получалось.

На этой вероятности держится и блокчейн. Чем больше участников-майнеров — тем больше безопасность и доверие сети. Потому когда в Китае накрывают очередную крупную майнинг-ферму, курс и обваливается. Все боятся, что где-то в мире сидел злой гений, который уже собрал пул майнеров на

По факту такое было несколько раз годах в 2014-х, когда один из пулов для майнинга временно стал мощнее остальной сети. Но манипуляций тогда замечено не было.

Блокчейн изнутри: как устроен биткоин. Разбираемся раз и навсегда человеческим языком. [ДЛИННОПОСТ] Программирование, IT, Криптовалюта, Биткоины, Блокчейн, Ethereum, Шифрование, Длиннопост

Блокчейн не только для криптовалют

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

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

«Эфиры» — второе по популярности слово, которое вы слышите в новостях о криптохайпе, после биткоина. Для обывателей это еще одна криптовалюта и способ делать моднейшую штуку под названием ICO. Разработчики на сайте описывают Ethereum как «конструктор блокчейнов для ваших нужд». Так тоже можно, да.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *