Skip to content

[Russian] Glossary

snordenstorm edited this page Dec 17, 2014 · 16 revisions

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

С криптовалютами, как и вообще с любым новым видом технологий, связана целая Вселенная новых терминов. Каждый, кто когда-либо серьёзно работал с пиринговым ПО, имел дело с базовыми понятиями криптографии, такими, как хэш, цифровая подпись, публичный/приватный ключ, симметричное/асимметричное шифрование, защита от DoS, а также скрытыми структурами наподобие распределённых хэш-таблиц и сетей доверия. Новым пользователям Биткойна приходится учить не только базовые понятия криптографии, но и внутренний жаргон: "блоки", "подтверждения", "майнинг", "лёгкий клиент", "атака 51%"... Также им приходится думать об экономических аспектах вроде наличия или отсутствия выгоды для тех или иных лиц делать те или иные вещи, о тенденции централизации и т.д. Эфириум, будучи платформой для разработки децентрализованных приложений, основанной на обобщении криптовалюты, использует все вышеприведённые термины, а также добавляет немало своих :) Для того, чтобы в этом можно было за ограниченное время как-то разобраться, и приводится данный толковый словарь. Кем бы Вы ни были — криптоэнтузиастом, бизнесменом, человеком с активной гражданской позицией, веб-разработчиком или просто человеком, пытающимся понять, как эта новая технология может улучшить качество жизни — этот словарь Вам поможет, мы верим в это :)

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

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

  • Хэш-функция (или хэш-алгоритм) — функция, которая отображает файл (некоторый набор информации, текст) произвольной длины в другой набор информации, и размер результата такой функции жёстко фиксирован (обычно это 32 байта). Результат действия хэш-функцией всегда выглядит как бессмысленный набор букв и цифр, прообраз хэш-функции не может быть восстановлен по результату, хэш-функция даёт строго детерминированный ответ (результат действия хэш-функцией на какой-то текст всегда один и тот же). Но главное свойство хорошей хэш-функции — в том, что невозможно вычислением подобрать два документа, хэш которых один и тот же (отсутствие коллизий). Говоря математическим языком, хорошая хэш-функция является инъективным отображением. Кроме того, при малом изменении исходного текста (например, замене одной буквы) хэш текста изменяется до неузнаваемости; для примера, SHA3-хэш от "Saturday" даёт c38bbc8e93c09f6ed3fe39b5135da91ad1a99d397ef16948606cdcbd14929f9d, в то время как та же хэш-функция SHA3, взятая от "Caturday", приводит к результату b4013c0eed56d5a0b448b02ec1d10dd18c1b3832068fbbdc65b98fa9b14b6dbf. Результаты хэш-функций обычно используются как идентификаторы того или иного документа и гарантируют то, что документ не был изменён или подделан.

  • Шифрование — процесс, на вход которого подаётся незашифрованный текст ("открытый текст"), а также "ключ" (пример ключа: c85ef7d79691fe79573b1a7064c19c1a9819ebdbd1faaab1a8ec92344438aaf4), а результатом этого процесса является зашифрованный текст. Зашифрованный текст можно расшифровать только при наличии этого ключа; при отсутствии ключа зашифрованный текст нельзя расшифровать за разумное время (время расшифровки зависит от длины ключа и от алгоритма шифрования, но в целом алгоритм подбирается так, чтобы на это у современных компьютеров ушли тысячелетия).

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

  • Цифровая подпись: алгоритм оставления цифровой подписи — процесс, при котором пользователь может произвести короткую строку информации, называемую "подписью" документа, используя свой приватный ключ, так что любой желающий, зная подпись, подписанный документ и соответствующий тому приватному публичный ключ такого пользователя, может проверить, что 1) документ был подписан владельцем того приватного ключа 2) документ не подвергался изменениям с того момента, как был подписан. Аналогия с обычной подписью здесь не полная: когда вы расписываетесь на бумаге, вы можете дописать дополнительный текст на документ после его подписания, и нет способа определить фактический момент подписи; в случае цифровой подписи любое изменение в документе приводит к тому, что цифровая подпись перестаёт быть валидной.

Блокчейны

