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


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

Рынок криптовалют: волатильность, долгосрочные инвестиции, диверсификация. Криптовалюта и блокчейн — определение и принцип работы. Взлом криптовалют. ТОП-10 криптовалют.

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

Ваши инвестиции должны быть долгосрочными. Рассчитывайте «заморозить» ваши деньги на 10-12 лет. Если для вас срок слишком большой, лучше не инвестировать вообще. Иначе на краткосрочных операциях (спекуляциях) вы просто все потеряете.

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

Криптовалюта — что это?

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

Это способ передачи денег от одного человека к другому в обход центрального контрагента/посредника (банка). Т.е. первичная криптовалюта выступает как децентрализация расчетов. Деньги можно перевести в любую точку планеты без участия банков.

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

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

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

Блокчейн — цепочка блоков

На картинке показана схема работы блокчейн.

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

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

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

Как работает блокчейн?

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

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

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

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

Для большей наглядности рассмотрим сами блоки транзакций.

Такие блоки создаются непрерывно. Например, создается Block53, в него записывается 1 транзакция (Вася перевел Пете 100$). И дальше благодаря майнерам создается следующий блок Block54, который проверяет данные предыдущего.

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

Для изменения блокчейна хакеру нужно обладать данными не менее 50% всей распределенной сети (компьютеры майнеров). Т.е. он должен иметь ресурсы больше, чем у 50% всех майнеров.

Блоки могут быть подтвержденные или отклоненные.

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

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

Виды криптовалют

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

Детальную информацию о стоимости единицы криптовалюты можно найти на сайте coinmarketcap.com. Здесь мы видим ТОП-100 крупнейших криптовалют.

Здесь мы видим капитализацию, цену 1 единицы криптовалюты, количество выпущенных единиц и величину торгов за 24 часа.

На первом месте находится Биткоин с рыночной капитализацией 101 миллиард долларов (на 30.11.2017г.), цена за 1 биткоин около $6000, и всего выпущено 16,6 миллионов единиц валюты.

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

Если Биткоин создан конкретно под транзакции, то Эфириум, Ripple, Dash и другие криптовалюты изначально задуманы под решение более широких задач (купля-продажа недвижимости и авто, смарт-контракты).

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

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

Вывод: если вы планируете инвестировать в криптовалюты, рекомендую покупать валюты из первой десятки.

И в конце рекомендую посмотреть интересное видео о будущем блокчейн технологии.

bigkitty.ru

КРИПТОВАЛЮТА LITECOIN | Криптовалюта, блокчейн и цифровая экономика

Litecoin (от англ. lite — «легкий», англ. coin — «монета») — форк Bitcoin, пиринговая электронная платёжная система, использующая одноимённую криптовалюту.

Создание и передача Litecoin основывается на протоколе без централизованного администрирования, основанном на технологии Bitcoin. Программа имеет открытый исходный код.

Litecoin является вторым после Namecoin форком Bitcoin и имеет лишь небольшие отличия от него. По состоянию на 8 мая 2017 года, 1 LTC эквивалентен 28.52 USD на бирже BTC-E и являлся четвёртой по величине капитализации криптовалютой.

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

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

Сравнение Bitcoin и Litecoin

Блоки

В сетях Bitcoin и Litecoin данные записываются идентичным образом — в виде связанной цепочки блоков, каждый из которых содержит хеш предыдущего. Различия лишь в функции нахождения хеша для подтверждения выполнения работы и заданном среднем временем нахождения блока сетью. Для других задач (формирование адресов, вычисление идентификаторов объектов и пр.) используется хэш-функция SHA256 — также, как и в Bitcoin.

Адреса

В сетях Bitcoin и Litecoin транзакции осуществляются по адресам. Обычные адреса Bitcoin состоят из 27-34 символов и начинаются с 1 или 3. Адреса Litecoin состоят из 33 символов и начинаются с буквы L или с 3.

Майнинг

Для поддержки работоспособности сети, а также для обеспечения требуемого уровня защищенности (в частности, для предотвращения возможности атаки «Double Spending») используется механизм циклического хеширования. В случае, если числовое значение хеша заголовка блока равно или ниже сгенерированного системой параметра, условие считается выполненным и создаётся новый блок. В противном случае, изменяется блок случайной информации в заголовке и хеш пересчитывается. Когда вариант найден, узел рассылает полученный блок другим подключённым узлам. Другие узлы проверяют блок. Если ошибок нет, то блок считается добавленным в цепочку и следующий блок должен включить в себя его хеш.

