Блок Биткоина: что это, структура, характеристики, пример

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

Количество обрабатываемых транзакций в сети Биткоина зависит от одного важно параметра — размера блока. Блоки являются главной составляющей цепочки блокчейна, в которой есть информация о переводах 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 мегабайта, ведь в большем объёме нет смысла.

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

Как устроен и как работает Bitcoin

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

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

Что такое Биткоин?

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

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

Структура блока

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

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

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

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

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

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

Алгоритм цифровой подписи

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

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

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

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

Алгоритм цифровой подписи ECDSA, использующий эллиптические кривые и конечные поля, подробно описан в статье «The Math Behind Bitcoin». С точки зрения математики, эллиптическая кривая представляет собой уравнение вида: y² = x³ + ах + b. В случае с Биткоином а = 0 и b = 7, и кривая выглядит следующим образом:

Читайте также:  Как майнить Биткоины в 2020 – способы майнинга BTC

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

Для сложения точек P и Q, мы проводим через них прямую, которая пересечет кривую в некоторой точке R‘. Затем находим на кривой точку R, симметричную R‘ относительно оси X. Она и будет являться суммой точек P и Q.

При удвоении точки, P + P = R, мы проводим прямую, которая касается кривой в точке P. Согласно свойствам кривой, прямая пересечет ее еще в одной точке — R‘. Точка R, симметричная R‘ относительно оси X и будет результатом удвоения P.

Две эти величины можно использовать для определения скалярного произведения, R = aP, определяемую как добавление точки Р самой к себе a раз. Процесс скалярного умножения упрощается за счет сочетания процессов сложения и удвоения точек. Например, семикратное добавление точки P, R = 7P = P + (P + (P + (P + (P + (P + P))))), можно представить в виде: R = P + 2 (Р + 2P). Т.е. вместо 7 операций мы получили всего 4 — 2 операции удвоение и 2 сложения.

Другое понятие, которое использует алгоритм ECDSA, это конечное поле. Его можно рассматривать как заданный диапазон положительных чисел, в рамках которого осуществляются все операции. Сочетая два понятия — эллиптическая кривая и конечное поле, мы получим функцию, которая по своему внешнему виду не будет иметь ничего общего с прежней кривой, но уравнения и свойства ее останутся прежними. Например, эллиптическая кривая Биткоина, y² = x³ + 7, определенная на конечном поле по модулю 67, будет выглядеть следующим образом:

При этом симметрия точек относительно оси X сохраняется. Просто теперь это множество точек, в которых все х и у значения представляют собой целые между 0 и 66. Визуально будет отличаться и процесс сложения и удвоения точек. Теперь прямые ограничены конечным диапазоном и будут оборачиваться «вокруг поля» — линия достигает края, в нашем примере 67, и продолжается с другого его конца, сохранив прежний наклон, но со сдвигом. Поэтому, сложение точек (2, 22) и (6, 25) в данном случае выглядит так:

Прямая проходит через 2 указанные точки, затем упирается в край поля и, продолжаясь, пересекает точку (47, 39). Симметричная ей «относительно оси X» будет точка (47, 28), которая и является результатом сложения.

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

Уравнение эллиптической кривой: y² = x³ + 7.
Простой модуль = 2256 — 232 — 29 — 28 — 27 — 26 — 24 — 1 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F.
Базовая точка = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8.
Порядок = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141.

Данная конкретная реализация ECDSA известна как secp256k1 и является частью семейства стандартов, предлагаемых для использования в криптографии.

Учет баланса средств

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

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

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

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

На что можно потратить?

Шоппинг. В первую очередь Биткоин — это средство платежа. В настоящее время криптовалюту к оплате принимают большое число стартапов и крупных компаний, таких как Microsoft, Overstock, Dell, TigerDirect и др. За биткоины вы можете приобрести практически любые физические товары, услуги или цифровой контент, как в интернете, на многочисленных сайтах, так и в ряде оффлайновых точек — кафе, магазинах, артстудиях и т.д. На сегодняшний день в мире существует более 7,5 тыс. центров приема Биткоин. Увидеть их можно на карте.

