Содержание

Как на самом деле работает протокол Биткоин / Хабр

(Замечательное объяснение принципов работы сети Bitcoin авторства Michael Nielsen. Много текста, немного картинок. Обо всех корявостях перевода — в личку, буду исправлять по мере обнаружения)

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


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

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

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

Стратегия, которую я буду использовать в моей публикации, предполагает создание Биткоин поэтапно. Я начну с объяснения очень простой цифровой валюты, основанной на идеях, которые практически очевидны. Мы назовем эту валюту Инфокоин, чтобы отличить ее от Биткоин. Конечно, наша первая версия Инфокоин будет иметь много недостатков, и поэтому мы будем проходить через несколько итераций Инфокоин, с каждой новой итерацией будем вводить только одну или две простые новые идеи. После нескольких таких итераций мы придём к полному протоколу Биткоин. Мы заново откроем Биткоин!

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

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

Первые шаги: подписан протокол о намерениях

Так как мы можем спроектировать цифровую валюту?

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

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

В первой версии Инфокоин давайте найдем способ, чтобы Алиса могла использовать строку битов в (очень примитивной и неполной) форме денег, но таким образом, чтоб у нее была хоть какая-то защита от подделки. Предположим, Алиса хочет дать другому человеку, назовем его Боб, один инфокоин. Чтобы сделать это, Алиса записывает сообщение «Я, Алиса, даю Бобу один инфокоин». Затем она подписывает в цифровом формате сообщение с использованием закрытого ключа шифрования (криптоключ), и заявляет о подписанной строке битов всему миру.

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

Такой прототип цифровой валюты вас не очень впечатлит! Но у него есть некоторые достоинства. Любой человек в мире (в том числе и Боб) может использовать открытый ключ Алисы для проверки, что Алиса на самом деле была человеком, который подписал сообщение «Я, Алиса, даю Бобу один инфокоин». Никто другой не смог бы создать эту строку битов, а значит Алиса не может повернуться и сказать: «Нет, я вовсе не имела в виду, что хочу отдать Бобу один инфокоин». Таким образом, протокол устанавливает, что Алиса действительно намерена дать Бобу один инфокоин. Такой же факт — никто не смог бы составить такое подписанное сообщение — дает Алисе некоторую ограниченную защиту от подделки. Конечно, после того, как Алиса опубликовала свое сообщение, существует возможность дублировать ее сообщение другими людьми, так что в некотором смысле подделка возможна. Но это не возможно с нуля. Эти два свойства — установление намерения со стороны Алисы и ограниченная защита от подделки – действительно примечательные особенности этого протокола.

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

Использование серийных номеров с целью обозначить монеты

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

Чего бы нам хотелось, так это найти способ сделать инфокоины уникальными. Они нуждаются в лейбле или серийном номере. Алиса подпишет сообщение «Я, Алиса, даю Бобу один инфокоин, с серийным номером 8740348». Потом, позже, Алиса может подписать сообщение «Я, Алиса, даю Бобу один инфокоин, с серийным номером 8770431», и Боб (и все остальные) будет знать, что другой инфокоин был передан.

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

Более конкретно, давайте предположим, что Алиса приходит в банк и говорит: «Я хочу снять (withdraw) один инфокоин с моего счета». Банк уменьшает ее баланс счета на один инфокоин, и присваивает ему новый, никогда ранее не используемый серийный номер, скажем 1234567. Затем, когда Алиса хочет передать ее инфокоин Бобу, она подписывает сообщение «Я, Алиса, даю Бобу один инфокоин с порядковым номером 1234567». Но Боб не просто принимает инфокоин. Вместо этого, он вступает в контакт с банком, и проверяет, что: (а) инфокоин с этим серийным номером принадлежит Алисе; и (б) Алиса еще не потратила этот инфокоин. Если условия верны, то Боб информирует банк о том, что он хочет принять этот инфокоин, и банк обновляет свои записи, чтобы отображать, что инфокоин с этим серийным номером в настоящее время в распоряжении Боба и больше не принадлежит Алисе.

Создавать банк совместными усилиями

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

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

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

У нас еще есть проблема «откуда берется серийный номер», но это, оказывается, довольно легко решить, и поэтому я отложу ее на потом, когда будем обсуждать Биткоин. Более сложной проблемой является то, что этот протокол позволяет Алисе обманывать через повторное расходование (double spending) ее инфокоинов. Она отправляет подписанное сообщение «Я, Алиса, даю Бобу один инфокоин с порядковым номером 1234567» Бобу, и сообщение «Я, Алиса, даю Чарли один инфокоин, с [тем же] серийный номером 1234567» Чарли. Оба, Боб и Чарли, используют свою копию цепочки блоков для проверки того, что инфокоин принадлежит Алисе. При условии, что они делают эту проверку в то-же самое время (до того, как они имели возможность услышать друг от друга), оба увидят, что да, цепочка блоков показывает принадлежность монеты Алисе. Итак, они оба принимают перевод и также вместе транслируют информацию о принятие сделки. Вот теперь мы имеем проблему. Как другие люди должны обновлять свои цепочки блоков? Может быть не так уж просто найти способ получения согласующей общей книги транзакций. И даже если все могут согласиться на постоянной основе обновлять свои цепочки блоков, есть еще одна проблема, что Боб или Чарли могут быть обманутыми.

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

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

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

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

Доказательство работы

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

Существует способ избежать этой проблемы, используя идею, известную как доказательство правильности работы (proof-of-work). Идея парадоксальна и включает в себя сочетание двух других идей: (1) (искусственно) сделать подтверждение транзакций затратными для пользователей сети в виде компьютерных вычислений; и (2), вознаградить их за помощь проверки транзакций. Награда используется для того, чтобы люди в сети пробовали помочь проверить сделки, несмотря на необходимость тратить вычислительную мощность на этот процесс. Польза от того, что проверка транзакций требует затрат, помогает избежать зависимости от количества идентичностей (пользователей сети), подконтрольных кому-либо. Таким образом, только общая вычислительная мощность может оказывать давление на проверку. Как мы увидим, используя некоторый умный дизайн, мы можем сделать так, чтобы мошеннику потребовались огромные вычислительные ресурсы для обмана, что делает это практически нецелесообразным.

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

Предположим, Алиса транслирует в сеть новость «Я, Алиса, даю Бобу один инфокоин с порядковым номером 1234567».

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

Я, Том, даю Сью один инфокоин, с серийным номером 1201174.

Я, Сидней, даю Синтии один инфокоин, с серийным номером 1295618.