См. также: https://bitcoin.org/en/vocabulary

  • Адрес — представление публичного ключа, принадлежащего какому-то конкретному пользователю; к примеру, адрес, соответствующий приведённому выше приватному* ключу, есть cd2a3d9f938e13cd947ec05abc7fe734df8dd826. Заметим, что технически, адрес — это хэш публичного ключа, но для простоты можно забыть про разницу между адресом и публичным ключом.

ripemd

  • Транзакция — "единичный квант действия", мельчайшая операция, которую можно произвести с блокчейном. Обычно говорят о валютных транзакциях, тогда имеется в виду пересылка валюты (или жетонов) друг другу. Другие виды транзакций — регистрация доменных имён, отдача и выполнение ордеров на бирже, пересылка контрактов.

  • Блок — набор информации, содержащий целое неотрицательное число транзакций, хэш предыдущего ("родительского") блока, и, опционально, другую информацию. (Заметим, что только один блок не включает в себя хэш предыдущего блока — естественно, самый первый блок, так называемый "genesis block".) Множество всех блоков называется словом блокчейн и содержит всю историю всех транзакций. Некоторые основанные на блокчейн-технологии криптовалюты предпочитают называть блокчейн словом "реестр"; на самом деле это слегка не одно и то же, в системах с "реестром" каждый блок обычно дополнительно содержит полную копию текущего состояния (=баланса всех кошельков, регистраций, частично выполненных контрактов), что позволяет пользователям таких систем не хранить историю.

  • Proof-of-work — важное правило, имплементированное в Биткойн, Эфириум и ряде других криптоплатформ: хэш каждого из блоков должен быть меньше некоторой заданной величины. Почему это важно: в децентрализованной системе каждый может генерировать блоки, и необходимо предотвратить зафлуживание системы блоками. Поскольку хэши псевдорандомны, нахождение блока, хэш которого меньше 0000000100000000000000000000000000000000000000000000000000000000, требует в среднем 4.3 миллиарда попыток. Во всех таких системах число, меньше которого должен быть хэш, автоподстраивается так, что в среднем один блок обнаруживается кем-то раз в N минут (N=10 для Биткойн и N=1 для Эфириум).

  • Nonce — не имеющее глубокого философского смысла число, перебором которого и ищется хэш, удовлетворяющий условию proof-of-work. Является сокращением от "number used once".

  • Майнинг — процесс, при котором кто-то (такого человека называют майнер) берёт пачку транзакций (постоянно добавляя новые транзакции, пока не нашёл nonce; когда нашёл, блок "запечатывается" и добавляется в блокчейн), формирует из них блок, и пытается найти такое значение nonce, которое давало бы хэш, меньший заданного числа. Современная криптография, использующаяся в том числе и в банках, говорит, что это можно сделать только перебором. Если майнеру повезло и он смог найти такое nonce раньше других, его блок добавляется в блокчейн, а сам он получает за это награду, которая сейчас составляет 25 BTC. После добавления такого блока в блокчейн все майнеры переключаются на нахождение нового блока, содержащего хэш свеженайденного блока как хэш предыдущего ("родительского").

  • Прокисшим (stale) называется блок C, найденный тогда, когда уже найден другой блок B, имеющий тот же блок A в качестве родительского; за прокисшие блоки майнер, обыкновенно, не получает никакого вознаграждения (протокол признаёт только самую длинную цепь блокчейна), так что нахождение их является пустой тратой ресурсов. Здесь ещё немного про прокисшие блоки.

  • Форк — ситуация, когда два блока ссылаются на один и тот же "родительский", разветвление цепи. Это может привести к тому, что часть майнеров будет майнить одну цепь, а другая часть — другую. В Биткойн-протокол встроено правило, согласно которому "истинным" блокчейном считается только самая длинная цепь; соответственно, на ту цепь, блокчейн которой растёт быстрее, спустя 3-4 блока (когда преимущество одной из цепей станет очевидным) перейдут 100% майнеров, чтобы не расходовать ресурсы вхолостую. Однако форки могут существовать и дольше, если у майнеров разногласия насчёт валидности того или иного блока.

  • Двойная трата (даблспенд, double spend, она же "атака 51%") — преднамеренный форк, создаваемый майнером, контролирующим больше половины вычислительной мощности сети (иначе не прокатит), с целью дважды потратить одну и ту же сумму. Такой майнер производит транзакцию, покупая некоторый продукт; получив его (допустим, это цифровой продукт, и получение происходит мгновенно), он пересылает ту же сумму денег себе (на другой свой адрес), создаёт блок под тем же номером, что и блок с первой транзакцией, но со второй транзакцией там вместо первой; начинает майнить этот свой форк. Если у такого злоумышленника больше 50% вычислительной мощности сети, он обречён на успех, как бы далеко ни убежала исходная, "честная" цепь; при вычислительной мощности <50% шансы на успех есть, но они не пренебрежительно малы только если стартовать не слишком поздно (2-5 блоков назад) и быстро убывают при уменьшении вычислительной мощности. По этой причине большинство криптовалютных бирж, сайтов азартных игр и финансовых сервисов ждут появления ещё шести блоков ("шести подтверждений") после блока с транзакцией до принятия платежа.

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