Обменять на другую валюту. Несмотря на все многообразие торговых предложений, говорить о повсеместном признании Биткоина, особенно в России, еще рано. Если в выбранном вами магазине криптовалюта не принимается, вы можете обменять ее на наличные или на другую электронную валюту. Сделать это можно, к примеру, в обменном пункте xmlgold.eu, предлагающем около 40 направлений обмена Биткоин. Среди доступных вариантов — вывод в другие платежные системы (AdvCash, OKPAY, Perfect Money, Payeer и другие), мгновенный банковский перевод, с помощью которого можно оплатить покупку или получить наличные, а также вывод на карты Visa и MasterCard в долларах или евро по всему миру.

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

Направить на благотворительность. Возможность отправлять как крупные суммы, так и совершать микроплатежи, а также низкие комиссии на обработку транзакции делают Биткоин идеальным инструментом для отправки средств на благотворительность. Одной из первых возможность делать пожертвования в BTC предоставила организация BitGive Foundation, занимающая сбором средств для Красного Креста, Water Project, Save the Children и других программ. Пожертвования в криптовалюте принимает международная экологическая организация Greenpeace. Не так давно была запущена программа Bitcoin Charity 2.0, которая позволяет направить средства напрямую нуждающимся. Проект обеспечивает полную прозрачность за счет использования технологии блокчейн.

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

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

Криптовалюта Биткоин, что это и как это работает?

Дороже нефти и золота… Деньги, которые нельзя потрогать руками, их нет в реальном мире. Так обозначается криптовалюта Bitcoin (BTC), оценивающаяся на момент написания статьи в 7 506 USD. Это децентрализованная валюта, созданная в сети интернет и только в ней функционирующая.
С каждым днем Биткоин все чаще упоминается в бумажных и электронных источниках. Это уже не сфера гиков. Практически все люди знают о данной криптовалюте, только по-разному. Одни зарабатывают с помощью «цифрового золота», другие еще входят в курс дела, а третьи относятся к Биткоину с недоверием: они знают что это, только недоумевают, почему за криптомонету многие готовы отдать тысячи долларов. Эта статья поможет понять, какую ценность представляет собой валюта Bitcoin.

Что такое Биткоин простыми словами

Это цифровые деньги, которые нельзя взять в руки, как традиционную валюту. Есть только специальные реестры – блокчейн. В них со 100% точностью ведется учет проводимых транзакций. Принцип работы напоминает безналичный банковский платеж. Когда вы платите картой, то не используете физических денег, но операция записывается. Хотя суть Биткоина в том, что реестры расположены не в банках, они хранятся децентрализовано – одновременно на всех компьютерах, связанных с BTC. Их может просмотреть каждый: история операций с Bitcoin сохраняется.
Важная особенность криптовалют – реестры криптографически защищены. Их можно просматривать, но нельзя подделать, переписать информацию в блоках. Биткоины – это виртуальные, надежно защищенные деньги, но что такое абсолютная надежность? Даже у «цифрового золота» она не стопроцентная. Ведь присутствует риск атаки 51%. Однако по сравнению с традиционными деньгами украсть BTC практически невозможно.
Появился Bitcoin в 2009 г., но популярность и высокую стоимость обрел не сразу. Помните историю о самой дорогой пицце? Ради интереса американец Ласло попробовал приобрести две обычные пиццы за 10 000 BTC. Услуга была оказана. По текущему курсу Ласло заплатил 75 060 000 USD.
Сегодня проводится множество транзакций, где фигурируют биткоины. На вопрос «что это такое и зачем они нужны», ответим – криптографические виртуальные деньги с собственным курсом, не имеющие физического выражения, но позволяющие проводить разные сделки, а также обеспечивающие заработок на колебаниях курса. Смотрите, еще несколько дней назад Bitcoin стоил 8990 USD, а сейчас «вырос» почти на тысячу долларов.

Количество Биткоинов ограничено. Их никогда не будет больше 21 000 000 монет.

В настоящее время уже добыто более 18 000 000 монет и с каждым днем их становится все меньше и меньше. Кроме того, каждые 4 года вдвое сокращается эмиссия, вследствие чего, как правило, Биткоин начинает расти в цене. В 2020 году ожидается новый взлет криптовалютного рынка, поэтому стоит присмотреться к инвестициям в криптовалюты, в частности в Биткоин. Всегда стоит помнить о том, что курс криптовалют очень волатильный. Он может как вырасти за пару минут, так и упасть. Это и привлекает большинство инвесторов, которые постоянно следят за ценой криптовалюты, чтобы успеть купить по самой низкой цене, а потом продать по самой высокой.

