Введение в технологию Блокчейн! HD

10.06.2019
Блокчейн - это журнал с фактами, реплицируемый на несколько компьютеров, объединенных в сеть равноправных узлов (P2P). Фактами может быть что угодно, от денежных операций и до подписания контента. Члены сети - анонимные лица, называемые узлами. Все коммуникации внутри сети используют криптографию, чтобы надежно идентифицировать отправителя и получателя. Когда узел хочет добавить факт в журнал, в сети формируется консенсус, чтобы определить, где этот факт должен появиться в журнале; этот консенсус называется блоком. Децентрализованные сети с равноправными узлами не новы. Napster и BitTorrent - это P2P сети. Просто вместо обмена фильмами, участники сети блокчейна обмениваются фактами. Так в чем же реальная особенность блокчейна? P2P-сетям, как и прочим распределенным системам, приходится решать очень сложную проблему информатики: разрешение конфликтов, или согласование. Реляционные базы данных предлагают ссылочную целостность, но такой особенности нет в распределенной системе. Если два несовместимых факта прибывают в одно и тоже время, система должна иметь правила для определения того, какой факт считать правильным. Возьмем, к примеру, проблему двойного расходования: у Алисы есть 10$ и она отсылает их дважды Бобу и Чарли. Кто будет иметь 10$ в итоге? Для того чтобы ответить на этот вопрос, лучший способ это упорядочить факты. Если два несовместимых факта появятся в сети, то победит тот, который будет первый записан. В P2P сетях, два факта отправленные примерно в одно время могут прибыть в разном порядке в удаленные узлы. Тогда как всей сети согласовать какой же факт пришел первым? Чтобы гарантировать целостность в P2P сети, вам нужен способ согласования порядка фактов. Вам нужна система консенсуса. Алгоритмы консенсуса для распределенных систем это очень активное поле для исследований. Возможно, вы слышали о алгоритмах Paxos или Raft. Блокчейн реализует другой алгоритм, консенсус, основанный на доказательстве выполнения работы (proof-of-work), использующий блоки. Блоки - это хитрый трюк, чтобы упорядочить факты в сети с недоверенными узлами. Идея проста: факты группируются в блоки, и есть только одна цепочка блоков, реплицируемая по всей сети. Каждый блок ссылается на предыдущий. То есть, если факт F находится в блоке 21, и факт E в блоке 22, то факт E рассматривается всей сетью как следующий за фактом F. Перед добавлением к блоку, факты находятся на рассмотрении, т.е. не подтверждены. Майнинг. Некоторые узлы в цепочке создают новые локальные блоки с неподтвержденными фактами. Они соревнуются, чтобы узнать, станет ли их локальный блок следующим блоком в цепи для всей сети, путем броска игральных костей. Если узел выбрасывает две шестерки, то он получает возможность опубликовать его локальный блок, и все факты в этом блоке становятся подтвержденными. Этот блок посылается всем узлам в сети. Все узлы проверяют, что блок правильный, добавляют его к их копии цепи и пытаются построить новый блок с новыми неподтвержденными фактами. Но на самом дел

Похожие видео

Показать еще