Я, Алиса, даю Бобу один инфокоин с порядковым номером 1234567.

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

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

Что за задачу Давиду нужно решить? Чтобы объяснить это, давайте h будет фиксированной хэш-функцией известной всем в сети — она встроена в протокол. Биткоин использует известную хеш-функцию SHA-256, но любая криптографически безопасная хэш-функция подойдет. Давайте дадим очереди незавершенных сделок Дэвида лейбл L, чтоб нам удобней было ссылаться. Предположим, Дэвид добавляет число х (так называемый одноразовый номер) и вычисляет хэш-суму из комбинации. Например, если мы используем L = «Hello, world!» (Очевидно, что это не список операций, просто строка используется для иллюстрации) и одноразовый х = 0, то (выход получаем в шестнадцатеричном формате)

h(«Hello, world!0») = 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64

Задача, которую Дэвид должен решить — доказательство правильности работы — это найти простое число х так, что когда мы добавляем х к L и результат хеширования комбинации начинается с ряда нулей. Задачу можно сделать более или менее трудной, изменяя число нулей, необходимых для решения этой задачи. Относительно простым доказательством правильности работы задачи может потребовать только три или четыре нуля в начале хэша, в то время как более трудным доказательством правильности работы задача может потребовать гораздо большее количество нулей, скажем 15 последовательных нулей. В любом случае, выше попытка найти подходящий одноразовый номер с х = 0 не удалась, так как результат не начинается с нуля. Попробуем х = 1,. Тоже не сработает:

h(«Hello, world!1») = e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8

Мы можем продолжать искать разные значения для х =2,3,4….наконец, при значении x=4250 мы получаем:

h(«Hello, world!4250») = 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

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

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

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

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

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

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

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

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

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

Математика Биткойна: Теория |

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

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

С Биткойном эта простая схема не работает. Сами по себе биткойны не хранятся ни централизованно, ни локально — и поэтому нельзя сказать, кто отвечает за их доверенное хранение. Биткойны существуют лишь как записи в распределенной бухгалтерской книге, называемой блокчейном, копии которой распределены среди добровольной сети подключенных компьютеров. Быть «владельцем» биткойнов просто означает иметь возможность передать контроль над этими записями кому-то еще, зафиксировав факт этой передачи на блокчейне. Что дает вам эту способность? Эксклюзивный доступ к паре ключей ECDSA: секретному и публичному. Хорошо, но что конкретно это означает, и почему это вдруг гарантирует безопасность этих самых биткойнов?

Давайте-ка попробуем заглянуть под капот.

Что это за ECDSA такая?

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

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

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

Эллиптические кривые

В эллиптических кривых нет ничего сложного. Алгебраически каждая такая кривая может быть представлена как уравнение вида:

y² = x³ + ах + b

Для а = 0 и b = 7 (а это именно та версия, которую использует Биткойн) эта кривая выглядит так:

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

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

Для сложения точек, P + Q = R мы проводим через точки P и Q прямую, которая, по свойствам эллиптических кривых, пересекает кривую в некоторой третьей точке R. Затем мы находим точку на кривой, симметричную точке R относительно оси X. Именно эта точка R и будет считаться суммой P и Q. Это легче всего понять, глядя на следующую схему:

Это все хорошо, но как бы нам сложить точку саму с собой? Для этого определяется операция удвоения точки, P + P = R. При удвоении мы проводим прямую, касательную к данной эллиптической кривой в точке P, которая, согласно свойствам кривой, должна пересекать ее еще в одной точке R‘. Точка R, симметричная Rотносительно оси X, и будет считаться точкой удвоения P. На графике это выглядит следующим образом:

Эти две операции можно использовать, чтобы определить операцию скалярного умножения, R = a P, определяемую как добавление точки Р самой к себе a раз. Например:

R = 7P
R = P + (P + (P + (P + (P + (P + P)))))

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

R = 7P
R = P + 6P
R = P + 2 (3P)
R = P + 2 (Р + 2P)

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

Собственно, теперь вы знаете об эллиптических кривых все, что о них стоит знать.

Конечные поля

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

Самый простой способ проиллюстрировать это — расчет операции «остаток от целочисленного деления», или оператор модуло (MOD). Например, 9/7 дает 1 с остатком 2:

9 MOD 7 = 2

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

Скрещиваем кривые с полями

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

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

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

«Оборачивающаяся прямая», проходящая через эти две точки, в итоге уперлась в третью точку (47, 39), а симметричная ей «относительно оси X» будет (47, 28). Вот эта-то точка и станет результатом нашей операции.

Применим свою математическую мудрость к криптографии

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

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

Для всех этих параметров Биткойн использует очень-очень большие (ну просто офигенно невообразимо огромные) числа. Это важно. На самом деле, все практические применения 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 и является частью семейства стандартов, предлагаемых для использования в криптографии.

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

(Продолжение следует)

Источник: Coindesk

Aвтор: Eric Rykwalder

Поделиться ссылкой:

Related

Алгоритмы криптовалют: Equihash, Scrypt, CryptoNight, X11, Ethash, SHA-256. Обзор 2020

Алгоритмы криптовалют

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

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

Алгоритмы шифрования криптовалют

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

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

☝️

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

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

Среди востребованных можно назвать следующие: SHA-256, EtHash, Scrypt, X11, CryptoNight, EquiHash (Эквихеш), X13, Quark, NeoScrypt.

Ниже представлена сводная таблица алгоритмов криптовалют самых популярных монет:

Алгоритмы шифрования и криптовалютыАлгоритм шифрования биткоина SHA-256

SHA-256 — это безопасный алгоритм шифрования, который приобрел популярность после его использования в коде биткоина.  Аббревиатура SHA — это Secure Hash Algorithm, а 256 означает, что алгоритм криптовалюты генерирует 256-битный хеш, т.е. строку (дайджест) размером 256 бит. Хешрейт для криптовалют, работающих на основе SHA-256, вычисляется в единицах Gigahash в секунду (GH/s). На создание блока уходит от шести до десяти минут. 

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

Помимо криптовалют, SHA-256 также широко используется в некоторых других технологиях.

Например, работа протоколов безопасности, таких как TLS, SSL, PGP, SSH, построена на SHA-256.

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

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

Рекомендуем посмотреть познавательное видео, которое простыми словами расскажет, что такое алгоритм SHA-256 и как он работает: 


Алгоритм SHA-256
SHA-256 криптовалюты

На алгоритме SHA-256 работает Bitcoin, а также ряд других криптовалют, которые в основном являются форками биткоина. 

