Что такое биткоин блоки

Биткоин за 5 минут: Блок

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Как мы уже знаем, блокчейн Биткоина — это некий бухгалтерский реестр или книга ( ledger), в которой записаны абсолютно все транзакции, совершенные с монетами биткоина.

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

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

Таким образом, все блоки, записанные в блокчейн, изменить уже невозможно! Вообще, любое редактирование записанной в блокчейн информации (транзакций) запрещено. Можно только дописывать новые блоки.

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

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

Но, вернемся к блокам блокчейна Биткоина.

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

В заголовке блока содержится следующая информация:

– версия блока;
– дата и время создания блока;
– хэш-код заголовка блока;
– хэш-код предыдущего блока;
– хэш-код всех транзакций в блоке;
– специальные параметры nonce и bits, которые записываются при майнинге (подробнее об этом я расскажу с статье «Биткоин за 5 минут: Майнинг»).

Для понимания нам важны хэши в заголовке.

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

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Именно заголовки позволяют отслеживать целостность содержимого самих блоков.

Теперь перейдем к собственно содержимому ( Payload) блока…

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

В действительности транзакция, записанная в блок блокчейна, сложнее, поскольку протокол Биткоина оперирует такими понятиями, как Входы (Inputs или In) и Выходы (Outputs или Out).

Входы (In) — это транзакции, пополняющие биткоин-адрес, а Выходы (Out) — это суммы, которые переводятся на другие биткоин-адреса.

Поэтому в Биткоине новая транзакция через Входы (один или несколько) ссылается на Выходы (один или несколько) предыдущих транзакций и формирует Выходы (также один или несколько) для использования в последующих транзакциях.

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Собственно структура записи транзакций в блокчейне Биткоина содержит:

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

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

Примечание: На самом деле, баланс определяется путем подсчета всех непотраченных Выходов (т.н. UTXO — unspent transaction output) этого адреса.

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

Например, если имеется входящая транзакция (Вход) на 1 биткоин (BTC), а нужно перевести куда-то 0,8 BTC, то создается транзакция с одним Входом и двумя Выходами: на 0,8 BTC — собственно перевод и на 0,2 BTC — возврат на биткоин-адрес отправителя.

Еще важный момент — это т.н. комиссия за транзакцию ( transaction fee), которую получают майнеры — люди, которые записывают новые блоки транзакций в блокчейн.

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

Как происходит запись нового блока в блокчейн, я опишу в статье «Биткоин за 5 минут: Майнинг».

Подписывайтесь и читайте!

Ранее по теме «Биткоин за 5 минут»:

Источник

Что такое блок в Биткоине и криптовалюте? Время, награда и майнинг

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Блоки- это файлы, в которых постоянно записываются данные, относящиеся к сети криптовалюты (к примеру, Биткоин). Блок записывает некоторые или все самые последние транзакции монеты, которые еще не вошли в какие- либо предыдущие блоки.

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

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

После того, как блок сформируется он организуются в линейную последовательность (также известную как блокчейн). Новые транзакции постоянно обрабатываются майнерами (если монета PoW – то есть майнится), или валидаторами (если монета PoS – то есть не майнится) в новые блоки, которые добавляются в конец цепочки блокчейна.

Ключевые моменты статьи:

Что такое блок?

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

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

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

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

Как работает блок

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

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Майнинг Биткойнов

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

Поскольку за решение каждого блока вознаграждаются майнеры совершенно новыми BTC, каждый блок также содержит запись о том, какие адреса или скрипты Биткойн имеют право на получение награды. Количество сгенерированных биткойнов на блок начинается с 50 и уменьшается вдвое каждые 210 000 блоков (около четырех лет) – этот процесс называется халвингом.

Для примера, в Эфире каждые 13.46 секунд (время проверки 1 блока) создаются 2 монеты ETH.

Сравнение блока с банками

В качестве аналогии можно сравнить обычные банковские транзакции с транзакциями в сети Биткоин.

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

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

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

Общие вопросы о блоках

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

Какое максимальное количество блоков?