Купить и продать Биткоин можно на сайте онлайн-обменника Матби. Данный обменник работает с 2014 года и является одним из самых надежных русскоязычных сервисов на криптовалютном рынке. Полный процесс: регистрация, внесение средств на счет, покупка криптовалюты и ее отправка — занимает не более 10-15 минут. Матби можно также использовать в качестве онлайн-кошелька для хранения криптовалют. Кроме Биткоина сервис поддерживает Litecoin, Dash и Zcash. Для надежной защиты средств пользователей вся криптовалюта хранится на “холодных” кошельках.

Как работает Биткоин

Рубли, доллары, евро и прочие традиционные деньги выпускают государства, а вот откуда же берутся виртуальные монеты – биткоины? BTC никто не выпускает. Криптовалюта появляется вследствие обслуживания компьютером потребности платежной сети.
Рассмотрим на примере, как работает валюта Bitcoin. Допустим, какой-то человек в Китае купил телефон, расплатившись биткоинами. Эта операция сразу записывается на всех компьютерах, подключенных к сети blockchain.
Для записи проведенной операции необходима специальная криптографическая подпись, являющаяся сложной компьютерной задачей. Ее вычисляет, например, компьютер, расположенный в России. В случае успеха его владелец получает вознаграждение – монеты BTC. Процесс называется майнингом. Вычислительная машина добывает валюту посредством шифра. Она припечатывает операции, зарабатывая владельцу цифровые деньги. В этом и заключается принцип работы криптовалюты Биткоин. Его добыча проводится на специализированных ASIC или фермах GPU. Майнят BTC и на собственных майнинг-устройствах и через облачные сервисы.

Какие еще принципы заложены в Биткоин

  • Это виртуальная валюта, представленная в виде сгенерированных по алгоритму чисел.
  • Рост курса обусловлен потенциалом блокчейна – базы данных, где хранится зашифрованная информация обо всех проведенных транзакциях.
  • Эмиссия ограничена: количество биткоинов равно 21 млн монет во всем мире, поэтому «цифровое золото» ценно. По мере уменьшения BTC его стоимость будет только расти. Почему именно «цифровое золото»? Потому что BTC нельзя напечатать, или обесценить. Bitcoin майнят, или покупают. Как и золото. Благодаря этому принципу криптовалюта защищена от инфляции.
Читайте также:  Кто придумал Биткоин — что известно о создателе Биткоина

На данный момент большее количество биткоинов уже добыто. Сейчас курс Bitcoin равен 9900 USD. Согласно прогнозам экспертов еще к концу этого года он вырастет до 30 000 долларов. Некоторые криптоэнтузиасты ждут повышения цены до 1 млн долл. Это маловероятно, хотя последняя монета BTC (говорят, ее добудут в 2140 г.) может и будет оцениваться в такую сумму.
Почему Bitcoin пользуется сильным спросом? Что вызвало интерес к этой криптовалюте? Причина в ее децентрализованности и анонимности. А для чего нужны анонимные биткоины? Для возможности проводить сделки между пользователями из разных стран без участия банков и независимо от требований законодательства. Многие осуществляют операции под псевдонимом.
Благодаря децентрализованности отследить транзакции невозможно. Контроль полностью отсутствует. Никто не диктует условия владельцам цифровых валют.
Зачем еще нужны биткоины? За BTC можно купить практически любой товар, оплатить услугу. Ими торгуют на криптовалютных биржах, в них инвестируют. Ранние истории успеха могут повториться. Помните, в 2009 г. норвежец Кристофер Кох купил монеток на 24 доллара? Через 4 года они принесли ему 885 тыс. долл. Сейчас Bitcoin стоит 9,9 тыс. USD и кто знает, может курс и вырастет до цифры с шестью нулями.

История создания Bitcoin

Система Биткоина – это прорыв в области компьютерных технологий, основывающийся на двадцати годах тщательных исследований. Первые версии протокола виртуальной валюты предложили еще в 1983 г. ученые Дэвид Чаум и Стефан Брендс. В мае 1987 г. была разработана Hashcash, способная противостоять спаму и DoS-атакам. Через некоторое время эта немного по-другому реализованная система стала важной составляющей создания новых блоков в Bitcoin-сети.
В 2008 г. был опубликован документ, где описывался протокол Биткоина и принцип работы. Инновационная валюта появилась в 2009 г. Тогда Сатоши Накамото показал код от ее программы-клиента, завершив работу над протоколом.