Эфириум-блокчейн

См. также: White Paper

  • Сериализация: процесс конвертирования структуры с данными в последовательность байтов. Эфириум использует способ RLP (recursive-length prefix encoding), описанный здесь.

  • Дерево Патрисия (aka trie): структура, хранящая состояния всех аккаунтов. Дерево Патрисия начинается с каждого конкретного узла, затем узлы группируются по 16 и берётся хэш каждой группы, затем берётся по 16 таких групп и берутся уже хэши хэшей и так далее, пока не получен единственный "root hash" (хэш корня) полного дерева. У этого дерева есть следующие важные свойства: (1) для каждого набора данных есть ровно одно возможное дерево и ровно один возможный root hash, (2) крайне просто обновлять, добавлять или удалять узлы дерева и вычислять новый root hash, (3) нет никакого способа изменить какую-либо из частей дерева без изменения root hash'а, так что если root hash включён в подписанный документ или валидный блок in a signed document or a valid block the signature or proof of work secures the entire tree, and (4) достаточно предъявлять лишь актуальную ветвь дерева, соответствующую какому-то конкретному узлу, в качестве криптографического доказательства того, что этот узел действительно находится в дереве и имеет в точности декларируемый владельцем контент. Дерево Патрисия также используется для хранения внутренних хранилищ аккаунтов, а также транзакций и дядь (да, знаю, по-русски смешно звучит - прим.перев.; см. определение ниже). Более детальное описание живёт здесь.

  • GHOST: GHOST — это протокол, согласно которому блоки могут содержать хэш не только родительского, но также хэши "прокисших" блоков, которые являются другими детьми родителя родителя (т.е. дядями). Благодаря этому прокисшие блоки смогут вносить вклад в безопасность блокчейна, чем смягчается проблема централизации блокчейнов с малым block time — в таких блокчейнах крупные майнеры имеют преимущество вызванное ещё и тем, что, поскольку они узнают о нахождении своих новых блоков сразу, появление прокисших блоков у них менее вероятно.

  • Дядя: ребёнок родителей родителей, который не является родителем (т.е. родительским блоком) — или, более общо, потомок предка, сам не являющийся предком. Если A — дядя B, B — племянник A.

  • Аккаунт-nonce: уникальный номер транзакции в каждом из аккаунтов. Это предохраняет от "атак повтора", при которых транзакция, пересылающая 20 монет от A к B может быть повторена B снова и снова, уменьшая и уменьшая баланс A. (Это возможно, поскольку при первой пересылке монет A подтвердил транзакцию цифровой подписью, тем самым обнародовав последнюю.)

  • Контролируемый извне аккаунт — аккаунт, управление которым происходит с помощью приватного ключа. Контролируемые извне аккаунты не могут содержать EVM-код.

  • Контракт — аккаунт, управление которым происходит с помощью встроенного в него EVM-кода. Контракты не контролируются чьим-либо приватным ключом; если только контракт не встроен в EVM-код, он не имеет владельца с момента выпуска.

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

  • Газ — сущность, являющаяся мерой вычислительных шагов. Автор каждой из транзакций устанавливает значение переменной GASLIMIT, а также значение курса ETH/GAS для этого контракта (ether gasprice); майнеры могут включать транзакции, собирая комиссии, или не делать этого. Если полное число газа, использованного в порождённом транзакцией вычислении (включая исходное сообщение и все порождённые им сообщения), меньше либо равно GASLIMIT, транзакция проходит. Если количество потраченного газа в какой-то момент превысит GASLIMIT (т.е. количество газа, изначально вложенного в контракт), все вызванные контрактом изменения аннулируются, кроме одного: транзакция всё ещё остаётся валидной и майнер может забрать комиссию за обсчёт контракта. Каждая операция расходует газ; для большинства операций расходуется 1 единица газа, но некоторые дорогие операции увеличивают расходы до 100 единиц газа, а проведение самой транзакции стоит 500 единиц газа.

