- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Блокчейн, что ты? Определение модного слова в отрасли
Дэйв Хадсон, автор блога Hashingit.com, LOOKS к техническому документу Сатоши, чтобы узнать, что такое блокчейн и чем он может быть...
По мере приближения 2016 года, похоже, ведутся бесконечные дискуссии о «блокчейне». Это термин, который все чаще цитируется даже в мейнстримной журналистике, в то время как в одной только сфере FinTech есть множество потенциальных поставщиков и потенциальных пользователей, утверждающих, что «блокчейн» произведет революцию в любом количестве приложений.
Такое общепринятое сейчас употребление предполагает, что это должно быть что-то точно определенное и хорошо понимаемое, но, похоже, это скорее вопрос мантры, чем понимания.
Эхо-камеры Интернета отражают множество мнений, но попытки найти точное значение, похоже, находят пугающее отсутствие согласия. Чтобы быть чем-то большим, чем маркетинговая гипербола, нам действительно нужны ответы на некоторые вопросы.
Что это? Что это T так? Что это может быть? Может ли это быть чем-то, что позволит нам строить новые и долговечные системы? Короче говоря, в чем суть блокчейна?
Белая книга Сатоши
Почти каждое обсуждение блокчейнов начинается сБелая книга Сатоши, но именно эта основа и заводит нас на путь путаницы. Ни термины «блокчейн» или «цепочка блоков» там не встречаются; есть 67 использований «блока» и 27 «цепи», но ни одного «цепочки блоков» или «цепочки блоков». Но отбросив это в сторону, давайте посмотрим, куда нас приведет это происхождение.
Белая книга короткая, всего девять страниц. Первое упоминание «блока» и «цепи» начинается в нижней части страницы 2, раздел 3, где обсуждается базовый сервер временных меток. До этого в белой книге описывается ряд целей проектирования, связанных с дизайном Bitcoin , таких как возможность позволить двум сторонам совершать транзакции без необходимости доверять третьей стороне.
Формулировка целей дизайна имеет принципиально важное значение. Они задают тон для реализации, чтобы соответствовать этим целям, в которых характеристики накладываются друг на друга, но познавательно посмотреть, что делает каждый новый слой.
В нашем стремлении понять природу блокчейна нам следует быть осторожными и искать то, что является его атрибутами, а не характеристиками этой первой реализации.
Транзакции
Раздел 1 белой книги представляет собой введение, и именно в разделе 2 мы видим что-то действительно существенное. Раздел 2 устанавливает сцену для цифровой монеты, но она описывается как цепочка транзакций, в которой «монета» назначается новым владельцам. Монета на самом деле является метафорой для истории транзакций связанных транзакций.
Интересно, что в разделе 2 также описывается, что централизованной системе на самом деле T нужно этого делать.
Блоки и цепи
В разделе 3 мы видим суть шаблона проектирования, который может наилучшим образом описать основу блокчейна. Он представлен как нечто, построенное из серии инкрементных блоков данных, каждый из которых может быть идентифицирован криптографическим хешем над его содержимым. Кроме того, каждый блок включает криптографический хеш своего предшествующего блока, чтобы гарантировать построение цепочки.
Хэши блоков публикуются как форма широко засвидетельствованного доказательства, которое демонстрирует существование как данных блока, так и хэша-предшественника. Изменение либо предшественника, либо других данных в блоке приведет к другой подписи хеша для блока, которая не будет соответствовать широко засвидетельствованному представлению.
Все эти характеристики являются фундаментальными, и без них мы не можем построить ничего интересного. Однако не менее интересно то, что не указано как необходимое на данном этапе. Нет никаких упоминаний о монетах, никаких упоминаний о сетях peer-to-peer, никаких упоминаний о майнинге и ETC. Вместо этого предполагается, что публикация хэшей в любой широко распространенной форме будет достаточной, причем два примера приведены как публикация в газете или публикация через Usenet.
Хотя мы видим некоторые явные характеристики, они приводят к нескольким неявным:
Публикация хэшей бессмысленна, если только эти же хэши не могут быть независимо пересчитаны внешним наблюдателем, которому предоставлены только данные из блоков в цепочке. Именно эта характеристика позволяет наблюдателям не доверять создателю цепочки блоков; вместо этого они могут сравнивать исторические хэши для себя.
Пересчет хэшей требует, чтобы алгоритм, по которому производятся блоки, был детерминированным и хорошо определенным. Без этого наш внешний наблюдатель не сможет пересчитать хэши.
Обеспечение одноранговых операций
Следующий раздел 4 белой книги посвящен доказательству работы. Первая строка интересна: «Чтобы реализовать распределенный сервер временных меток на основе одноранговой сети (P2P), нам понадобится использовать систему доказательства работы, похожую на Hashcash Адама Бэка». Доказательство работы не требуется для построения блокчейна, оно требуется только для обеспечения одноранговой реализации сервера временных меток.
Последующие разработки Криптовалюта показали, что потенциально существуют и другие подходы, которые можно использовать здесь (например, формы доказательства доли владения или гибриды того и другого), но если нас устраивает клиент-серверный подход, то ни один из них на самом деле не нужен.
Это не значит, что доказательство выполнения работы не может иметь других применений в конструкции блокчейна, но ни одно из них не кажется основополагающим для наших поисков.
Сеть и не только
Раздел 5 описывает характеристики реализации сети Bitcoin . Ничто здесь явно не расширяет концепцию того, что такое блокчейн, или может потребовать. Действительно, ни разделы 6, 7, 8, 9, 10, 11 или 12 (последний раздел) не продолжают явно предлагать какие-либо новые идеи о том, что такое блокчейн.
Ответы на наши вопросы
Если белая книга Сатоши является источником дизайна блокчейна, то у нас остается довольно тонкое определение, но, возможно, это самый просветляющий аспект. Она очень ясно описывает конкретные выборы дизайна и их цели, что, как правило, приводит к осознанию того, что многие утверждения о «блокчейнах» на самом деле могут быть вопросом реализации, а не архитектуры.
Давайте тогда зададим несколько конкретных вопросов!
Должен ли блокчейн иметь монеты?
В белой книге есть интересное обсуждение необходимости предоставления стимулов тем, кто обеспечивает безопасность P2P-сети, чтобы они оставались честными, и как средство введения «монет» в систему, но обсуждение явно находится в контексте P2P-сети. Концепция самих монет отмечена как ненужная с доверенным «монетным двором».
Доверенный монетный двор не является чем-то желательным в Криптовалюта, но, похоже, нет необходимости в монетах, если мы хотим построить цепочку криптографически связанных блоков. Есть интересный вопрос о доверии, но мы вернемся к нему позже.
Должен ли блокчейн реализовывать смарт-контракты?
С точки зрения белой книги это кажется маловероятным. Слово «контракт» нигде не встречается.
Может ли блокчейн сделать возможными смарт-контракты? Да, конечно, может, но он может сделать возможными и многие другие вещи.
Должен ли блокчейн быть программируемым?
Опять ответ, похоже, нет. Ни слова «программа», ни слова «скрипт» не появляются в белой книге.
Блокчейн действительно имеет требование быть интерпретируемым ONE или несколькими независимыми наблюдателями, поэтому он явно построен из ONE или нескольких четко определенных структур данных. Структура данных блока должна содержать предыдущий хэш блока, а криптографический хэш блока должен быть выполнен очень определенным образом, но ни одно из них не требует, чтобы структура данных несла какое-либо понятие исполняемого кода.
Может ли блокчейн содержать какую-либо форму программного кода? Это вопрос реализации, и ответ — да. Bitcoin включает ограниченный язык сценариев и другие системы, такие как Ethereum, впоследствии попытались поддержать более сложные модели программирования.
Выбор в пользу поддержки таких концепций, по-видимому, обусловлен либо целесообразностью, либо более амбициозными целями проектирования, но, похоже, блокчейн не должен быть более «программируемым», чем любая другая структура данных связанного списка.
Является ли блокчейн базой данных?
И снова ответ, похоже, отрицательный. Как и прежде, слово «база данных» не появляется в белой книге.
По своей CORE, блокчейн — это особый тип структуры данных. Блоки внутри цепочки содержат данные, но это не делает ее базой данных; в лучшем случае блоки представляют собой журнал транзакций конкретной реализации базы данных.
Аналогично, нет семантики для запроса блокчейна, как и для запроса связанного списка. Конкретная реализация может позволить запросы любого из них, но реализация не определяет саму вещь.
Для сравнения, пакеты IP для пакетов TCP, переносящих эту статью, определены как структуры данных в серии документов IETF (Internet Engineering Task Force) RFC (Request For Comments). Документы описывают форму пакетов и их поведение при транспортировке. Получатели этих пакетов могут самостоятельно определять их действительность, независимо от какой-либо части реализации сети между ними и отправителем.
Реализация маршрутизатора/брандмауэра может предлагать функцию захвата этих пакетов, чтобы их можно было проанализировать позже, и может предлагать запросы к базе данных этих пакетов, но в природе IP-пакета нет ничего, что делало бы его базой данных, и нет ничего в RFC, что предполагало бы иное. Функции реализации и спецификация — это совершенно разные вещи.
Является ли блокчейн не требующим доверия?
Ответ здесь тоже нет, но это потому, что вопрос слишком общий. Блокчейн позволяет нам требовать меньше доверия, чем многие традиционные системы, но любая реализация все равно требует некоторого уровня доверия.
Получатель данных блока должен доверять тому, что они были доставлены без компрометации каким-либо посредником. Распределение блоков P2P в Bitcoin и подобных сетях направлено на минимизацию доверия к пирам, но даже эта модель имеет потенциальные точки отказа. Вот несколько:
- Мы уверены, что используемое нами программное обеспечение блокчейна не было скомпрометировано с целью предоставления фальсифицированных данных.
- Мы уверены, что операционная система, на которой работает наше программное обеспечение блокчейна, не была скомпрометирована с целью передачи фальсифицированных данных.
- Мы уверены, что сетевые процессоры, обеспечивающие подключение к нашей системе, не были скомпрометированы с целью передачи фальсифицированных данных.
«Мы верим в код» — интересная мантра, но более 30 лет вредоносных программ, шпионского ПО и ETC. говорят нам, что это весьма спорная стратегия.
Конструкция блокчейна действительно затрудняет фальсификацию для противника и значительно снижает вероятность случайных ошибок. Мы можем «доверять, но проверять» (в определенных пределах), но это все равно значительное улучшение по сравнению со слепым доверием. Самое главное, что ни одна из этих характеристик минимизации доверия не является аспектом конструкции сети P2P, а вместо этого является неотъемлемой частью кодирования блоков.
Должен ли блокчейн быть не требующим разрешения или он может быть без разрешения?
Блокчейн — это просто структура данных, так что вопрос на самом деле не имеет смысла. Кто имеет возможность читать или писать структуру данных — это совсем другой вопрос.
Давайте на мгновение проигнорируем это тонкое различие и поступим так, как будто вопрос имеет смысл. Рассмотрим случай Bitcoin: кто пишет блокчейн?
Ответ заключается в том, что майнеры (или, точнее, создатели блоков, такие как операторы майнинговых пулов, а не те, кто просто хэширует блоки) могут писать новые блоки. Транзакторы в сети могут предоставлять кандидатные транзакции для включения в блоки, но это не гарантирует, что блоки когда-либо будут содержать эти транзакции. В случае с Bitcoin мы говорим об этом как о «неразрешенном», потому что никому не нужно никакого явного разрешения, чтобы стать Maker блоков.
Однако если мы рассмотрим другие потенциальные варианты использования блокчейн-дизайна, то часто существует очень четко определенный набор участников, которым мы хотели бы предоставить возможность записывать данные блока. Во многих случаях это может быть даже ONE единственный участник.
Критика, направленная на такие потенциальные применения блокчейна, заключается в том, что это делает его не лучше базы данных, но традиционная база данных — это то, чему нужно слепо доверять. Ее внутреннее состояние, как правило, непознаваемо. Даже в своих самых простых применениях блокчейн может, по крайней мере, предоставить средство для проверки состояния такой системы, и сделать это таким образом, чтобы истории могли быть проверены. Однако это только начало возможностей!
Является ли блокчейн Интернетом денег (или Интернетом чего-либо еще)?
На самом деле, нет, или, по крайней мере, не само по себе.
Когда мы рассматривали «не базу данных», мы также коснулись того, почему это утверждение на самом деле T имеет смысла. На первый взгляд аргумент кажется соблазнительным. Мысль в том, что мы можем построить множество Технологии поверх блокчейна таким образом, как сетевой стек является многоуровневым.
С этим предложением связано много проблем, но очевидной ONE то, что блокчейн — это просто структура данных. Он является хорошим кандидатом для использования в передаче информации через Интернет, но сам по себе ничего T делает.
Однако отделение блокчейна от любого транспорта блокчейна дает некоторую надежду на то, что блокчейны могут обеспечить более надежные финансовые приложения через Интернет. Четкое разделение также позволяет экспериментировать на каждом уровне проектирования системы, и это ключевая характеристика, которая позволила Интернету стать таким успешным.
С появлением Интернета кандидаты на все уровни сетевого стека могут быть опробованы, заменены или модифицированы, что позволяет лучшим проектам WIN. Аналогичным образом подход на основе стандартов позволил разрозненным реализациям работать вместе, не мешая при этом искать и монетизировать коммерческие преимущества.
В случае блокчейнов мы уже видели, что существует необходимость поддержки внешних наблюдателей, а это обуславливает определенный уровень взаимодействия.
Последние мысли
Мы рассмотрели, чем может быть или не быть блокчейн, и, возможно, увидели некоторые намеки на то, что он может дать. Технологии , лежащая в основе Bitcoin , может использоваться для создания множества вещей, и наследием биткойна должен быть не только сам Bitcoin — он показал жизнеспособность чего-то гораздо более фундаментального.
Дискуссия о том, что представляет собой блокчейн, на этом T закончится, но нам нужно продвигать ее вперед и не поддаваться искушению сделать его просто очередным модным маркетинговым словом.
Чтобы это произошло, нам нужна как ясная терминология, так и обоснованное использование. Нам нужно избегать смешивания множества разных идей, и нам нужно, чтобы Технологии заявления были реалистичными и достижимыми. Если мы потерпим неудачу, то в конечном итоге термин «блокчейн» станет бессмысленным и его придется заменить. Это кажется неправильным результатом.
Если мы добьемся успеха, то идея блокчейна не будет концом истории. Вместо этого она займет свое место в качестве слоя, на котором можно будет строить более совершенные и все более полезные системы.
Статья была переиздана с разрешенияHashingit.com. Вы можете Социальные сети Дэйвом в Twitter по адресу @hashingitcom.
Изображениечерез Shutterstock
Примечание: мнения, выраженные в этой колонке, принадлежат автору и не обязательно отражают мнение CoinDesk, Inc. или ее владельцев и аффилированных лиц.
Dave Hudson
Дейв Хадсон — вице-президент по архитектуре программного обеспечения в Peernova, а также проектировщик ОС, сетевых Stacks, компиляторов и баз данных. Для развлечения он анализирует Bitcoin и «криптовалютные системы» в своем блоге hashingit.com. Он живет в Бангоре, Уэльсе и Сан-Хосе в США.