Кто создал Биткоин?

Сатоши Накамото. Но это псевдоним, под которым скрывается один человек или же группа специалистов. Конкретная личность до сих пор так и не установлена. Использовав свои наработки и опыт предшественников, Сатоши создал цифровые деньги. Так появилась криптовалюта Биткоин – децентрализованная виртуальная валюта. Первые BTC сгенерировали в январе 2009 г. В том же месяце произошла и первая transaction: Накамото перевел Хелу Финни 10 BTC. Хел Финни – это второй участник сети Bitcoin, но основная слава досталась Сатоши: в его часть назвали дробную часть криптомонеты (0, 000 00001 BTC).

Чем обеспечен Биткоин

Общее количество биткоинов составляет 21 млн монет. Эмиссия BTC ограничена, поэтому намайнить, например, миллиард этих криптомонет не представляется возможным. 21 млн – максимальное количество «цифрового золота». Большая часть биткоинов уже добыта.
У «прародителя» криптовалют были взлеты и падения. Однако в последнее время курс стал расти и, возможно, оптимистичный прогноз «стоимость Bitcoin в 2018 достигнет 30 тыс. USD» осуществится.
Почему люди готовы платить за виртуальные деньги такие большие деньги, чем же обеспечены эти биткоины? Например, традиционная валюта обеспечивается ВВП. Доллары, евро, рубли и т. д. можно обменять на золото. Но Биткоин – что это? Набор сложных чисел, математика.
Bitcoin – как неразработанная добыча золота. Есть на него спрос? Значит, будут добывать. Аналогично выясняем, в чем же ценность популярного Биткоина: его цену определяет доверие людей к этой системе. Анонимная децентрализованная валюта, с которой можно извлечь прибыль, – к этому никогда не пропадет интерес.

Отличия Биткоина от классических фиатных денег

Существует несколько отличий:

  • Bitcoin не имеет физического выражения.
  • Курс «цифрового золота» независим от экономического развития стран. В большинстве традиционные деньги привязаны к доллару, а чем обеспечены все криптовалюты, в том числе и биткоины? Их стоимость определяет спрос.
  • Ограничена эмиссия. В отличие от фиата BTC нельзя напечатать: система Биткоин содержит в себе только 21 млн монет.
  • Транзакции выполняются напрямую (P2P), без участия третьей стороны.
  • Децентрализованность системы.

Где взять Bitcoin?

BTC добывается с помощью ASIC и ферм GPU. Данный процесс называется майнингом. Он довольно дорогой. Учитывая сложность сети Биткоина, потребуется несколько АСИКов или мощных видеокарт. Есть и иные способы приобрести BTC:

  • Обменные сервисы.
  • Криптовалютные биржи.
  • Биткоин-краны. Эти сервисы бесплатно раздают монеты. Для получения BTC нужно кликать на рекламу, разгадывать капчи и т. п.
  • Торговые площадки.
  • Обычные терминалы самообслуживания.
  • Банкоматы Bitcoin. Предлагают выгодный курс валюты, но пока не особо распространены на территории стран СНГ.

Что можно купить за Биткоин

Практически все. За BTC можно приобретать еду, бронировать отели, покупать квартиры и автомобили, заказывать билеты на самолет. Как и электронные деньги, виртуальная валюта Биткоин пользуется огромной популярностью. В Японии еще в 2017 г. принимать BTC стали 260 тыс. магазинов. А сейчас постоянно открываются бары, рестораны и другие заведения с поддержкой криптоплатежей. Найти магазины и сервисы, принимающие Bitcoin, можно при помощи карты Coinmap.

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

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

Технические характеристики Биткоина следующие:

  • Новый блок создается каждые 10 минут.
  • Сложность структуры меняется раз в две недели (через 2016 блоков).
  • Вознаграждение за блок составляет 25 криптомонет.
  • Общее количество BTC: 21 млн.

Рассмотрим, как же работает сложная система Биткоина:

Технология блокчейн

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

Децентрализация

Что это такое? Равенство всех участников сети и их независимость друг от друга. Глоток свободы на фоне традиционной финансовой системы – отсутствует центральный орган, контролирующий все денежные операции. Сеть Bitcoin равномерно распределена между участниками, компьютера которых добывают «цифровое золото». Никто не диктует условия и не устанавливает правила. Транзакции проводятся без участия третьего лица, а напрямую, по принципу P2P.