КУРС LITECOIN

Результат хеширования практически непредсказуем. Таким образом, вероятность создать новый блок для каждого отдельно взятого пользователя равна отношению количества хешей в секунду (выражается обычно в KH/s), вычисляемого на его оборудовании, к количеству вычисляемых хешей в секунду во всей сети. Тот, кто создал новый блок, получает вознаграждение из некоторого количества новых монет. Процесс поиска подходящего хеша для формирования нового блока называется майнингом.

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

Для доказательства выполнения работы Bitcoin использует хеш-функцию SHA256, что делает майнинг Bitcoin чрезвычайно распараллеливаемой задачей. Litecoin использует scrypt в качестве доказательства выполнения работы. Хеш-функция scrypt использует SHA256 как подпрограмму, полагаясь на большое количество арифметических вычислений, но также требуя наличия быстрого доступа к большим объёмам памяти. Это делает запуск нескольких экземпляров scrypt на АЛУ современной видеокарты несколько более сложной задачей. Это также означает, что стоимость производства специализированного оборудования для майнинга на интегральных схемах специального назначения (ASIC) или на ППВМ будет значительно выше, чем стоимость производства подобных устройств для SHA256.

Поскольку современные GPU обладают большими объёмами памяти, они в большей степени пригодны для майнинга Litecoin, однако их преимущество по сравнению с CPU является менее значительным, нежели чем в случае с Bitcoin (преимущество в 10 раз против 20 для Bitcoin).

Параметры функции scrypt используемые Litecoin (N=1024,p=1,r=1) позволяют не майнящим пользователям Litecoin запускать клиент в многозадачном режиме, не затрагивая производительность системы. Эти параметры, по утверждению Колина Персиваля, создателя scrypt, также уменьшают эффективность использования ASIC приблизительно в 10 раз.

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

Скорость проведения транзакции

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

Транзакция, как правило, считается завершенной после 6 блоков, или 15 минут.

Общее количество монет

Эмиссия Litecoin алгоритмически ограничена. Максимальное количество litecoin, которое войдет в обращение, превышает максимальное число bitcoin в 4 раза (84 миллиона против 21). Первоначальная награда за каждый блок равна 50 litecoin. Скорость генерации litecoin уменьшается вдвое за каждые 840000 блоков, что в 4 раза больше блоков, чем с Bitcoin. Так как блоки litecoin формируются в 4 раза быстрее, чем блоки bitcoin, это означает, у них темпы эмиссии и вознаграждения будут сходны. Например, к 2020 году около 3/4 всех litecoin будут сгенерированы.

Функционирование и эмиссия

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

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

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

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

Атака ‘Time Warp’

За требование к хешам блоков в сети Litecoin отвечает параметр, называемый «сложность». Так как вычислительные мощности сети непостоянны, этот параметр пересчитывается клиентами сети таким образом, чтобы один блок генерировался приблизительно 2,5 минуты. Атака ‘Time Warp’ основана на баге, присущем Bitcoin и всем его форкам (в том числе Litecoin). Баг заключается в том, что при перерасчете сложности неправильно обрабатывается последний блок.

Злоумышленник может неоднократно попробовать разрешить последний блок перед перерасчетом, приписав ему временную отметку, на два часа превышающую текущее время, тем самым уменьшая сложность приблизительно на 0,5 %. Из-за бага эти дополнительные два часа не учитываются при следующем перерасчете. Как только сложность достаточно сильно упадет, можно приступать к майнингу ‘быстрых’ litecoin. Таким образом, злоумышленник, обладающий 51 % вычислительной мощности сети, может понизить сложность до единицы и начать майнить новый форк.

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

История

Проект Litecoin был задуман и создан Чарльзом Ли как альтернатива Bitcoin, программный код которого был взят за основу. Проект был запущен 13 октября 2011 года.

Платёжная система Litecoin поддерживается одновременной работой большого количества копий программы-клиента, открытый исходный код которой был опубликован на сервисе GitHub 7 октября 2011 года. По состоянию на февраль 2014 года текущей версией клиента является 0.8.6.2. Новая версия включает в себя улучшения безопасности и производительности программы-клиента и сети в целом. Также в версии 0.8.6.1 операционная комиссия была уменьшена в 20 раз.

Также могут выходить другие клиенты.

В апреле 2013 года в новостях Litecoin обозначалась как альтернатива/резерв/замена Bitcoin.

В ноябре 2013 года капитализация Litecoin в долларах США значительно возросла, увеличившись на 100 % в течение 24 часов.