Максимального количества не существует, блоки просто продолжают добавляться в конец цепочки со средней скоростью:

МонетаВремя блока
Bitcoin10м 52с
Ethereum13.42с
Bitcoin Cash9м 46с
Litecoin2 м 32 с
Tron3c
BitcoinSV9м 38с
Dash2 м 38 с
Zcash1 м 15 с
Ethereum Classic13.15c

Что будет, когда все монеты одной криптовалюты будут сгенерированы?

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

Источник

Что такое биткоин блоки

Понравилась статья? Поделись:

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

Содержание

Строение блока [ править ]

ПолеОписаниеРазмер
Magic no.Значение всегда равно 0xD9B4BEF94 байта
Размер блока (blocksize)Число последующих байтов, оставшихся до конца блока4 байта
Заголовок блока (blockheader)Состоит из 6-ти компонентов80 байтов
Счётчик транзакций (transaction counter)Положительное целое число VI = VarInt1-9 байтов
Транзакции (transactions)Список транзакцийМножество транзакций

Что такое блок? [ править ]

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

Так как за нахождение блока выдается награда в 12.5 BTC, блок так же содержит Bitcoin-адрес, на который отправлена награда. Запись об этой транзакции называется – generation transaction, т.е. транзакция создания Bitcoin, в списке транзакций блока она всегда находится на 1м месте. Bitcoin транзакции транслируются на всю сеть отправителем – узлы собирают информацию о них и, руководствуясь определенными условиями, включают их в найденный блок.

Сложность [ править ]

Сложность задачи регулируется сетью Bitcoin таким образом, чтобы, в среднем, находилось 6 блоков в час (1 блок в 10 минут). Каждые 2016 блоков (примерно каждые 2 недели) в сети меняется сложность – каждый Bitcoin клиент сравнивает, насколько быстрее (медленнее) находились блоки по сравнению со стандартными значениями и, на основании этих данных, происходит регуляция сложности в большую (меньшую) сторону.

Форк [ править ]

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

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

Источник

Что такое блок Биткоина и за что отвечает его размер

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

Что такое блок в Биткоине?

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

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

Забавный момент: сразу после запуска сети Биткоина в 2009 году размер его блоков составлял 36 мегабайтов. 14 июля 2010 года он был уменьшен до одного мегабайта.

Почему размер блока так важен?

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

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

В начале 2013 года блоки Биткоина были заполнены в среднем на 125 килобайтов. К маю 2015 года этот показатель уже вырос до 425 килобайт, при этом блоки стабильно заполнялись полностью несколько раз в день. То есть транзакций пользователей было достаточно.

Зачем нужно расширять блоки?

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

4 мая 2015 года главный научный сотрудник Bitcoin Foundation Гэвин Андресен опубликовал статью, которую в оригинале можно найти по запросу «Why increasing the max block size is urgent». В ней разработчик заявил, что увеличение размера блока — необходимая мера для Биткоина.

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

Чуть позже Андресен заявил, что займётся разработкой аналогичного клиента Bitcoin XT, первая версия которого была выпущена в декабре 2014 года ещё одним критиком размера блока Биткоина Майком Хёрном.

В июне 2015 года руководства крупнейших китайских пулов для добычи криптовалюты F2pool, BTCChina, Antpool, Huobi и BW подписались под предложением увеличить блок Биткоина из-за растущего количества транзакций. В этом же месяце Андресен опубликовал предложение по улучшению Биткоина (BIP — Bitcoin Improvement Proposal) 101. В нём разработчик предложил отказаться от фиксированного ограничения на максимальный размер блока и перейти на новую модель, в котором лимит будет расти с предсказуемой скоростью.

Что было в BIP 101?

BIP 101 предполагал увеличение размера блока до 8 мегабайтов с 11 января 2016 года. Затем лимит должен был удваиваться каждые 730 дней вплоть до января 2036 года.