Криптовалюты алгоритма SHA-256: 

Анонимный алгоритм криптовалют Equihash

Equihash — это анонимный алгоритм криптовалют, увидивший свет в 2016 году. 

Первой криптовалютой, которая использовала Equihash в качестве базы, была Zcash. Создание блоков занимает 150 секунд, а хешрейт измеряется в Megahash в секунду (MH/s). В основе данного алгоритма лежит хеш-функция, которая построена на принципе «Парадокса дней рождений» — это математическая закономерность, которая используется для расчета вероятности. Правило гласит:

Если в комнате находится 23 человека, то вероятность того, что день рождения как минимум двух из них приходится на один и тот же день, составляет 50%. Исходя из этой закономерности, вероятность нахождения числа nonce в процессе майнинга равняется 2, вознесенное в степень N и разделенное на 2.

Этот алгоритм криптовалют был разработан Александром Бирюковым и Дмитрием Ховратовичом — учеными Университета Люксембурга, которые входят в исследовательскую группу CryptoLUX. В 2016 году разработка была представлена широкому круга.

☝️

Equihash требователен к объему оперативной памяти, а не к скорости обработки математических вычислений.

Это делает майнинг «айсикоустойчивым», а сеть более децентрализованной. Для майнинга криптовалют, работающих на Equihash, используются видеокарты, обладающие минимальным объемом памяти в 2 Гб. Самые лучшие результаты показало применение графических процессоров бренда NVidia.

Однако для майнинга Equihash также были разработаны устройства ASIC. Сегодня самыми популярными являются две модели: Antminer Z9 mini от Bitmain и A9 ZMaster от менее известной компании Innosilicon. В отличие от команды Monero, разработчики Zcash не предприняли никаких действий для защиты своей криптовалюты от централизации майнинга, а лишь высказали свое огорчение. 

Рекомендуем интересное видео о майнинге на алгоритме Equihash: 


Майнинг на алгоритме Equihash
Криптовалюты алгоритма Equihash

Самые популярные криптовалюты, работающие на алгоритме Equihash: 

Виталик Бутерин, создатель алгоритма Dagger

Ethash (Dagger Hashimoto) — это алгоритм криптовалют, разработанный специально для майнинга Ethereum. В основу работы данного алгоритма хеширования положены два разных алгоритма: Dagger, созданный Виталиком Бутериным, и Hashimoto (название состоит из слов hash, shift, and modulo), разработанный программистом Thaddeus Dryja. Хейшрейт алгоритма Ethash измеряется в Megahash в секунду (MH/s).

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

Но Dagger имеет некоторые уязвимости, поэтому он эффективен только в паре с Hashimoto.

Алгоритм Hashimoto работает с операциями ввода/вывода в особом режиме. В частности, он ограничивает скорость добычи, из-за того, что количество памяти для записывания и считывания информации не является бесконечным.

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

Для майнинга монет, работающих на основе Ethash, используется вычислительная мощность GPU-процессоров (видеокарт). Наибольшую эффективность показали видеокарты бренда AMD. Однако и применение видеокарт Nvidia 10-й серии приносят неплохой профит майнерам.

☝️

Основное требование — это высокий показатель оперативной памяти, который постоянно увеличивается из-за роста сложности сети.

Как мы говорили выше, устройства ASIC не подходили для добычи монет, работающих на основе Ethash, однако все изменилось летом 2018 года, когда крупнейший китайский производитель майнеров Bitmain выпустил в продажу модель Innosilicon A10 ETHMaster, т.е. ASIC для Ethereum.

Смотрите интересное видео об особенностях алгоритма шифрования Ethash:


Алгоритма Ethash
Криптовалюты работающие на  Ethash

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

Ethereum Classic (ETC). 

Использование Scrypt в блокчейне криптовалют

Scrypt — это алгоритм майнинга криптовалют, который раньше был интересен многим одиночным майнерам в виду его устойчивости к так называемой «аппаратной атаке».  Скорость создания блоков в блокчейне, работающем на базе Scrypt, составляет около 30 секунд. Хешрейт как и у Ethash измеряется в Megahash в секунду (MH/s). Scrypt, прежде всего, стал популярным благодаря его применению в криптовалюте Litecoin.

История создания этого алгоритма началась с того, что вскоре стало ясно, что майнинг биткоина очень легко монополизировать, из-за того что простота функции SHA-256 позволяет автоматизировать процесс майнинга.

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

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

В ответ на это криптоэнтузиасты создали усовершенствованный алгоритм под названием Scrypt-N, который впервые был применен в монете Vertcoin. Отличается он тем, что требования к оперативной памяти постоянно растут.

Из видео ниже вы узнаете, как возник алгоритм Scrypt: 


Алгоритм Scrypt

Алгоритм майнинга Scrypt положен в основу работы следующих криптовалют: 

Алгоритм майнинга X11

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

Данный алгоритм шифрования был разработан создателем одной из топовых криптовалют (Dash, в прошлом Darkcoin) — Эваном Даффилдом. Все началось с того, что он хотел улучшить анонимность и взаимозаменяемость биткоина, однако сообщество не одобрило его идею. Тогда Эвану не оставалось ничего, кроме как создать свою собственную криптовалюту. По словам Даффилда на разработку ушли всего лишь одни выходные.

Создатель Dash Эван Даффилд 

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

Проведенные эксперименты показали, что добыча Dash на видеокартах потребляет на 30-50% меньше электроэнергии, чем майнинг Bitcoin на ASIC-устройствах.

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

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

На данный момент X11 — не единственный в своем роде, который использует больше одной хеш-функции.

☝️

По его примеру были созданы другие алгоритмы, которые также построены на интеграции нескольких хеш-функций: X12, X13, X14, X14, X15, X16 и даже X17.

Однако X11 до сих пор является самым популярным и самым используемым.

Криптовалюта Dash

На алгоритме криптовалют X11 созданы следующие монеты:

Майнинг на CryptoNight

CryptoNight — это алгоритм для анонимных криптовалют, в основе которого лежат такие технологии как кольцевые подписи и одноразовые адреса.   Он стал, прежде всего, известен благодаря криптовалюте Monero (XMR). Генерация блока занимает около 60 секунд. 

Применение CryptoNight позволяет создать конфиденциальную, защищенную и взаимозаменяемую цифровую валюту. Эти свойства достигаются благодаря применению протокола CryptoNote, который был создан в 2012 году блокчейн-разработчиком (или группой разработчиков) под псевдонимом Николас ван Саберхаген. До сих пор неизвестно, кто скрывается за этим именем.

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

