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

Идентификация блоков


nikkolo

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

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

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

Кто первый, тот и прав, а второй - становится orphan.

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

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

Кто первый, тот и прав, а второй - становится orphan.

Я думал что это относится к ситуации разветвления, а в ситуации когда разветвления нет и блок валидный просто необходимый ему идентификатор на узле занят. И даже если это так, то каким образом добавить блок, изменять его и искать другой nonce? 

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

Все правильно сказали. Если на узел пришло два разных блока с одинаковым номером, это и есть ветвление.

 

Bitcoin-Blockchain-fork.png

 

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

 

Bitcoin-blockchain-merge.png

 

 

 

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

 

Позволю себе вставить код из книжки Mastering Bitcoin:

$ bitcoin-cli getblockhash 277316
0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4
$ bitcoin-cli getblock
0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4

 

{
"hash" : "0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4", #### Вот про этот хеш я говорю
"confirmations" : 35561,
"size" : 218629,
"height" : 277316,
"version" : 2,
"merkleroot" :
"c91c008c26e50763e9f548bb8b2fc323735f73577effbc55502c51eb4cc7cf2e",
"tx" : [
"d5ada064c6417ca25c4308bd158c34b77e1c0eca2a73cda16c737e7424afba2f",
"b268b45c59b39d759614757718b9918caf0ba9d97c56f3b91956ff877c503fbe",
... еще 417 транзакций ...
],
"time" : 1388185914,
"nonce" : 924591752,
"bits" : "1903a30c",
"difficulty" : 1180923195.25802612,
"chainwork" : "000000000000000000000000000000000000000000000934695e92aaf53afa1a",
"previousblockhash" :
"0000000000000002a7bbd25a417c0374cc55261021e8a9ca74442b01284f0569",
"nextblockhash" :
"000000000000000010236c269dd6ed714dd5db39d36b33959079d78dfd431ba7"
}

А в том случае о котором вы говорите проблема состоит в том что приходят одновременно два блока с одинаковой высотой

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

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

 

Позволю себе вставить код из книжки Mastering Bitcoin:

$ bitcoin-cli getblockhash 277316
0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4
$ bitcoin-cli getblock
0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4

 

{
"hash" : "0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4", #### Вот про этот хеш я говорю
"confirmations" : 35561,
"size" : 218629,
"height" : 277316,
"version" : 2,
"merkleroot" :
"c91c008c26e50763e9f548bb8b2fc323735f73577effbc55502c51eb4cc7cf2e",
"tx" : [
"d5ada064c6417ca25c4308bd158c34b77e1c0eca2a73cda16c737e7424afba2f",
"b268b45c59b39d759614757718b9918caf0ba9d97c56f3b91956ff877c503fbe",
... еще 417 транзакций ...
],
"time" : 1388185914,
"nonce" : 924591752,
"bits" : "1903a30c",
"difficulty" : 1180923195.25802612,
"chainwork" : "000000000000000000000000000000000000000000000934695e92aaf53afa1a",
"previousblockhash" :
"0000000000000002a7bbd25a417c0374cc55261021e8a9ca74442b01284f0569",
"nextblockhash" :
"000000000000000010236c269dd6ed714dd5db39d36b33959079d78dfd431ba7"
}

А в том случае о котором вы говорите проблема состоит в том что приходят одновременно два блока с одинаковой высотой

А вы о каком случае говорите? Что 2 блока с одинаковым хешем пришло? Это невозможно, при изменении хотябы одного бита данных в блоке изменится не менее половины всех битов результирующего хеша этого блока, читаем лавинный эффейкт, криптография 1й класс. Еще минусов понаставили, офигеть :rtfm:

 

 

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

1 час назад, nikkolo сказал:

При запросе блока с определенным хешем возвращается два и более? В книге Mastering Bitcoin не нашел ответа, сомневаюсь что это не предусмотрено

Точно не знаю, но это вполне может не быть предусмотрено. Дело в том, что хеш из 256 бит, возможных хешей 2**256=115792089237316195423570985008687907853269984665640564039457584007913129639936, а блоков не так уж и много - около полумиллиона. Вероятность того, что хеши у блоков совпадут, очень мала.

 

Можем даже посчитать, сколько лет понадобится сегодняшней сети биткоина, если вместо обычной работы она будет искать блоки с совпадающими хешами. Текущий хешрейт сети 25*10**18 хеш/сек, 2**128 вместо 2**256 из-за  "парадокса дней рождения". Считаем: 2**128/(25*10**18)/60/60/24/365=431611322832 лет!

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