Анонимность

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

Открытый исходный код

Bitcoin ввели в использование с открытым исходным кодом. Что это значит?

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

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

Прозрачность

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

Простота в использовании

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

Безотзывные транзакции

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

Защита транзакций с помощью электронных подписей

Электронная подпись – пароль, который присваивается аккаунту. При регистрации в сети Bitcoin, вам предоставляется ключ-подпись, позволяющий в дальнейшем осуществлять транзакции с аккаунта.

Заключение + видео по теме

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



Bitcoin in a nutshell — Blockchain

Blockchain — это технология, на базе которой построен Bitcoin. И если пару лет назад вся слава доставлась криптовалюте, то сегодня все чаще можно слышать смелые фразы вроде: “Forget Bitcoin, Long Live Blockchain”. Активно развиваются платформы вроде Ethereum, IPFS или Overstock, которые рассматривают блокчейн не как инструмент для создания еще одной платежной системы, а как совершенно обособленную технологию, сравнимую по своей инновационности разве что с Интернетом.

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

Table of content

Blockchain for dummies

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

И если блокчейн целиком — это книга, то отдельные блоки можно представлять как страницы, на которых “записываются” транзакции. Кажый блок “ссылается” на предыдущий и так до самого первого блока (genesis block). Именно это и создает такую интересную особенность блокчейна, как неизменяемость. Нельзя взять и изменить блок #123 так, чтобы этого никто не заметил. Потому что блокчейн устроен таким образом, что это повлечет изменение блока #124, потом #125 и так далее, до самого верха.

Structure

Привычным движением руки открываем спецификацию протокола и смотрим на структуру блока.

  • version — версия блока
  • prev_block — хэш предыдущего блока (parent block)
  • merkle_root — если упрощенно, то это хэш всех транзакций в блоке
  • timestamp — дата и время создания блока
  • bits, nonce — про эти параметры я подробно расскажу в главе Bitcoin in a nutshell — Mining
  • txn_count, txns — число транзакций в блоке и их список

Первые шесть параметров (все кроме txn_count и txns) образуют заголовок блока (header). Именно хэш заголовка называют хэшем блока, то есть сами транзакции непосредственного участия в хэшировании не принимают.

Вместо этого они заносятся в особую структуру — дерево Меркла, про которую я расскажу ниже.

Merkle tree

Technical side

Дерево Меркла — это структура данных, также известная как бинарное дерево хэшей. В случае Bitcoin оно строится следующим образом:

Сначала считаются хэши всех транзакций в блоке hash_A = SHA256(SHA256(A))

Потом считаются хэши от суммы хэшей транзакций hash_AB = SHA256(SHA256(hash_A + hash_B))

