Jump to content
Sign in to follow this  
nikkolo

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
7 минут назад, Lexis77 сказал:

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

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

Share this post


Link to post
Share on other sites

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

 

Bitcoin-Blockchain-fork.png

 

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

 

Bitcoin-blockchain-merge.png

 

 

 

Share this post


Link to post
Share on other sites

 

Позволю себе вставить код из книжки 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"
}

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

Edited by nikkolo

Share this post


Link to post
Share on other sites
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:

 

 

Share this post


Link to post
Share on other sites
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 лет!

Edited by sankopolo

Share this post


Link to post
Share on other sites
2 минуты назад, vvvb1 сказал:

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

 

 

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

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

Edited by nikkolo

Share this post


Link to post
Share on other sites

ага,

 

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

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

431,611322832 млрд лет!

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

 

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

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

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

 

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

aaf82893c043d33c456f88e5271e4a6a.jpeg

 

Edited by vvvb1

Share this post


Link to post
Share on other sites

large.5ab2afc0735c3_.PNG.be47395fdcefd6c2c80a2e908cc28787.PNG

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

ага,

 

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

 

 

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

aaf82893c043d33c456f88e5271e4a6a.jpeg

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

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

Edited by nikkolo

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Разработчики Kava остановили производство блоков из-за ошибки в коде

      Вчера, 4 марта, Kava Labs запустила основную сеть Kava 5, однако вскоре после этого производство блоков было остановлено из-за критической ошибки, позволяющей ускорить производство токенов. Разработчики протокола децентрализованного финансирования Kava сообщили в социальной сети Twitter, что производство блоков было остановлено комитетом по безопасности сети и готовится патч, исправляющий ошибку. Перезапуск блокчейна должен состояться 5 марта, в 9 утра по московскому времени.   «

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

    • В сети криптовалюты Verge произошла масштабная реорганизация блоков

      Ориентированная на конфиденциальность криптовалюта Verge столкнулась с масштабной реорганизацией блоков – в сети были заменены транзакции аж с июля 2020 года. Это стало крупнейшей реорганизацией блоков в сети криптовалюты из топ-100 за всю историю. Одним из первых реорганизацию заметил операционный директор сервиса Coinmetrics Антуан Ле Калвез (Antoine Le Calvez). Он подчеркнул, что реорганизация затронула 560 000 блоков.   Кальвез предположил, что реорганизация была вызвана двойн

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

    • Атака на блокчейн Tron остановила создание блоков на два часа

      Блокчейн Tron был атакован во время обновления утром 2 ноября – создание блоков приостановилось на два часа. Разработчики устранили уязвимость и восстановили работу сети. Как сообщил в серии записей в Твиттере генеральный директор Tron Джастин Сан (Justin Sun), во время обновления блокчейна Tron до версии 4.1 основная сеть «была атакована вредоносным контрактом». По словам Сана, злоумышленник инициировал вредоносные транзакции, в результате чего «суперпредставитель приостановил создание б

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

    • Google Cloud стал кандидатом в производители блоков в сети EOS

      Облачный провайдер Google Cloud присоединился к сообществу EOS и пополнил ряды кандидатов в производители блоков этой сети. На фоне это новости курс EOS прибавил более 10%. Создатели блоков — один из ключевых элементов экосистемы EOS, а взаимодействие с такими провайдерами как Google Cloud – важное событие в истории проекта. Google Cloud считается одним из мировых лидеров технологических инноваций, поэтому привлечение такого крупного партнера будет способствовать внедрению блокчейна на ко

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

    • MyEtherWallet запустил собственный обозреватель блоков Эфириума

      Популярный кошелек MyEtherWallet запустил собственный обозреватель блоков Эфириума с открытым исходным кодом. Новый сервис EthVM должен стать более удобным и прозрачным обозревателем по сравнению с проектами Etherscan и Ethplorer. Разработчикам будет проще учитывать пожелания пользователей и, возможно, создавать новые решения на базе EthVM. В статье в блоге MyEtherWallet подчеркивается:   «Прошло более пяти лет с момента создания MyEtherWallet. Теперь он стал целой платформой, на

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

×
×
  • Create New...