Из-за того, что транзакции являются абсолютно анонимными, все монеты, построенной на алгоритме криптовалют CryptoNight, являются взаимозаменяемыми.

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

Обозреватель блокчейна

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

Секрет в том, что CryptoNight требовательный к оперативной памяти (для правильной работы нужно минимум 2 Гб), а не к скорости проведения математических вычислений, в чем сильны ASIC-майнеры.

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

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

☝️

Для эффективного майнинга криптовалют, работающих на основе CryptoNight, стоит использовать центральные процессоры Intel Core поколений i5 и i7.

Также хорошие результаты показывает применение оборудования бренда Radeon HD (новые модели). Кроме того, для майнинга криптовалют на основе CryptoNight можно использовать ASIC-майнеры.

☝️

На данный момент для этого подходят такие модели: Antminer X3, Baikal Giant-N, PinIdea RR-200, DragonMint X1/X2.

Однако стоит отметить, что Monero каждый год вносит изменения в протокол, которые помогают защитить добычу монеты от использования ASIC. Но другие монеты, работающие на CryptoNight, например, Bytecoin, Aeon, без проблем добываются при помощи ASIC.

Более подробно узнать о принципе работы анонимных монет вы сможете, посмотрев видео ниже:


Анонимные криптовалюты
Криптовалюта Monero

На анонимном алгоритме CryptoNight созданы следующие криптовалюты:

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

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

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

Читайте также:

Программы для майнинга: как выбрать лучший софт

Пул для майнинга — самые прибыльные пулы

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

Как работает биткойн — Bitcoin Wiki

Эта статья требует очистки, чтобы соответствовать стандартам качества Bitcoin Wiki.

На этой странице объясняется базовая структура функциональности Биткойна.

Криптография

Есть несколько криптографических технологий, которые составляют суть Биткойна.

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

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

Чтобы затруднить создание биткойнов, используется функция стоимости Hashcash.Hashcash — это первая безопасная, эффективно проверяемая функция затрат или функция доказательства работы. Прелесть хэш-кеша в том, что он не интерактивен и не имеет секретных ключей, которыми должен управлять центральный сервер или полагающаяся сторона; В результате hashcash является полностью распределенным и бесконечно масштабируемым. (Hashcash использует криптографию с симметричным ключом, а именно одностороннюю хэш-функцию — обычно SHA1 или SHA-256).

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

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

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

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

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

Это приводит к активности, известной как «добыча биткойнов» — использование вычислительной мощности для попытки создания действительного блока и, как следствие, «добычи» некоторых биткойнов. Сетевые правила таковы, что сложность регулируется таким образом, чтобы производство блоков составляло примерно 1 блок за 10 минут. Таким образом, чем больше майнеров участвует в майнинге, тем сложнее становится каждому отдельному майнеру создать блок. Чем выше общая сложность, тем сложнее злоумышленнику перезаписать верхушку цепочки блоков своими собственными блоками (что позволяет ему дважды потратить свои монеты.Смотрите страницу слабых мест для более подробной информации).

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

Двойные расходы

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

Что такое алгоритм консенсуса цепочки блоков?

Введение

Алгоритм консенсуса — это механизм, который позволяет пользователям или машинам координировать свои действия в распределенной среде. Он должен гарантировать, что все агенты в системе могут прийти к соглашению о едином источнике истины, даже если некоторые агенты терпят неудачу. Другими словами, система должна быть отказоустойчивой, (см. Также: Visantine Fault Tolerance Explained ).

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

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

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

Алгоритмы консенсуса и криптовалюта

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

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

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

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

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

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

Типы алгоритмов консенсуса

Proof of Work (PoW)

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

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

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

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

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

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

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

Proof of Stake (PoS)

Proof of Stake (PoS) был предложен на заре Биткойн в качестве альтернативы Proof of Work. В системе PoS нет концепции майнеров, специализированного оборудования или огромного потребления энергии. Все, что вам нужно, это обычный компьютер.

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

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

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

Как правило, в качестве награды для валидаторов не используются только что созданные монеты.Таким образом, собственная валюта блокчейна должна быть выпущена другим способом. Это можно сделать либо через начальное распространение (например, ICO или IEO), либо запустив протокол с помощью PoW перед последующим переходом на PoS.

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

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

Скоро мы увидим масштабное тестирование PoS — Casper будет реализован как часть серии обновлений сети Ethereum (вместе известной как Ethereum 2.0).

Другие консенсусные алгоритмы

Proof of Work и Proof of Stake — наиболее обсуждаемые консенсусные алгоритмы. Но есть множество других, каждый со своими достоинствами и недостатками.Ознакомьтесь со следующими статьями:

Заключительные мысли

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

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

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

Алгоритм майнинга и майнинг CPU — все о майнинге биткойнов: дорога к богатству или золото дураков?

Алгоритм майнинга и майнинг ЦП

Алгоритм майнинга

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

Одна из самых сложных проблем в информатике — это обращение безопасного хэша (поиск входного текста для заданного выхода, цифровой подписи).Позвольте мне объяснить эту проблему простым языком. Предположим, богатая, но неизлечимо больная Алиса написала завещание и сохранила его на своем компьютере. Зная, что компьютер может быть взломан, а завещание может быть изменено, Алиса подписала свое завещание цифровой подписью с помощью безопасного алгоритма хеширования SHA-256. Затем она отправила цифровую подпись всем своим друзьям, чтобы они могли проверить действительность документа. Боб хочет взломать компьютер и изменить завещание Алисы, чтобы он стал единственным бенефициаром, но он сталкивается с проблемой: ему необходимо изменить завещание таким образом, чтобы широко распространенная подпись SHA-256 оставалась прежней.Иначе все поймут, что завещание сфальсифицировано. Это сложная в вычислительном отношении проблема обращения или перебора SHA-256 или поиска входа, который соответствует предопределенному выходу. Сатоши решил, что для того, чтобы найти новый блок, люди во всем мире должны соревноваться в обращении SHA-256, превращая создание блоков в глобальную лотерею.

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

Биткойн-майнинг на CPU

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

Соло-майнинг против майнинга на майнинг-пулах

Соло-майнер самостоятельно участвует в лотерее по поиску блоков и большую часть времени остается пустым.В редких случаях, когда он находит блокировку, он мгновенно получает 25 биткойнов (плюс небольшой бонус за транзакцию). Но одиночный майнинг имеет смысл только для массовых майнинговых операций, скажем, со скоростью 50 GH / s и выше. Вместо этого большинство майнеров предпочитают участвовать в одном из десятков майнинговых пулов (например, deepbit.net или eligius.st) и, таким образом, получать стабильный доход в биткойнах. Большинство, но не все, пулы для майнинга берут небольшой процент дохода от майнинга на оплату хостинга серверов и защиты от DDoS-атак.