prizm24.ru

Как создается блок Bitcoin и кто забирает награду за блок

Смотрите также

В мае 2017 года сеть Биткоин столкнулась с серьезным вызовом. Количество неподтвержденных транзакций в мемпуле достигло значения 200 тысяч, а общий объем необработанных данных превысил 120 Мб. Учитывая, что 1 блок в сети биткоин равен 1 Мб, а среднее время его создания – около 10 минут, очередь из 120 блоков растянулась на несколько суток, поскольку постоянно прибывали новые и новые неподтвержденные транзакции.

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

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

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

В чем же здесь дело? Попробуем разобраться.

Как создается блок Bitcoin?

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

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

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

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

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

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

Теперь кратко опишем структуру блока.

Структура блока Bitсoin

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

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

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

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

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

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

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

Размер блока и награда майнера

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

Майнер (майнинг-пул) получает оплату за произведенную работу из двух источников:

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

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

Были предложены множество вариантов решения этой проблемы, от увеличения блоков до создания протоколов более высокого уровня, используемых поверх протокола биткоина. До недавнего времени разработчики склонялись к использованию доработанного протокола Segregated Witness (SegWit), который получил название Segwit2x. С помощью него часть информации должна была быть вынесена за пределы блока, то есть храниться отдельно от цепочки блокчейна, а размер самого блока – увеличиться до 2 Мб, что теоретически позволяло заметно ускорить прохождение транзакций и повысить анонимность.

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

Откуда же берутся пустые блоки?

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

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

Если майнер найдет блок N+1 еще до того, как будет проверен блок N – он имеет право заполнять его транзакциями? Нет, не имеет. Ведь в этих новых транзакциях могут оказаться такие, которые опираются на транзакции включенные в блок N, который еще не подтвержден. Даже если в мемпуле скопилась очередь из большого количества неподтвержденных транзакций, которые необходимо включать в блок N+1, майнер не может этого сделать, пока не прошло подтверждение блока N. А раз так, то майнер закрывает блок N+1 пустым, в нем будет только одна coinbase-транзакция, которая формируется автоматически и несет в себе информацию о вознаграждении за создание блока. Получает вознаграждение и приступает к поиску блока N+2.

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

Решение проблемы

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

На момент написания статьи количество неподтверждённых транзакций превышало 160 тысяч, а объем необработанных данных – 117 Мб.

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

На май запланирован выход Bitcoin Core 0.16, в который будет внедрен новый формат адреса от разработчика Blockstream Питера Уилля, известный как bech42, который позволит ограничить ошибки от опечаток и снизить риски.

Протокол SegWit получит наконец широкое распространение и позволит снизить стоимость комиссий и время подтверждения транзакций.

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

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

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

  • подписи Шнорра;
  • конфиденциальные транзакции;
  • Rootstock – сайдчейн биткоина.

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

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

binvestcoin.info

Как создается блок Bitcoin и кто забирает награду за блок

Смотрите также

В мае 2017 года сеть Биткоин столкнулась с серьезным вызовом. Количество неподтвержденных транзакций в мемпуле достигло значения 200 тысяч, а общий объем необработанных данных превысил 120 Мб. Учитывая, что 1 блок в сети биткоин равен 1 Мб, а среднее время его создания – около 10 минут, очередь из 120 блоков растянулась на несколько суток, поскольку постоянно прибывали новые и новые неподтвержденные транзакции.

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

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

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

В чем же здесь дело? Попробуем разобраться.

Как создается блок Bitcoin?

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

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

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

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

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

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

Теперь кратко опишем структуру блока.

Структура блока Bitсoin

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

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

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

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

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

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

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

Размер блока и награда майнера

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

Майнер (майнинг-пул) получает оплату за произведенную работу из двух источников:

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

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

Были предложены множество вариантов решения этой проблемы, от увеличения блоков до создания протоколов более высокого уровня, используемых поверх протокола биткоина. До недавнего времени разработчики склонялись к использованию доработанного протокола Segregated Witness (SegWit), который получил название Segwit2x. С помощью него часть информации должна была быть вынесена за пределы блока, то есть храниться отдельно от цепочки блокчейна, а размер самого блока – увеличиться до 2 Мб, что теоретически позволяло заметно ускорить прохождение транзакций и повысить анонимность.

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

Откуда же берутся пустые блоки?

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

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

