Перейти к содержанию

почему в UTXO не указывают хеш блока ?


ASHPD

Рекомендуемые сообщения

вот пришло мне допустим сообщение транзакции. я беру его двойной sha256 хеш, флипаю порядок байтов (зачем?) и ищу его ПО ВСЕМУ блокчейну. трачу на это кучу времени. затем, допустим я нашел эту транзакцию где-то в блоке номер 120 000. теперь я должен проверить еще пол ляма блоков, что-бы убедиться, не был ли потрачен этот UTXO.

 

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

Ссылка на комментарий
Поделиться на другие сайты

@ASHPD ,  вопрос явно для раздела «Блокчейн и финтех», вы его намеренно во флейме создали? Или кто-то из модеров переместил?

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Helber сказал:

@ASHPD ,  вопрос явно для раздела «Блокчейн и финтех», вы его намеренно во флейме создали? Или кто-то из модеров переместил?

да я так, по-скромному сразу во флудилку. может кто отзовётся. на английском языке не нагуглил как это делается. такой молниеносный поиск: 300 гигабайт данных за долю секунды перелапачивает по 150 тыщ раз за долю секунды. чудеса какие-то. как такое возможно ???

Ссылка на комментарий
Поделиться на другие сайты

35 минут назад, ASHPD сказал:

да я так, по-скромному сразу во флудилку. может кто отзовётся

Я сам такой бываю, но все-таки это не всегда правильно )

 

Сейчас перемещу. 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, ASHPD сказал:

вот пришло мне допустим сообщение транзакции

Это что? Сообщение о транзакции ? Просто транзакция?

2 часа назад, ASHPD сказал:

я беру его двойной sha256 хеш

Что берешь? Зачем берешь? Чем?

2 часа назад, ASHPD сказал:

флипаю порядок байтов (

Ты флипаешь до космопорта??? (с)

Никогда не флипаю до космопорта. Беру флаер - надежнее и проще. 

 

В общем два раза перечитал, в голове галиматья.

 

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, ASHPD сказал:

каким образом фул ноды так быстро ищут транзакции и проверяют выходы на потраченность

 

Bitcoin Core ведёт свою внутреннюю базу UTXO. Каждый раз при поступлении нового блока эта база обновляется. Поэтому ноде не нужно перелопачивать весь блокчейн для определения баланса для конкретного адреса, достаточно сделать поиск по базе UTXO.

 

С недавних пор поис по базе UTXO доступен и простым смертным при помощи RPC scantxoutset, например так можно получить список UTXO и итоговый баланс для адреса 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY:

scantxoutset start "[\"addr(1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY)\"]"

Работает не слишком быстро, но намного быстрее, чем сканирование всего блокчейна.

Ссылка на комментарий
Поделиться на другие сайты

2rammendo:

транзакцией в сети биткоин называют сообщение, в котором указаны непотраченые выходы, которые будут использованы как входы текущей транзакции, адреса, на которые следует переместить определенное количество сатошей с этих непотраченых выходов, публичные ключи от используемых UTXO и ЭЦП этих данных. двойной и перевёрнутый sha256 хеш - это id транзакции, который указывает на непотраченый выход.

 

так вот, проблема в том, что для того что-бы проверить входящую транзакцию нужно выполнить 2 задачи:

1) проверить наличие id транзакции в блокчейне

2) проверить не был ли потрачен UTXO

 

тоесть в любом случае для провекри транзакции нужно прочитать ВЕСЬ блокчейн. скорость чтения среднестатисчических SSD накопителей 500МБ/с. делим 300ГБ (вес блокчейна) на эту скорость чтения и получаем, что для проверки одной транзакции нужно целых 10 минут непрерывно читать данные с диска. это я еще не считаю необходимость двойного хеширования ВСЕХ транзакций в блокчейне, чтоб сверить id транзакции. конечно вы скажите, а за чем по одной проверять, можно же взять весь мемпул и раз в 10 минтут проверять сразу по 5 тыщ транзакций массово. я тоже так изначально подумал, но узлы принимают или отвергают транзакции МГНОВЕННО, за долю секунды! еще я думал что может используют индекс, в котором в порядке возрастания расположены ВСЕ принятые ранее транзакции и после каждого нового найденного блока перестраивают весь индекс. и еще второй индекс, в котором так же в порядке возрастания расположены все потраченные UTXO. тогда конечно можно было бы ускорить процес проверки транзакций, хоть и заняло бы это дополнительно кучу места, даже если брать не по 32 байта от id транзакции, а хотя-бы 5. да и вычеслительной мощности на перегенерацию всего такого индекса каждые 10 минут нужно очень много. но таких индексов я не обнаружил в bitcoin core.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Old Miner сказал:

 