Что такое биткойн? [Наиболее полное пошаговое руководство] Обновлено!

Что такое биткойн и как он работает?

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

Обновлено апрель 2019 г.

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

Что такое биткойн и как он работает?

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

Биткойн продвинулся далеко за относительно короткое время. Во всем мире компании, от REEDS Jewelers, крупной ювелирной сети в США, до частной больницы в Варшаве, Польша, принимают ее валюту. Так же поступают и миллиардные компании, такие как Dell, Expedia, PayPal и Microsoft. Веб-сайты продвигают его, публикации, такие как Bitcoin Magazine, публикуют его новости и ценовые акции, форумы обсуждают криптовалюту и торгуют ее монетами.У него есть интерфейс прикладного программирования (API), индекс цен и обменный курс.

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

Ключевые показатели:

Ключевые особенности

  • 31 октября 2008 г .: анонимный Сатоши Накамото опубликовал технический документ о биткойнах.
  • 3 января 2009 г .: Генезис-блок, или блок номер один, добыт.
  • 12 января 2009 г .: первая биткойн-транзакция.
  • 16 декабря 2009 г .: Выпущена версия 0.2.
  • 6 ноября 2010 г .: рыночная капитализация превышает 1 миллион долларов США.
  • Октябрь 2011 г .: Биткойн впервые разветвляется для создания Litecoin.
  • 3 июня 2012 г .: Блок 181919 создан с 1322 транзакциями. Это самый крупный блок на сегодняшний день.
  • Июнь 2012 г .: запуск Coinbase.
  • 27 сентября 2012 г .: Создание Bitcoin Foundation.
  • 4 декабря 2013 г .: Цена достигает 1079 долларов.
  • 7 декабря 2013 г .: Цена упала примерно до 760 долларов.
  • 7 февраля 2014 г .: Mt. Gox взламывают. Это был один из худших взломов, когда-либо приводивших к падению цены.
  • Июнь 2015 г .: Создание BitLicense. Это одно из самых важных правил криптовалюты.
  • 1 августа 2017: Биткойн снова разветвляется, чтобы сформировать Bitcoin Cash.
  • 23 августа 2017 г .: SegWit активируется.
  • Сентябрь 2017 г .: Китай запрещает торговлю BTC.
  • Декабрь 2017 г .: Первые фьючерсные контракты на биткойны были запущены CBOE Global Markets (CBOE) и Чикагской товарной биржей (CME).
  • декабрь 2017 г .: Цена биткойнов достигла рекордного уровня.
  • , январь 2018 г .: Цена упала в результате обвала рынка криптовалют в 2018 г.
  • Сентябрь 2018 г .: Стоимость криптовалюты обрушивается на 80% по сравнению с пиком в январе 2018 г., в результате чего медвежий рост криптовалюты в 2018 г. хуже, чем 78% -ный крах пузыря доткомов.
  • 15 ноября 2018: Стоимость рыночной капитализации Биткойн упала ниже 100 миллиардов долларов впервые с октября 2017 года.
  • 31 октября 2018: 10-летие Биткойн
  • 11 мая 2020 г .: третье сокращение вдвое биткойнов

Понимание Биткойна — Что такое Биткойн в деталях?

Понимание Биткойна — Что такое Биткойн в деталях?

Проще говоря, Биткойн — это либо виртуальная валюта, либо ссылка на технологию.Вы можете совершать транзакции чеком, переводом или наличными. Вы также можете использовать биткойн (или BTC), когда вы отсылаете покупателя к своей подписи, которая представляет собой длинную строку кода безопасности, зашифрованную 16 различными символами. Покупатель декодирует код на своем смартфоне, чтобы получить вашу криптовалюту. Перефразируй; Криптовалюта — это обмен цифровой информацией, позволяющий покупать или продавать товары и услуги. Транзакция приобретает свою безопасность и доверие, выполняясь в одноранговой компьютерной сети, которая похожа на Skype или BitTorrent, систему обмена файлами.Сатоши Накамото использовал технологию блокчейна, чтобы позволить биткойну получить децентрализацию, полную прозрачность и неизменность.

Биткойн Свойства транзакции:

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

2.) Псевдоним: Ни транзакции, ни учетные записи не связаны с реальными идентификаторами. Вы получаете биткойны на так называемые адреса, которые представляют собой случайные цепочки из 30 символов. Хотя обычно можно проанализировать поток транзакций, это не всегда возможно c

Что такое технология блокчейн? Пошаговое руководство для начинающих

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

Является ли технология Blockchain новым Интернетом?

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

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

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

Итак, что же в нем такого особенного и почему мы говорим, что он способен разрушить отрасль?

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

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

Блокчейн несет без стоимости транзакции .

(Инфраструктура стоит , да , но без транзакционных затрат.) Блокчейн — это простой, но гениальный способ передачи информации от A к B полностью автоматизированным и безопасным способом. Одна сторона транзакции инициирует процесс, создав блок. Этот блок проверяется тысячами, возможно, миллионами компьютеров, распределенных по сети.Проверенный блок добавляется в цепочку, которая хранится в сети, создавая не просто уникальную запись, а уникальную запись с уникальной историей. Фальсификация одной записи означала бы фальсификацию всей цепочки в миллионах раз. Это практически невозможно. Биткойн использует эту модель для денежных транзакций, но ее можно использовать и многими другими способами.

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

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

Вот еще один пример. Центр гиг-экономики Fivver взимает 0,5 доллара за транзакцию между физическими лицами, покупающими и продающими услуги. При использовании блокчейна транзакция бесплатна. Ergo, Fivver перестанет существовать.То же самое и с аукционными домами и с любыми другими субъектами хозяйствования, основанными на принципе маркет-мейкера.

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

Поскольку транзакции блокчейна являются бесплатными , вы можете взимать мизерные суммы, скажем, 1/100 цента за просмотр видео или чтение статьи. Зачем мне платить The Economist или National Geographic за годовую подписку, если я могу платить за статью в Facebook или в своем любимом приложении для чата? Опять же, помните, что транзакции блокчейна не несут транзакционных издержек. Вы можете взимать плату за что угодно в любой сумме, не беспокоясь о том, что третьи стороны урежут вашу прибыль.

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