Не имеющие отношение к блокчейну штуки

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

  • Whisper: готовящийся к выходу P2P-мессаджинг протокол, который будет интегрирован с EtherBrowser

  • Swarm: готовящийся к выходу P2P-протокол хранения данных, оптимизированный для статического веб-хостинга, который будет интегрирован с EtherBrowser

  • LLL, Serpent и Mutan: высокоуровневые языки программирования для написания контрактов, код которых может быть скомпилирован в EVM-код. Serpent также может быть скомпилирован в LLL.

  • PoC — proof-of-concept (по аналогии с proof-of-work, proof-of-stake). Proof-of-concept — это другой способ называть пререлиз (смотрите, мы ещё по-взрослому не запустили валюту, но оно работает!).

Близкородственные концепции: приложения и управление

  • Децентрализованное приложение — запущенное большим количеством равноправных пользователей приложение, использующее или создающее децентрализованную сеть для своих задач (взаимодействия покупателей и продавцов, обмена файлами, онлайн-хранения файлов, поддержки валюты). Децентрализованные приложения (Đapps для краткости; Đдревнескандинавская буква "eth"), основанные на Эфириум, обыкновенно состоят из HTML/Javascript-вебстраницы, и, если открывать такую страницу в EtherBrowser, браузер узнает специальные Javascript API для отправления транзакций, чтения информации из блокчейна и взаимодействия с Whisper и Swarm. Đapp обычно создают контракты лишь одного специального для себя типа (но необязательно).

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

  • Критерий Тесея: способ установить степень децентрализованности организации. Он таков: пусть организация состоит из N человек, и инопланетяне регулярно (например, раз в неделю) берут K членов организации и уносят их на свою планету, подменяя их K новыми членами, которые не знают об организации ничего. Каково максимальное значение K, при котором организация всё ещё будет работать? Диктатуры падают при K = 1 в момент, когда уносят диктатора; правительство США продержится чуть дольше, но всё же столкнётся с серьёзной проблемой, если все 638 членов Сента и Конгресса исчезнут, в то время как структуры навроде Биткойна или BitTorrent выживут даже при крайне больших K, поскольку новые участники последуют экономически выгодному для себя способу поведения, неотличимо заменив тем самым предыдущих участников. При более строгом тесте, византийском критерии Тесея, происходят замены K случайных пользователей на K злоумышленников с заменой этих злоумышленников через некоторое время на новых пользователей.

  • Децентрализованная автономная организация (ДАО) — децентрализованная организация, метод управления в которой автономен, т.е. не контролируется чем-либо похожим на дискуссию или "комитет".

  • No common language criterion: тест, позволяющий определить, насколько автономной является организация. Этот тест таков: пусть N участников организации говорят на N разных языках. Может ли такая организация функционировать?

  • Плавающая демократия (liquid democracy) (она же жидкая, облачная, электронная) — механизм управления ДО и ДАО, при котором каждый член имеет полное право голосовать и решение принимается большинством голосов, но также вместо того, чтобы проголосовать самому, по каждому из вопросов он может делегировать это право человеку, которому доверяет (обычно — по разным вопросам разным людям) — симпатичной соседке, умному другу, высококвалифицированному специалисту или сумевшему его убедить в собственной ангелоподобности политику. В любой момент до окончания голосования делегированный голос можно отозвать и проголосовать самому, или же передоверить кому-нибудь другому. Естественно, можно не голосовать, если тема гражданину неинтересна. Идея здесь в том, чтобы получить гибкую систему, которая в обычное (например, мирное время) является прямой интернет-демократией (где каждый сам имеет экспертное мнение по тому или иному вопросу, каждый вопрос выносится на голосование), а при необходимости быстро принимать решения (скажем, в случае войны) — централизованной системой с лидером, которому люди доверяют возможность принятия решений.

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

    Это даже не совсем голосование, а, по каждому из вопросов, распределение весовых коэффициентов между различными точками зрения. То, как мы это видим, не голосование за людей во власти, а голосование за решения. Работа чиновников состоит только в том, чтобы исполнять принятые решения. У чиновника тоже "плавающий" уровень поддержки. Такие управленцы не лидеры-политики, не президенты, губернаторы или мэры, а всего лишь наемные работники. совместная разработка решений на основе вики, их принятие общим голосованием, наем исполнительных структур на конкурсной основе. Hаем электронными собраниями граждан руководства исполнительных структур на конкурсной основе. Команды профессиональных управленцев могут наниматься в рамках модной адхократии (от лат. ad hoc), т.е. для осуществления ограниченных по времени проектов, например организации какой-нибудь новой социальной услуги. Не исключена и их работа на постоянной основе по решению конкретных задач, например обеспечения работы коммунальных служб.

    Замечательные ссылки: первая, вторая (на данный момент блокируется цензурой на территории РФ, но вы все знаете три священные буквы TOR), метод Шульце.

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