Bitcoin Core ведёт свою внутреннюю базу UTXO. Каждый раз при поступлении нового блока эта база обновляется. Поэтому ноде не нужно перелопачивать весь блокчейн для определения баланса для конкретного адреса, достаточно сделать поиск по базе UTXO.

 

С недавних пор поис по базе UTXO доступен и простым смертным при помощи RPC scantxoutset, например так можно получить список UTXO и итоговый баланс для адреса 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY:


scantxoutset start "[\"addr(1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY)\"]"

Работает не слишком быстро, но намного быстрее, чем сканирование всего блокчейна.

 

ага, я тоже так подумал, но перестроить индекс на пол миллиарда записей это не тривиальная задача. более того не каждый компьютер ВПРИНЦИПЕ сможет справится с такой задачай. не говоря уже о необходимости это делать каждые 10 минут. я для подобных операций арендую инстансы в gcp на сотни долларов и только под мощнейшими 100+ядерными системами удаётся совершать такие вычисления за несколько часов. а тут на офисном ноутбуке БАЦ и готово!

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Изменения к лучшему? Почему растет Aave

      Кредиты и займы в криптовалюте давно стали привычным делом. Например, через протокол Aave. Токен управления AAVE демонстрирует в 2024 году положительную динамику. В чем дело и стоит ли монета вашего внимания? С конца февраля события развивались достаточно стремительно. Именно тогда платформа разорвала отношения с компаний Gauntlet, которая специализировалась на риск-менеджменте. Одной из причин прекращения длившегося четыре года сотрудничества стали подозрения в разработках, которые должны

      в Новости криптовалют

    • Питер Шифф: «Вот почему нельзя инвестировать в биткоин-ETF»

      Финансовый аналитик, сторонник инвестиций в золото и противник криптовалют, рассказал, почему не стоит инвестировать в привязанные к биткоину спотовые биржевые фонды (ETF) и почему лучше обратить внимание на золото. Питер Шифф (Peter Schiff) уверен: главная проблема владения биткоинами через ETF заключается в том, что ликвидность ограничена часами работы американского фондового рынка. Если рынок обрушится, у инвесторов не будет возможности продать активы до тех пор, пока рынок США не открое

      в Новости криптовалют

    • Почему многие торгуют на маржинальном аккаунте, а не на фьючерсах?

      Здравствуйте, почему многие выбирают торговлю (сугубо спекуляции) на маржинальном аккаунте, а не на фьючерсном? Ведь при торговле фьючерсами можно использовать те же плечи, меньше комиссии и меньше interest rate (если он вообще там есть), да и выставление ордеров там довольно быстрое и прямолинейное - купить\продать, сразу указывай стоп-лосс, тейк профит, который можно корректировать, и поехали, в том время как на споте и маржинальной торговле нужно создавать специальные ОСО ордера для размещени

      в Трейдинг криптовалютами

    • Институционалы ставят на эфир: вот почему криптовалюты продолжают расти

      Волатильность криптовалют на уходящей неделе ускорилась. Тому способствовали большие вливания со стороны институциональных инвесторов – как в спотовые ETF на биткоин, так и в сами криптоактивы. Свыше 20% за неделю набрал биткоин, преодолев важную планку $60 000. На максимуме в среду, 28 февраля, первая криптовалюта достигла $64 000. Последний раз BTC столько стоил в ноябре 2021 года, когда был достигнут исторический максимум в $69 000.     Источник: tradingview.com     Под

      в Новости криптовалют

    • MMOCoin и почему будет стоит 1$ в 2024.

      Это игровая монета с низкой капитализацией(>50000$на2024) Но потенциал роста огромный. Я уже заработал на ней 75% прибыли.  +Это монету по не многу скупают Киты. И что самое главное - низкий порог входа. То есть можно закупиться буквально на не большую сумму, а выхлоп будет огромный!  

      в Флейм

×
×
  • Создать...