Идет дальше. Электронные книги могут быть оснащены кодом блокчейна. Вместо того, чтобы Amazon получал долю, а компания, выпускающая кредитные карты, зарабатывала деньги на продаже, книги распространялись бы в закодированной форме, а успешная транзакция блокчейна переводила бы деньги автору и разблокировала книгу.Переводите ВСЕ деньги автору, а не только мизерные гонорары. Вы можете сделать это на веб-сайте с обзором книг, например Goodreads, или на своем собственном веб-сайте. В этом случае торговая площадка Amazon не нужна. Успешные итерации могут даже включать обзоры и другую стороннюю информацию о книге.

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

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

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

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

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


«Традиционный способ совместного использования документов в сотрудничестве — это отправить документ Microsoft Word другому получателю и попросить его внести в него изменения.Проблема с этим сценарием заключается в том, что вам нужно дождаться получения обратной копии, прежде чем вы сможете увидеть или внести другие изменения, потому что вы не можете редактировать его, пока другой человек не закончит с ним. Вот как работают базы данных сегодня. Два владельца не могут использовать одну и ту же запись одновременно. Так банки поддерживают денежные остатки и переводы; они на короткое время блокируют доступ (или уменьшают баланс) во время переноса, затем обновляют другую сторону, затем повторно открывают доступ (или обновляют снова).В Google Docs (или Google Sheets) обе стороны имеют доступ к одному и тому же документу одновременно, и одна версия этого документа всегда видна им обоим. Это похоже на общую книгу, но это общий документ. Распределенная часть вступает в игру, когда в совместном использовании участвует несколько человек.

Представьте себе количество юридических документов, которые следует использовать таким образом. Вместо того, чтобы передавать их друг другу, терять версии и не синхронизироваться с другой версией, почему нельзя использовать * все * бизнес-документы, а не передавать туда и обратно? Так много типов юридических контрактов было бы идеальным для такого рабочего процесса.Для обмена документами не нужен блокчейн, но аналогия с общими документами очень эффективна ». — Уильям Могаяр, советник по венчурным компаниям, четырехкратный предприниматель, маркетолог, стратег и специалист по блокчейнам

Причина, по которой цепочка блоков вызывает такое восхищение, заключается в том, что:

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

Три столпа технологии блокчейн

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

  • Децентрализация
  • Прозрачность
  • Неизменность

Столб № 1: децентрализация

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

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

Традиционная модель клиент-сервер является прекрасным примером этого:

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

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

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

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

В децентрализованной системе информация не хранится одним объектом. Фактически, все в сети владеют информацией.

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

Столб № 2: Прозрачность

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

Что ж… личность человека скрыта с помощью сложной криптографии и представлена ​​только его публичным адресом. Итак, если вам нужно было просмотреть историю транзакций человека, вы не увидите «Боб отправил 1 BTC», вместо этого вы увидите «1MF1bhsFLkBzzz9vpFYEmvwT2TbyCt7NZJ отправил 1 BTC».

Следующий снимок транзакций Ethereum покажет вам, что такое

Что такое цепочка блоков? Полный биткойн-глоссарий

21

Символическое число, так как может существовать только 21 миллион биткойнов. Неизвестно, почему Сатоши Накамото выбрал именно это число.

100x

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

51% атака

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

Адрес

Чтобы отправить кому-нибудь биткойны, вам нужен биткойн-адрес. Адрес технически представляет собой хэш SHA-256 открытого ключа или скрипта, предварительно фиксированный с помощью 1, 3 или bc1.Он может быть закодирован с помощью base58 или bech42.

Бесплатная раздача

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

Альткойн

Любая криптовалюта или токен, кроме биткойнов. Обычно используется уничижительно. Синоним shitcoin.

Также прочтите: 3 криптовалюты, которые заботятся о вашей конфиденциальности

ASIC

Интегральная схема для конкретного приложения.Специализированные чипы, оптимизированные для выполнения хэш-функции SHA-256, используемой в Bitcoin Mining.

Атомарный своп

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

Base58

Используется, чтобы сделать большие числа короче и проще для анализа, чем двоичные или обычно используемые base10 (с использованием знакомой системы чисел 0–9).Base58 — это схема кодирования, используемая для адресов P2SH и P2PKH Биткойн, начиная с 1 или 3. Она включает числа 1-9, все символы верхнего регистра, кроме ввода и вывода, и все символы нижнего регистра, кроме l (поскольку они могут быть ошибочно приняты за похожие персонажи). См. Также: Bech42.

Дозирование

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

Медведь

Человек, пессимистично настроенный по отношению к биткойнам.

Bearwhale

Пессимистичный трейдер, который продает большое количество монет.

Bech42

Bech42 — это новая схема кодирования, которая делает адреса более безопасными, особенно в контексте схем с множественной подписью. Эти адреса начинаются с «bc1» и обычно длиннее, чем адреса base58.

BIP

Bitcoin Improvement Proposal — это общепринятая процедура для внесения изменений и дополнений в биткойн-код.Не все BIP имеют отношение к Консенсусу Накамото — некоторые просто регулируют процедуры, передовой опыт или стандарты.

Биткойн Банкомат

Биткойн-банкомат продает биткойны в обмен на бумажную валюту. Некоторые автоматы также могут выдавать фиатные деньги.

Биткойн Кэш

В августе 2017 года группа биткойн-энтузиастов изменила консенсусные правила Биткойна, особенно те, которые регулируют размер блока. Когда к ним присоединилось всего несколько майнеров и участников, сеть окончательно разветвилась.Все, кто держал Биткойн до форка, получили равное количество Bitcoin Cash (известное как airdrop), которым можно торговать на других биржах.

Биткойн Ядро

Bitcoin Core — самый популярный клиент и узел Биткойн.

Биткойн

Bitcoind, сокращение от Bitcoin Daemon, представляет собой версию Bitcoin Core для командной строки.

Биткойн-qt

Bitcoin-qt (произносится мило) — это графический интерфейс самого популярного клиента Биткойн, код Биткойн.Назван в честь инструментария виджетов QT, на котором он построен.

Биткойн

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

Блок

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

Блочная субсидия

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

Первые 210 000 блоков биткойнов содержали вознаграждение в размере 50 BTC, следующие 210 000 блоков — 25 BTC, в настоящее время 12,5 BTC, а в 2020 году будет только 6,25 BTC на блок. 99% всех монет будут добыты до 2037 года, все, кроме 100 биткойнов, будут добыты до 2081 года, и все, кроме одного биткойна, к 2109 году.Это будет продолжаться до тех пор, пока субсидия на блоки не уменьшится вдвое в 34 раза, примерно в 2145 году. С тех пор комиссионные за транзакции будут единственным стимулом для добычи биткойнов. См. Также: Уменьшение вдвое.

