:RU: Метаданные в транзакциях Cardano

Перевод статьи Metadata in Cardano transactions | Cardanians

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

image

Каждая транзакция имеет контекст

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

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

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

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

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

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

Что такое метаданные транзакций?

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

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

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

Метаданные могут иметь максимум 16 КБ в одной транзакции. Таким образом, вы не можете хранить фильм в блокчейне. 1 символ может быть представлен 1 байтом, поэтому можно сказать, что вы можете вставить 16K символов. Для вашего лучшего представления стандартная страница формата А4, написанная шрифтами “12-14”, содержит примерно 1800 символов. Вы сможете хранить белую книгу Bitcoin в блокчейне Cardano в удобочитаемой форме.

А что если вам нужно будет хранить больше данных и иметь доказательства того, что никто не изменил содержимое? Например, вы хотели бы сохранить все научные исследования, опубликованные командой IOG. Это около 50 статей. Каждая статья может иметь десятки страниц. Можно ли хранить их в одной транзакции? Нет, но общепринятой практикой является создание цифрового отпечатка (хэша) и хранение его вместо исходного текста. Затем текст сохраняется где-нибудь вне блокчейна. Цифровой отпечаток может быть позже использован для проверки того, что читатель имеет текст, который не был изменен. Другими словами, что это оригинальная форма документа. Цифровой отпечаток на самом деле очень короткий, поэтому следует сделать один для каждого документа и хранить их все в одной транзакции.

Сколько это стоит?

Вставка метаданных в транзакцию и их хранение несут за собой определенные затраты. Транзакция становится больше, поэтому она потребляет больше ресурсов. Следовательно, отправитель должен платить более высокую плату, при условии, что метаданные вставляются в транзакцию. Минимальная плата за вставку метаданных составляет ₳0,155381. Плата должна предотвращать неправильное использование этой функции спамерами, которые могут спамить сеть. Кроме того, существует минимальная стоимость хранения данных в цепочке. Она установлена на уровне ₳0,000043946 за 1 байт.

Рассчитать комиссию довольно просто, для этого можно воспользоваться следующей формулой:

A+(B×C)=X

Буква “А” расшифровывается как фиксированная плата для вставки метаданных. Это ₳0,155381. “B” означает цену хранения одного байта, и она составляет ₳0,000043946. “C” обозначает количество добавленных байтов. Буква “X” обозначает общую плату за включение метаданных.

Таким образом, если получатель попросит вас вставить идентификатор “4578125478” в транзакцию, вы заплатите:

₳0.155381 +(₳0.000043946 × 10) = ₳0,15582046.

Как можно использовать метаданные?

Потенциал метаданных огромен, и он открывает множество полезных возможностей. Некоторые могут возразить, что адреса участников и ID транзакции может быть достаточно, и нам не нужно больше информации. Мы так не думаем. Например, связь между блокчейн адресом и владельцем может быть недостаточной для идентификации отправителя. Получатель может сгенерировать адрес для отправителя и знать контекст транзакции. Но что, если будет больше транзакций для большего числа независимых получателей? Что делать, если мы хотим создать надежную, заслуживающую доверия историю транзакций отправителя? Отправитель может захотеть использовать больше кошельков, так как же доказать, что все транзакции были отправлены одним отправителем? Контекст транзакции является ключевым в этом вопросе. Можно было бы легко использовать внешнее децентрализованное (или централизованное) управление идентификацией и вставлять уникальный ID отправителя в транзакции. Уникальный ID, связанный с отправителем, может быть предоставлен только тем отправителем, который владеет закрытым ключом идентификации. Таким образом, можно было бы идентифицировать все транзакции отправителя. Обратите внимание, что конфиденциальность должна остаться в руках отправителя. Отправитель может доказать, что он отправил много транзакций. Это полезная функция? Это зависит от контекста. Если вы хотите получить децентрализованный кредит, то для вас может оказаться полезной функцией доказательство того, что вы погасили предыдущие кредиты во время или регулярно платите за электроэнергию.

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

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

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

Вывод

Разработчики приложений могут использовать криптографию по отдельности и совместно с децентрализованными сервисами и неизменным блокчейном. Это очень мощная комбинация. Метаданные могут также использоваться смарт контрактами и Atala Prism (децентрализованное управление идентификацией). Команда IOG предоставляет инструменты для создания этих вещей, а разработчики в данных реалиях должны создавать децентрализованные сервисы и новые функциональные возможности.

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram . Оставайтесь на связи, все только начинается!