Точно также считаем хэши от суммы получившихся хэшей hash_ABCD = SHA256(SHA256(hash_AB + hash_CD)) и далее по рекурсии. Лирическое отступление — так как дерево бинарное, то на кажом шаге должно быть четное число элементов. Поэтому если, например, у нас только три транзакции, то последняя транзакция просто дублируется:

  • Процесс продолжается до тех пор, пока не получится один единственный хэш — он и называется merkle_root (третье поле в header блока)
  • Ниже приведена реализация дерева Меркла, можете проверить ее на каком-нибудь блоке.

    Immutability

    Теперь о том, зачем это нужно в Bitcoin. Я думаю, вы понимаете, что если изменить хотя бы одну транзакцию, то merkle_root также изменится. Поэтому такая структура данных позволяет обеспечить “неподделываемость” транзакций в блоке. То есть не может произойти следующей ситуации:

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

    Для проверки достаточно посчитать merkle_root самостоятельно и сравнить его с тем, что записан в header блока.

    Но здесь можно резонно возразить, что, во-первых, такие сложности совершенно ни к чему. Достаточно просто посчитать хэш от суммы всех транзакций в блоке txns_hash = SHA256(SHA256(sum(txns))) — он точно также изменится после любых манипуляций с транзакциями. А, во-вторых, что мешает злоумышленнику подменить merkle_root в блоке? На второй вопрос отвечу сразу: на самом деле в блоке вообще нельзя ничего изменить, потому что блок тут же станет невалидным (это вы поймете после прочтения следующей главы Bitcoin in a nutshell — Mining).

    А дерево Меркла нужно на самом деле для того, чтобы иметь возможность создавать SPV nodes (Simplified Payment Verification). Такие ноды синхронизируют только заголовки блоков, без самих транзакций. В результате блокчейн занимает на порядок меньше места (для красоты возьмем высоту в 500.000 блоков, размер header фиксирован — 80 байт):

    500.000 * 80 / 1024 / 1024 ≈ 40 Мб

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

    Суть упрощенной верификации платежей в следующем: пусть у вас есть SPV нода. У меня же есть весь блокчейн целиком и мне нужно вас убедить, что какая-нибудь транзакция действительно была (на картинке это транзакция K). В этом случае, мне достаточно всего лишь предоставить вам несколько хэшей: H_L, H_IJ, H_MNOP, H_ABCDEFGH , они еще называются authentication path.

    После чего вы сначала считаете H_K = SHA256(SHA256(K)) , потом H_KL = SHA256(SHA256(H_K + H_L)) и так до самого верха. Если в итоге вы находите у себя блок с таким же merkle_root, то факт существования транзакции считается подтвержденным.

    Читайте также:  Биткоин-кошелек XAPO: регистрация, использование, отзывы

    BTW Ральф Меркл даже запатентовал свою структуру данных, о чем свидетельствует патент US4309569 A.

    Timestamp

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

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

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

    Поэтому для проверки timestamp на валидность было придумано два критерия. Во-первых, он должен быть больше, чем среднее арифметическое timestamp-ов предыдущих 11 блоков. Это делается для того, чтобы не получилось так, что блок #123 вышел 12 марта 2011 года, а #124 — 13 февраля 1984. Но в тоже время допускается некоторая погрешность.

    Во-вторых, timestamp должен быть меньше чем network adjusted time. То есть нода, при получении нового блока, интересуется текущим временем у своих “соседей” по сети, считает среднее арифметическое и если block timestamp меньше получившегося значения + 2 часа, то все в порядке.

    BTW как вы видите, timestamp нового блока может оказаться даже меньше, чем timestamp более раннего блока. Это не такая уж и редкость, например #145045, #145046 и #145047.

    Raw block

    Если у вас до сих остались какие-то вопросы по структуре блока, то предлагаю вам посмотреть на них в “сыром” виде. Самый очевидный способ это сделать — запустить на пару часов bitcoind –daemon , а потом исследовать уже скачанные блоки. Но, во-первых, не у всех есть время / желание синхронизировать блокчейн. Во-вторых, в Bitcoin блоки хранятся в крайне специфической базе данных LevelDB, еще и довольно странным образом. А так как книга расчитана не только на опытных разработчиков, то я пойду уже проверенным путем и снова использую протокол в его первозданном виде.

    Для получения блока отправим сообщение getdata, в котором укажем type : MSG_BLOCK и hash : 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506 — это хэш блока #100.000. Весь код целиком можете посмотреть здесь.

    Инвестирование в биткоин для начинающих. Биткоин с нуля.

    В этом видео давайте мы с вами разберемся чуть-чуть подробнее, как же работает биткоин. Биткойн добывается такими ребятами которые называются майнеры. Это по-английски «mining» добыча, горная добыча. Возможно, вы слышали этот термин – майнеры. Биткойн добывается на специальных устройствах, которые занимаются криптошифрование. Вкратце, давайте объясню, как это работает. Представьте себе 100000 (сто тысяч) компьютеров, которые соединены между собой в интернете.

    Что такое криптовалюта биткоин простыми словами, принцип работы Bitcoin

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

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

    Как работают транзакции в сети Биткоин?

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

    В них входят и малыши, люди которые присоединились к ним, и, собственно, оборудование, которое добывает биткоин. Так вот 12,5 биткоинов (посчитайте, кстати, сколько сегодня это стоит в долларах, курс каждый день разный) это и есть награда, это и есть выпуск денег. То есть в этот момент, как вышел новый блок, сегодня в день выходит около 120-130 (умножайте на 12,5), день соответственно это на столько биткоинов становится больше. И каждый 1-2 года происходит уполовинивание, то есть выпускается за каждый блок уже не 12,5, а еще меньше биткоинов. С каждым годом их меньше и меньше, и будут они выпускаться до 2140 года, вне зависимости от того сколько оборудование, компаний и людей, будет добывать.

    Блок Биткоина: что это, структура, характеристики, пример

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

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

    Биткоин для начинающих простыми словами. Можно ли заработать на блокчейне?

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

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

    Инструкция по добыче одного блока биткоина

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

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

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

    Начнем с того, что блокчейн (Block — блок, chain — цепь) — это децентрализованная база данных, которая предназначена для хранения последовательных блоков с набором характеристик (версия, дата создания, информация о предыдущих действиях в сети). Аналоговым примером его структуры представляется бесконечно длинная металлическая цепь, в которой нельзя разорвать или поменять местами звенья.

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

    Зачем искать блоки

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

    Впрочем, разработчики пытаются оптимизировать алгоритмы добычи или вообще избавиться от классического майнинга и изменить способ подтверждения транзакций с помощью PoS системы. Ведь на поиск биткоинов уходит невероятное количество энергии. Если взять за среднее значение показатели мощности и энергопотребления ASIC-майнера Antminer S9, то на данный момент сеть биткоина потребляет около 5 ГВт электроэнергии в час.

    Немного теории

    Пока не будем вдаваться в числовые подробности, а разберемся с тем, как происходит добыча блоков. Перед майнером стоит задача решить математическую головоломку, чтобы быстрее всех разгадать ключ к блоку и вычислить подходящий криптографический код. С помощью сверхбыстрого (об этом мы еще поговорим) перебора комбинаций находится ключ nonce (number only used once), который откроет правильный хэш блока. Соответственно, чем быстрее сеть (так мы называем совокупность всех майнерских мощностей в сети монеты) решает такие задачи, тем быстрее находятся блоки. Так выглядит хэш блока биткоина:

    Для справки: количество нулей bits в начале хэша регулируется автоматически для уравнивания сложности сети. Это необходимо, чтобы ограничить эмиссию монеты. Так как эмиссия биткоина ограничена объемом монет в 21 миллион, возникает необходимость регулировать и ограничивать количество добываемых блоков в сети. Это и есть сложность майнинга. Математический расчет показал, что последний биткоин будет добыт в 2140 году. Так, Сатоши Накамото, создатель биткоина, первым предложил внедрить алгоритм увеличения сложности поиска блока в сети. То есть чем больше майнеров присоединяются к добыче, тем сильнее система закручивает гайки.

    Математическая задача

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

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

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

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

    Кратко разберем происходящее. Слова от A до H выписаны в столбик. Каждое из них записано в шестнадцатеричной системе, затем их переводят в двоичную. Итог maj находится под C, сдвиги и 0 записаны над шестнадцатеричным видом A. Функция выбора записывается под G, и, наконец, соответствующие сдвинутые версии E и значение после блока 1 идут над строкой с E. В нижнем правом углу выполняем сложение, результат которого необходим для вычисления следующих A и E. Справа сверху расположили новое значение A, а посередине — новое E.

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

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

    Почему так сложно найти блок

    Далеко позади остались времена, когда можно было майнить биткоин видеокартой и мощным процессором. Сложность сети возросла так сильно, что на поиск одного блока в сети требуется огромная вычислительная мощность, а награда за него и вовсе уменьшилась с 25 до 12.5 биткоина. А в 2009 году за блок отдавали целых 50 монет! К 2020 году ожидается очередное двукратное снижение награды. Несмотря на автоматическую подстройку сети, алгоритмы математических расчетов остаются прежними как для биткоина, так и для любой PoW (Proof of Work) монеты.

    Рассмотрим сеть биткоина в цифрах. В качестве эталонных значений возьмем характеристики ASIC Antminer S9j для майнинга биткоина, который умеет обрабатывать около 15 терахэшей, то есть ровно 15,000,000,000,000 хэшей, в секунду. Получается, что такая небольшая «машинка» сможет посчитать пример из видео 15 триллионов раз в секунду! Это невероятно для человеческого мозга, но крайне мало для майнинга и сети биткоина.

    Сегодня хэшрейт сети биткоина перешагнул отметку в 50,000,000,000 GH/s. А это уже цифра космических масштабов — 50,000,000,000,000,000,000 хэшей в секунду. Пятьдесят квинтиллионов! Для сравнения, диаметр Млечного Пути составляет почти квинтиллион километров. А до ближайшей галактики нам лететь 25 квинтиллионов километров.

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

    Ссылка на основную публикацию