Экономические понятия

  • Жетоны — заменяемые виртуальные блага, которыми можно торговать. Формально говоря, система жетонов представляет собой базу данных, отображающую адресы в числа (количества жетонов по этому адресу). Она в обязательном порядке снабжена операцией перемещения N жетонов с адреса A на адрес B (с естественными условиями N >= 0, N <= A's balance, "цифровая подпись о перемещении сделана A"), иначе это просто не система жетонов. Операции "выпуска" и "уничтожения" жетонов, комиссии за транзакции, транзакции с большим числом сторон — всё это также возможно. Типичные примеры систем жетонов — валюты, внутрисетевые криптографические жетоны (цветные монеты), акции компаний и цифровые подарочные карты.

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

  • Лицо: набор криптографически проверяемых взаимодействий, такой, что все эти взаимодействия были созданы одним и тем же человеком

  • Личность: набор криптографически проверяемых взаимодействий, такой, что все эти взаимодействия были созданы одним и тем же человеком, с дополнительным ограничением: один человек не может иметь более одной личности

  • Протокол называется incentive-compatible протоколом ("протоколом, в котором лучше быть няшей"?), если наиболее выгодный для участников способ поведения совпадает с тем, что участники должны делать по задумке автора протокола. Соответственно, incentive-incompatible протокол — тот, при котором нет никаких стимулов вести себя согласно идее протокола, и даже, напротив, отклоняясь от идеи, можно обрести выгоду.

  • Безусловный основной доход: идея ежемесячной(?) выдачи какого-то количества жетонов каждой личности, смысл которой в том, что люди, не желающие или не имеющие возможности работать, могли бы выживать на это пособие. Эти жетоны могут создаваться из воздуха, а могут поступать из какого-то источника дохода или правительства. Для того, чтобы безусловного основного дохода было достаточно для выживания, a combination of revenue streams will likely have to be used.

  • Репутация — используется в двух разных контекстах: 1) для обозначения компетентности в некоторых конкретных сложных (возможно, технических) вопросах 2) для обозначения того, что данный человек заслуживает доверия и не склонен к обману ради краткосрочной выгоды.

  • Сеть доверия — идея здесь в том, что если A доверяет B, а B доверяет C, то A, вероятно, будет доверять C. На основе этой идеи можно строить сложные и мощные механизмы, формализующие понятия надёжности и степени доверия.

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

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

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

Clone this wiki locally
You can’t perform that action at this time.