Считалось, что благодаря увеличению блока до 8 мегабайтов Биткоин сможет обрабатывать до 24 транзакций в секунду. BIP 101 понравился многим криптоэнтузиастам и крупным майнинговым пулам. И всё же у нововведения были противники. Создатель Bittorrent Брам Коуэн заявил, что столь резкие изменения в протоколе криптовалюты противоречат её главной идее.

16 августа 2015 года BIP 101 был интегрирован в код Bitcoin XT. И хотя апгрейд поддерживался многими, его интеграция не смогла придать популярности альтернативному клиенту Биткоина.

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

Bitcoin XT, Bitcoin Unlimited, Bitcoin Classic и Segwit2x были популярными инициативами в 2016 году, однако ни одна из них не привела к расширению лимита блока Биткоина.

В январе 2016 года было решено отказаться от поддержки BIP 101 в Bitcoin XT и просто перейти на единовременное увеличение размера блоков до 2 мегабайтов. Это привело к серьёзному падению интереса к Bitcoin XT. К январю 2017 года менее 30 нод (узлов) в сети клиента поддерживались майнерами. Ещё год назад их количество превышало 650 единиц.

Через месяц был создан Bitcoin Classic путём форка оригинального Биткоина. Инициатива получила поддержку от Coinbase, Bitstamp, Circle, Роджера Вера и Гэвина Андресена. К сожалению, в 2017 году майнеры Bitcoin Classic не смогли достичь консенсуса по поводу очередного форка, после чего создатели криптовалюты решили прекратить её разработку, высказав свою поддержку Bitcoin Cash.

Примерно в одно время с созданием Bitcoin Classic консорциум крупнейших майнинговых пулов, кошельков и бирж Bitcoin Roundtable обсудил планы в отношении протокола Segregated Witness. Речь шла об увеличении размера блока оригинального Биткоина до 2 мегабайтов.

Что такое SegWit?

Segregated Witness или SegWit это улучшение, в котором размер блока освобождается за счёт выноса данных о подписях транзакций во внешний блок, именуемый «отдельным свидетелем». Именно так переводится словосочетание «Segregated Witness». Благодаря этому в один блок можно вместить почти в четыре раза больше транзакций.

31 марта 2017 года было предложено ввести SegWit путём софтфорка, за ним должен был состояться хардфорк SegWit2x для расширения размера блока до 2 мегабайтов. Детали апгрейда были обсуждены во время нью-йоркского соглашения, в котором приняли участие 58 крупнейших владельцев узлов сети Биткоина. Сообщается, что на тот момент они контролировали 83.28 процента мощности всех вычислительных устройств для добычи криптовалюты.

SegWit был принят в августе 2017 года, а вот по SegWit2x майнерам так и не удалось достичь консенсуса — апгрейд был отменён за несколько дней до его предполагаемой интеграции.

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

Консенсус в комьюнити по поводу «правильного размера блока» так и не был достигнут. В августе 2017 года состоялся хардфорк криптовалюты, который привёл к разделению её блокчейна.

1 августа 2017 года под эгидой Роджера Вера был создан Bitcoin Cash. В форке Биткоина размер блока был увеличен до 8 мегабайтов, при этом интеграция Segregated Witness была отклонена. В мае 2018 Bitcoin Cash прошёл через новый хардфорк, в ходе которого блоки вовсе были увеличены до 32 мегабайтов. Правда, эта инициатива так и не сделала альткоин популярнее оригинального Биткоина. Да и смысла в ней не было. Как оказалось, майнеры BCash всё так же используют блоки на 2 мегабайта, ведь в большем объёме нет смысла.

Заглядывайте в чаш крипточат миллиардеров. Там обсудим все подробности.

Источник

Блокчейн для самых маленьких [part.1]

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Дымков Аркадий Андреевич

Программист / системный и бизнес аналитик

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Технология, которая, по-видимому, окажет наибольшее влияние на развитие в различных областях экономики в ближайшие 10 лет, уже существует! И это не BigData, не соцсети, не робототехника и даже не Machine Learning. Это технология, лежащая в основе криптовалют, цепочка блоков транзакций- блокчейн. Сейчас именно блокчейн является инструментом для создания нового поколением интернета, и он несет огромный потенциал для любого бизнеса.