Блокчейн

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

Также читайте: Как сделать биткойн анонимным

Блокэксплорер

См .: Explorer

Размер блока

Допустимый размер блока в цепочке блоков Биткойн.С 2010 года ограничение составляет 1 МБ. Софтфорк SegWit позволяет хранить данные подписи вне блока, что делает измерение размера блока устаревшим. Вместо этого используется вес блока. Эффективный максимальный размер блока теперь почти в два или даже в четыре раза превышает 1 МБ.

Блочное пространство

Блоки

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

Трансляция

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

BTC

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

BTM

Альтернативное название биткойн-банкомата.

Бык

Человек с оптимизмом смотрит на Биткойн.

Вместимость

Емкость сети Биткойн, обычно измеряемая в транзакциях в секунду или TPS, зависит от типов транзакций. Как правило, это от 3 до 5 транзакций в секунду в зависимости от того, какие типы транзакций, как мы предполагаем, используются (см. SegWit и пакетирование).

Цепной разрез

См .: Вилка

Изменить

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

Гражданская война

Гражданская война Биткойн в 2017 году в основном вращалась вокруг вопроса о размере блока. Это закончилось созданием Bitcoin Cash и активацией SegWit в сети Биткойн.

Клиент

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

Coinbase

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

Coinjoin

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

Холодильник

биткойнов, хранящихся на носителе (например, компьютере, USB-накопителе или листе бумаги), который никогда не был подключен к Интернету.

Цветная монета

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

Подтверждение

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

Криптовалюта

Деньги, защищенные криптографией на публичном блокчейне.

Криптография

Криптография или криптология — это метод сокрытия информации, защиты и аутентификации сообщений.

Киберпанк

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

Cypherpunk

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

Темный кошелек

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

дней уничтожено

Измерение того, когда монеты, которые долгое время хранились, внезапно расходуются. Сто биткойнов, потраченная после пребывания в кошельке в течение одного года, считается за 36 500 (365 * 100) дней уничтожения.Внезапный всплеск может указывать на то, что медвежий кит продает свои монеты.

Сложность

Блоки

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

Двойная трата

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

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

ECDSA

Алгоритм цифровой подписи с эллиптической кривой

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

Escrow

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

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

Обмен

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

Также читайте: Хотите торговать криптовалютой? Вот 5 лучших бирж, чтобы попробовать свои силы

Explorer

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

Комиссия

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

Комиссия рынка

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

Fiat

Фиатные деньги — это валюта, выпущенная правительством.

Наводнение

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

Вилка

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

Блок Генезиса

Все блокчейны имеют Genesis Block, который является первым блоком в цепочке блоков. В блокчейне Биткойн блок Genesis, как известно, содержит сообщение «The Times | 03.01.2009 | Канцлер на грани второй помощи банкам ». Биткойны в Genesis Block нельзя потратить.

Деление вдвое

Каждые 210 000 блоков вознаграждение за блок уменьшается вдвое. Начиная с 50 BTC за блок в 2009 году, сейчас он составляет всего 6.25 BTC после трех халвингов. В конце концов, награда за блок упадет до нуля после 33 халвингов. Это событие, также называемое «делением вдвое» (деление пополам и происходящее), обычно отмечается, подобно Новому году в биткойнах.

Хардфорк

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

Аппаратный кошелек

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

хэш

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

Хеш-функция

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

Скорость хеширования

Количество хэшей, которые может выполнить биткойн-майнер.

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

Высота

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

HODL

Ошибка в написании слова «hold». Представляет собой дух экономии и долгосрочного планирования, а не просто трату денег. Многие биткойнеры, которых часто критикуют за «накопительный» менталитет, предпочитают культуру сбережений и долгосрочного планирования. По какой-то причине HODL часто рассматривается в прессе как аббревиатура от слова «Hold On for Dear Life».

Горячий кошелек

Кошелек, работающий на компьютере или телефоне, подключенном к Интернету.См. Также: -> Холодный кошелек.

Вход и выход

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

Главная книга

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

Сеть Lightning

The Lightning Network — это сеть, которая находится «на вершине» Биткойна. Участники могут подключиться к сети, внося биткойны в специализированные смарт-контракты. Затем они могут совершать бесконечные транзакции друг с другом с очень низкой комиссией, не ограничиваясь ограничениями мощности Биткойна.

Также прочтите: Первые шаги в Lightning Network

Время блокировки

Особенностью смарт-контрактов, используемых в сети Lightning, является концепция Check-Locktime-Verify или CLTV.Он создает транзакцию, которую можно погасить только по прошествии определенного времени.

Основная сеть

Название действующей сети Биткойн, в отличие от Testnet.

Ковкость

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

Маржинальное требование

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

МАЧТА

Меркелизированные абстрактные синтаксические деревья

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

Максималист

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

Мемпул

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

Объединенный майнинг

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

Корень Merkle

Единственный хэш внизу (или вверху) дерева Меркла называется корнем Меркла. Никакое значение в дереве Меркла нельзя изменить без изменения этого корня. Этот корень включен в заголовок блока.

Дерево Меркла

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

Микроплатежи

Любой необычно небольшой платеж считается микроплатежом. Оплата кофе или проезда в автобусе может рассматриваться как микроплатеж. Сеть Lightning позволяет осуществлять платежи ниже 1 сатоши.

Шахтер

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

Мнемоническая фраза

См .: Исходная фраза

Луна

Куда идет биткойн? На Луну!

MtGox

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

Мультиподпись

Сокращенно от multisignature, multisig — это тип адреса, который позволяет нескольким сторонам коллективно контролировать средства. Мультиподпись 2-из-2 имеет две стороны, обе из которых необходимы для подписания каждой транзакции. Обычно он используется в сети Lightning. Адреса с мультиподписью 2 из 3 обычно используются для холодного хранения или условного депонирования.

Консенсус Накамото

Основное нововведение Биткойн заключается в применении доказательства работы.Назван в честь изобретателя (-ов) Биткойна Сатоши Накамото.

Namecoin

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

Сеть

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

Нокоинер

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

Узел

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

Также прочтите: Что такое биткойн-узел и кому он нужен?

Также прочтите: Как настроить домашний сервер и использовать его в качестве узла Биткойн

Одноразовый номер

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

Нотариальная служба

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

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

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

