Как читать данные Биткойна

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

Адреса

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

  • «1…»: Адреса, начинающиеся с 1, встречаются чаще всего. Они принадлежат к наиболее распространенному типу адресов и предназначены для P2PKH-транзакций. Такой адрес представляет собой просто хеш открытого ключа, в начало которого добавляется цифра 1 в качестве идентификатора. В P2PKH-адресах используется кодировка Base58, чувствительная к регистру.
  • “3…»: Адреса, начинающиеся с 3, тоже довольно широко распространены. Они используются для транзакций типа P2SH. Это могут быть (вложенные) SegWit-адреса либо адреса с мультиподписью. Если речь идет о SegWit, то использование такого адреса позволит сэкономить на комиссиях за транзакции. В P2SH-адресах используется кодировка Base58, чувствительная к регистру.
  • «bc1…»: С этих символов начинаются (нативные) SegWit-адреса. Отправка BTC на такие адреса обеспечивает наибольшую экономию на комиссиях в сравнении с двумя предыдущими типами адресов. Часто эти транзакции также обрабатываются дольше, чем транзакции первых двух типов. В нативных SegWit-адресах используется кодировка Bech32, в которой допускаются только строчные символы.

На что стоит обратить внимание:

  • “2…” Адреса, начинающиеся с 2, принадлежат тестовой сети и предназначены для получения тестовых биткойнов (tBTC). Никогда не отправляйте настоящие BTC на эти адреса.

Открытые ключи

В настоящее время пользователи Биткойна реже используют открытые ключи. В качестве способа получения BTC они в основном были заменены адресами. Тем не менее время от времени их еще можно встретить. Открытые ключи намного длиннее адресов и тоже имеют определенные начальные последовательности символов:

  • “02…” или “03…”: это стандартные открытые ключи, закодированные в формате SEC. При необходимости их можно хешировать и превращать в обычные адреса для получения BTC, использовать для создания адресов с мультиподписью или для проверки подписей. В самых ранних биткойн-транзакциях открытые ключи использовались как часть P2PK-транзакций.
  • “xpub…”, “ypub…” или “zpub…”: это расширенные открытые ключи, или xpub. Они используются для получения многих открытых ключей как части иерархически детерминированного (HD, от Hierarchical Deterministic) кошелька. Хоть это и открытые ключи, они должны быть доступны только тем сторонам, которым вы доверяете, так как, имея доступ к вашему xpub, любой человек сможет проследить вашу прошлую и будущую историю транзакций.

Блоки

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

  • Высота блока. Каждый блок нумеруется в порядке возрастания начиная с нуля. На момент написания статьи существует чуть более 683 000 блоков, так что большинство значений высоты блока, с которыми вы сталкиваетесь, являются шестизначными.
  • Хеш блока. Это SHA-256 хеш данных блока и обычно он представлен в шестнадцатеричном формате. Хеш блока можно интерпретировать как очень большое число. Для того чтобы удовлетворять требованию proof-of-work, хеш блока должен быть ниже определенного порога. Таким образом, все хеши блоков начинаются с ряда нулей, за которыми следует буквенно-цифровая строка. Хеши некоторых блоков имеют целых двадцать нулей в начале, тогда как в более ранних блоках их всего восемь. Количество нулей примерно отражает сложность майнинга на момент публикации блока.

Транзакции

Транзакции обычно имеют длину около 250–400 байт и представлены в шестнадцатеричном формате. Однако транзакции можно распознать по txid или по хешу транзакции. Благодаря высокой степени случайности SHA-256, никакие две транзакции не должны иметь одинаковый ID. ID транзакций представляют собой буквенно-цифровые строки длиной 64 символа. У них нет определенных начальных последовательностей символов, но их можно идентифицировать по длине и отсутствию серии нулей в начале, в отличие от хешей блоков.

Для поиска по адресам, транзакциям и блокам можно использовать блок-эксплореры. Здесь можно попробовать блок-эксплорер Blockstream.

Подписи

Подписи Биткойна используют схему подписи ECDSA, имеют длину от 71 до 73 байт и представлены с использованием кодировки DER. Подписи Биткойна всегда начинаются с префикса ’30’. Внутри подписи два префикса ’02’ предшествуют R и S значениям, составляющим подпись.

Подписывайтесь на BitNovosti в Telegram!
Делитесь вашим мнением об этой статье в комментариях ниже.

Источник

Закладка Постоянная ссылка.

Комментарии запрещены.