Скорее всего вы будете удивлены, узнав, что :

Можно ли применить распределенный реестр в огороде у бабушки?

Как одна технология переворачивает всю устоявшуюся индустрию бизнеса и экономики?

Так, теперь давайте определимся, что мы узнаем в part.1 :

Как работает эта технология? Проблема централизации на Олегах

Как работает магическая машина или же хэш-функция

Алгоритм защиты от модификаций печатных номеров

Настолько ли идеален блокчейн? Уязвимости идеальной системы

Как это работает?

Блок 1: Проблема централизации на Олегах

Сначала определимся, какую проблему решает технология?

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

И так, что сейчас произошло? Давайте рассмотрим ситуацию более детально.

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

Блок 2: Какую угрозу несет централизация?

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Централизованная / Децентрализованная системы

Блок 3: Какая система позволит решить эти проблемы?

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

Как это работает?

Блок 1: Давайте рассмотрим принцип работы на примере

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Шаг 1: Пустая папка

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

Шаг 2: Транзакции

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки#2 send 10$ to #5 Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блокиTransaction’s registration page

Для создания транзакции, номер 2 сообщает всем: « Я, номер #2 пересылаю #5 10$». Каждый из участников системы проверяет, имеет ли #2 достаточный баланс для произведения данной транзакции. В случае, если баланс номера #2 позволяет это сделать, то каждый делает запись у себя на странице. Это происходит до того момента, пока на странице не закончится место для записи новых транзакций

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

И вот настало время, всем отправить заполненную страницу в папку и создать новую страницу для ведения учета транзакций. И так повторять начиная с шага №2.

Шаг 4: Хранение страниц

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

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

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

Магия Хэш-фунцкий

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

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

Невероятная сложность нахождения input по output (входящего значения по полученному результату)

И простота проверки правильности входящего значения

Давайте запомним свойства этой машины или хэш-функции

Как использовать хэш-функцию для создания печатей?

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Представим, что на вход мы подаем два значения. Первое значение «KEK», второе —рандомное значение, которое мы добавим к значению из первой коробки и направим на вход хэш-функции, а на выходе получим «Validol». Сможете ли вы угадать, какое значение содержится в второй коробке? Ситуация напоминает ранее рассматриваемый случай. Единственный способ вычислить это число — подбор всех чисел подряд.

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Опять будем оптимистичны, и через сколько то тысяч попыток мы нашли значение второй коробки. Это значение было «LOL». Когда бы добавим «LOL» к значению «KEK» на выходе машины мы получим требуемое значение «Validol».

Т.е. значение «LOL» будет являться печатью к значению «KEK».

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Мы создали страницу с значением «KEK». Что бы пропечатать эту страницу, т.е. защитить эту страницу от правок, мы ставим на ней печать с значением «LOL»

В терминологии блокчейна печатный номер это POW(Proof-of-Work). Он означает, что это значение есть доказательство проделанной работы для вычисления этого значения.

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

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

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

Майнинг

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

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

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

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

Еще одно «НО»

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

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

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

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

Что такое биткоин блоки. Смотреть фото Что такое биткоин блоки. Смотреть картинку Что такое биткоин блоки. Картинка про Что такое биткоин блоки. Фото Что такое биткоин блоки

Атака 51%

Все системы имеют бэкдоры, и блокчейн не исключение. Самая известная уязвимость блокчейна это атака именуемая «Атака 51%».

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

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

Для упрощения абстракции проблемы приведенной выше, скажем, что у каждого участника цепи вычислительные мощи одинаковые. Соответственно, когда 6/10 участников блокчейн системы сговорятся и захотят обмануть оставшихся 4ех юзеров, то через n-ое время они установят новую истинную цепочку блоков. Отсюда и идет название этой уязвимости. Как только количество нечестных юзеров станет 50%+, то блокчейн системе грозит опасность быть «обманутой».

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

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

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

Источник

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

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