Если майнер найдет блок N+1 еще до того, как будет проверен блок N – он имеет право заполнять его транзакциями? Нет, не имеет. Ведь в этих новых транзакциях могут оказаться такие, которые опираются на транзакции включенные в блок N, который еще не подтвержден. Даже если в мемпуле скопилась очередь из большого количества неподтвержденных транзакций, которые необходимо включать в блок N+1, майнер не может этого сделать, пока не прошло подтверждение блока N. А раз так, то майнер закрывает блок N+1 пустым, в нем будет только одна coinbase-транзакция, которая формируется автоматически и несет в себе информацию о вознаграждении за создание блока. Получает вознаграждение и приступает к поиску блока N+2.

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

Решение проблемы

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

На момент написания статьи количество неподтверждённых транзакций превышало 160 тысяч, а объем необработанных данных – 117 Мб.

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

На май запланирован выход Bitcoin Core 0.16, в который будет внедрен новый формат адреса от разработчика Blockstream Питера Уилля, известный как bech42, который позволит ограничить ошибки от опечаток и снизить риски.

Протокол SegWit получит наконец широкое распространение и позволит снизить стоимость комиссий и время подтверждения транзакций.

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

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

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

  • подписи Шнорра;
  • конфиденциальные транзакции;
  • Rootstock – сайдчейн биткоина.

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

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

binvestcoin.com

Как понять что такое блокчейн?Криптовалюты

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

Понимание 3 основных технологий, лежащих в основе Биткоина

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

Если вы не можете объяснить что-то просто и доходчиво, значит вы сами недостаточно хорошо это понимаете — Альберт Эйнштейн

1. Что такое, собственно, блокчейн

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

Этот файл можно сравнить с книгой, которая никогда не заканчивается.

На каждой странице книги имеется информация и номер страницы внизу. Благодаря этому номеру страницы, вы сразу же узнаете какому месту в книге относится данная страница. Страница 49 вполне очевидно находится между страницами 48 и 50.

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

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

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

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

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

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

2. Понимание роли одноранговых сетей

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

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

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

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

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

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

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

3. Понимание механизма достижения консенсуса

Пиринговый механизм уже применялся в 1999 году музыкальным онлайн-сервисом Napster.

Блокчейн также существовал ещё до Биткоина.

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

«Цель алгоритма достижения консенсуса заключается в том, чтобы обеспечить безопасное обновление состояния в соответствии с некоторыми конкретными правилами переходов состояний, где право на выполнение переходов состояния распределяется между ( … ) пользователями, которым предоставляется право на коллективное выполнение переходов состояний посредством определённого алгоритма», — Виталик Бутерин

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

Протокол алгоритма достижения консенсуса устанавливает следующие правила:

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

Добавление блоков в цепочку блоков

Различные блокчейны по-разному добавляют блоки к цепочкам блоков. Наиболее известным механизмом достижения консенсуса является Доказательство Работы (Proof of Work, PoW)

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

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

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

После этого, все майнеры начинают «добывать» следующий блок.

Доказательство Работы в сети Биткоин — не единственный механизм достижения консенсуса. Доказательство Доли (Proof of Stake, POS) также широко используется в распределенных реестрах. В механизме Доказательства Доли майнер может «делать ставки» своими монетами для получения шанса быть выбранным сетью для добавления следующего блока. В каком-то смысле делающий ставку говорит: «Ставлю мои монеты на то, что я правильно добавлю этот блок». И если он солжёт, то потеряет свои монеты.

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

Действительность блоков

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

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

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

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

Теперь, допустим, я получил 1 биткоин, который я позже отправляю Алисе. Затем я пытаюсь отправить тот же биткоин Бобу. Как только блок с моей первой транзакцией будет добавлен в цепочку, все узлы обновят блокчейн, чтобы отразить, что у меня больше нет этого биткоина. Любой вновь «добытый» блок, который будет содержать мою транзакцию с Бобом, будет просто отклонён узлами. Программное обеспечение узлов определяет, что блок не соответствует правилам, таким образом, узлы не добавляют этот блок и не обновляют блокчейн.

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

Как разрешаются конфликты при определении истинности

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

Мы называем это (непреднамеренным) «ветвлением»: блокчейн разветвляется на две разных цепочки. Кто получил мой биткоин, Элис или Боб? Какой из двух цепочек является «истинным» блокчейном?

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

Визуализация ветвления блокчейна (нормальное случайное ветвление)

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

Откуда мы знаем, что именно так всё и произойдёт?

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

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

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

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

Заключение

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

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

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

Источник: cryptocurrency.tech

crypto4u.ru


Смотрите также