Код ОП

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

OP_Return

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

Сирота

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

P2P

См .: Одноранговая сеть

P2Pool

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

P2SH

Pay to Script Hash.Вместо того, чтобы отправлять биткойн на открытый ключ, его также можно отправить в сценарий. Чтобы выкупить эту монету, владелец должен раскрыть сценарий, и сценарий должен успешно выполняться. С помощью этой техники можно создавать смарт-контракты в биткойнах. Адреса P2SH начинаются с цифры 3, в отличие от 1 для адресов P2PKH.

П2ПХ

Pay to Pubkey Hash — это давно установившийся стандарт биткойн-транзакций, при котором оплата производится на хэш открытого ключа. Для расходования средств требуется действующая подпись ECDSA, в отличие от P2SH, который позволяет заключать более сложные смарт-контракты.Адреса P2pKH обычно начинаются с 1.

Бумажный кошелек

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

Одноранговая

«Биткойн: одноранговая электронная денежная система» — это название официального документа Биткойн. Одноранговая связь означает отсутствие централизованной архитектуры и что любой может присоединиться к сети и напрямую общаться с другими участниками.Другие популярные системы P2P включают BitTorrent и I2P.

В ожидании

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

День пиццы

22 мая 2010 года разработчик Ласло Ханец купил две пиццы на общую сумму 10 000 BTC. Это была первая известная транзакция, в которой биткойн использовался для покупки физического товара. Любимая пицца Сатоши — ананас и ветчина, как указано в комментарии, хотя многие надеются, что он просто пошутил.

Торговая точка

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

Бассейн

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

PoS

См .: доказательство ставки, кусок дерьма или точка продажи

PoW

См .: Подтверждение работы

PPS

Pay Per Share, распространенный метод для майнинговых пулов, позволяющий определить, сколько получает каждый майнер. PPS означает, что майнеру платят фиксированную сумму за хэш независимо от того, находит пул блок или нет. Если пулу повезет, он сохранит прибыль, но он также может потерпеть неудачу и обанкротиться.

Закрытый ключ

Закрытый ключ Биткойна — это случайное число длиной 256 бит.Открытый ключ получается из закрытого ключа с использованием алгоритма ECDSA. Этот открытый ключ затем дважды хешируется с использованием SHA-256, кодируется с помощью base58 и имеет префикс 1 для получения его адреса. Другие форматы адресов, такие как bech42 и P2SH, также имеют частный и открытый ключи, но адреса кодируются по-другому.

Доказательство ожога

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

Подтверждение ставки

Доказательство работы

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

Доказательство работы

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

Протокол

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

Открытый ключ

Открытый ключ является производным от закрытого ключа. Открытый ключ — это точка на кривой ECDSA. Его координаты x и y имеют длину 256 бит, что делает открытый ключ длиной 512 бит.

RBF

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

Сатоши Накамото

Создатель или создатели Биткойна использовали псевдоним Сатоши Накамото для публикации Белой книги Биткойна и общения с соавторами. Последний раз о Сатоши слышали в декабре 2010 года.

Также читайте: Крейг Райт стоит за Биткойном?

Подписи Шнорра

Подписи

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

Язык сценариев

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

Второй слой

Сети

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

Исходная фраза

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

SegWit

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

SHA-2

SHA-2 — это семейство функций хеширования, разработанное Агентством национальной безопасности США (NSA). SHA-256, SHA-384 и SHA-512 являются частью этого семейства.

SHA-256

SHA-256 часто применяется в биткойнах, например, при создании адресов и майнинге. Это часть семейства SHA-2. Число 256 относится к фиксированной длине его вывода: 256 бит.

Шиткойн

См .: Altcoin

Подпись

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

Перстень

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

Шелковый путь

В период с 2011 по 2013 год Шелковый путь был популярной торговой площадкой в ​​даркнете для торговли наркотиками и контрабанды. Это, возможно, помогло Биткойну достичь популярности и продемонстрировало полезность и устойчивость сети. Многие обстоятельства, связанные с созданием Великого шелкового пути и его окончательным уничтожением властями, до сих пор неизвестны.Росс Ульбрихт в настоящее время отбывает пожизненное заключение за торговлю наркотиками и отмывание денег за предполагаемое участие в рынке Шелкового пути.

Также читайте: Deep Web vs. Dark Web: это не одно и то же

Simnet

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

Смарт-контракт

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

Софтфорк

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

Индивидуальная добыча

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

Спам-атака

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

Отработано

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

SPV

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

Кошелек SPV

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

Скрытые платежи

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

Корень стержня

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

Цель

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

Тестовая сеть

Тестовая сеть Биткойн является копией кода и сети Биткойн. Монеты тестовой сети не имеют ценности и используются для тестирования приложений. Что касается Testnet, Биткойн часто называют Mainnet.

Тикер

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

Отметка времени

Документ может иметь отметку времени, встроив его хэш в блокчейн Биткойн с помощью OP_Return. См. Также: Нотариальные услуги.

жетон

Маркер — это объект, представляющий право. Согласно этому определению, Биткойн можно рассматривать как токен (право совершать транзакции в цепочке блоков Биткойн). Чаще всего токены предназначены для представления документов, контрактов или физических объектов. См. Также: a href = ”# color-Coins”> Цветные монеты.

TPS

транзакций в секунду. См. Также: Емкость.

транзакция

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

Идентификатор транзакции

У каждой транзакции есть идентификатор. В то время как устаревшие транзакции допускают ошибку, которая делает этот идентификатор гибким, транзакции SegWit имеют детерминированный идентификатор транзакции.Это позволяет использовать сети второго уровня, такие как Lightning Network.

Полный Тьюринг

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

Двусторонний банкомат

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

TXID

См .: Идентификатор транзакции

Неизрасходованный выпуск

См .: Израсходовано

Уютный адрес

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

Вбайт

Измерение аналогично весу. Один Vbyte — это 4 единицы веса.

Кошелек

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

Также читайте: 3 лучших биткойн-кошелька для Android

Вес

Для транзакций SegWit менее значимо вычислять их размер, поскольку они разделены между транзакцией и подписью.Единица веса представляет 1/4 000 000 максимального размера блока. Альтернативная форма — vbytes.

Кит

Кто-то торгует большим количеством биткойнов. См. Также: Медвежий кит.

Белая книга

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

XBT

Альтернативный тикер для биткойнов более часто используемому BTC. Он предназначен для соответствия стандарту ISO 4217, который регулирует, что негосударственные валюты должны начинаться с символа X.