2 минуты назад, vvvb1 сказал:

А вы о каком случае говорите? Что 2 блока с одинаковым хешем пришло? Это невозможно, при изменении хотябы одного бита данных в блоке изменится не менее половины всех битов результирующего хеша этого блока, читаем лавинный эффейкт, криптография 1й класс. Еще минусов понаставили, офигеть :rtfm:

 

 

Ой я специально минусов не ставил

А как отменить?

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

ага,

 

18 минут назад, sankopolo сказал:

сколько лет понадобится сегодняшней сети биткоина, если вместо обычной работы она будет искать блоки с совпадающими хешами.

431,611322832 млрд лет!

 возраст Вселенной — 14 млрд лет.

 

18 минут назад, nikkolo сказал:

Ой я специально минусов не ставил

А как отменить?

 

кликнуть по стрелки и вбрать зеленую вместо красной

aaf82893c043d33c456f88e5271e4a6a.jpeg

 

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

large.5ab2afc0735c3_.PNG.be47395fdcefd6c2c80a2e908cc28787.PNG

29 минут назад, vvvb1 сказал:

ага,

 

 возраст Вселенной — 14 млрд лет.

 

 

кликнуть по стрелки и вбрать зеленую вместо красной

aaf82893c043d33c456f88e5271e4a6a.jpeg

Я или слепой или их у меня нет

Как я её нажал если её нет?)))

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

Спасибо большое за разъяснения, извините за минус я правда не понимаю куда я кликнул на форме что он появился.

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

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

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

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

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

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

Войти

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

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

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

    • OKLink: Сеть Solana прекратила производство новых блоков из-за сбоя

      Китайский криптожурналист Wu Blockchain объявил, что обозреватель сети OKLink заметил первый за долгое время сбой в блокчейне Solana. Начиная с 17:52 UTC (12:52 по Москве) и до сих пор в сети не произведено ни одного нового блока. Сообщается, что разработчики блокчейна Solana исследуют причины сбоя и принимают экстренные меры по восстановлению работоспособности сети.   Just In: According to Solscan and OKLink block explorers, the Solana blockchain is suspected of being down, with t

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

    • Обновление сети Algorand снизило время производства блоков на 20%

      Разработчики блокчейна первого уровня Algorand провели обновление протокола, которое позволило снизить время производства блоков на 20%. Теперь блоки в сети появляются не реже, чем раз в 3 секунды. Обновление протокола получило название Dynamic Lambda или «динамическое время раунда». Оно увеличило пропускную способность сети и ее производительность.    Изменение «меняет завершенность блоков в зависимости от загрузки сети и других факторов». Если ранее среднее время выпуска блоков сос

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

    • Circle запатентовала технологию параллельной обработки блоков в блокчейнах

      Американская компания Circle, эмитент стейблкоинов USDC, получила патент на технологию параллельной обработки блоков в блокчейнах. Это метод фрагментарной обработки информации, применяемый при создании высоконагруженных программных решений. До недавнего времени, говорят представители компании, технология параллельной обработки данных, когда каждый последующий блок в блокчейне зависит от предыдущего блока, — была сложно реализуема.   «Узлы блокчейна, к которым подключаются криптовалю

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

    • Тони Варштеттер: «Более 70% блоков данных в MEV-Boost Эфириума проходят цензуру»

      Исследователь и аналитик данных Эфириума Тони Варштеттер рассказал, что «строители блоков» в MEV-Boost целенаправленно исключают транзакции, связанные с подсанкционными криптоадресами. Тони Варштеттер (Toni Wahrstätter) заявил, что сейчас пользователи Эфириума могут подвергаться цензуре на разных уровнях стека. В частности, «строители блоков данных», размещенных в MEV-Boost, промежуточном программном обеспечении, которое поддерживают почти все валидаторы Эфириума, могут создавать исключител

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

    • В блокчейне Base производство блоков останавливалось на несколько часов

      Собственный блокчейн криптовалютной биржи Coinbase — Base — испытал трудности с производством блоков в ночь на 6 сентября. Разработчики уже обнаружили причину и восстановили работу сети. Вечером 5 сентября производство блоков в блокчейне Base остановилось. Представители биржи сообщили, что «исследуют остановку», а пользователи могут столкнуться с проблемами при проведении транзакций.   Чуть позднее разработчики обнаружили проблему и обновили клиентов сети. Производство блоков восстан

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

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