ℹ в новой части эссе

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

Часть 1. Что не так с криптовалютным бумом

Часть 2. Исторический контекст

Часть 3. Как организованы ключевые игроки

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

Хакеры начинают разработку свободного ПО

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

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

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

Ответа Накамото на этот вопрос можно разбить на три части:

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

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

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

Работа, которая привела к Биткойну

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

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

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

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

Интересная статья:  Дорогие подписчики нашего

На шифропанка Вэя Дая криптоанархия повлияла непосредственно, когда ему пришла в голову идея децентрализованной валюты B-money в 1998 году. Я очарован криптоанархией Тима Мэя, писал он во введении к своему эссе:

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

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

Предшествующий уровень техники

В начале 2000-х передовые технологии сделали идею Дая о B-money осуществимой. В 1990 году Скотт Сторнетта и Стюарт Хабер предложили нечто, названное связанные временные метки, для построения доверенной цепочки цифровых подписей, которые бы использовались для нотариального заверения документа, предотвращая его дальнейшее изменение. В 1997 году Адам Бэк изобрел Hashcash, средство защиты от отказа в обслуживании для P2P-сетей, которое позволяло сделать дорогой и трудной задачу скрыть изменения прошлых транзакций.

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

В начале 2009 Сатоши Накамото выпустил первую имплементацию одноранговой электронной денежной системы, в которой подпись центрального сервера управления была заменена на децентрализованную систему Доказательства выполнения работы. После запуска сети Накамото писал, что Биткойн это реализация идеи Вэй Дэя о B-money 1998 года, а также проекта Bitgold Ника Сабо.

Кратко о том, как работает Биткойн

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

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

Как пользователи соглашаются с тем, какая сеть является Биткойном

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

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

Интересная статья:  Советы по обеспечению

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

Хотя Биткойн это не веб-приложение типа Facebook или Twitter, он использует аналогичную интернет-инфраструктуру. Набор интернет-протоколов возник между 1973 и 1974 годами как проект Стэнфордского университета, спонсируемый агентством DARPA. Он был принят Министерством обороны как военный стандарт в 1982 году, а корпорации типа AT&T и IBM начали использовать его в 1984 году.

Уровни Набора интернет-протоколов.
В рамках этого уровня работает не только мировая паутина, но и протокол электронной почты SMTP, стандарт передачи файлов FTP, протокол SSH для безопасного соединения с другими машинами и другие протоколы включая Биткойн и прочие криптовалютные сети.

Мы сказали, что бесплатное ПО, такое как Биткойн, может быть скопировано и перенастроено любым человеком, но тогда возникает вопрос, как все эти разные версии не мешают друг другу?

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

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

Как мы увидим далее, пользователи кошельков это лишь одна группа людей, взаимодействующих с сетью Биткойна. Также в нескольких формах существует ПО для технических пользователей; его можно загрузить напрямую из репозитория кода Биткойна, через Терминал (в Mac OS или Linux).

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

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

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

Как система узнает, кто есть кто

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

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

Интересная статья:  Настройка роутера wifi?

Анатомия транзакции Биткойна. Идентификатор транзакции выделен желтым цветом. Метаданные выделены синей скобкой. Входы транзакции, выделенные оранжевым, уже находятся во владении аккаунта, с которого отправляется транзакция, и используются для её оплаты. Выходы, выделенные зеленым это Биткойны, которые отправляются в другой аккаунт. Если доступные выходы соответствуют сумме транзакции, тогда сдача возвращается отправителю в форме неизрасходованных выходов. Они также называются UTXO.
Гроссбухи использовались для финансового учёта тысячу лет, и есть много примеров для двойного учёта и балансировки. Биткойн же можно рассматривать как средство тройного учёта: обе стороны транзакции делают записи в своих реестрах, а ещё одна копия делается в сети. Эта исчерпывающая история каждой транзакции Биткойна хранится у каждого отдельно взятого полного узла. Она и составляет 200 гигабайт данных, которые вам предстоит загрузить.

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

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

Приватные ключи хранятся в секрете. Получение доступа к счету, помимо публичного ключа, требует и приватного ключа из пары. Однако, в отличие от пароля электронной почты, потеря приватного ключа ведёт к потере доступа к счёту. При генерации приватного ключа в сети Биткойна, он не хранится в какой-то центральной базе данных. Таким образом, его запоминание зависит исключительно от пользователя. Использование криптографии публичного ключа это одна из относительно недавних военных инноваций, благодаря которой стало возможно существование Биткойна; она была секретно разработана в 1970 году британской разведкой, а публично изобретена заново уже в 1976 году.

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

Где обрабатываются транзакции

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

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

bitnovosti.com/2018/12/07/chto-dvizhet-fenomenom-kriptovalyut-chelovecheskij-konsensus-v-kriptovalyutnyh-setyah-chast-4

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

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