Bitcoin Forum
May 26, 2024, 10:08:22 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Мега фейл 10 марта с разделением версий 0.7 0.8  (Read 3176 times)
somenick (OP)
Legendary
*
Offline Offline

Activity: 1286
Merit: 1004


View Profile
March 12, 2013, 02:42:09 PM
 #1

Моё частное мнение.
Говонокодеры наговнокодили так что они сами не понимают какие блоки должна нормально принимать их программа.
Биткоин нуждается в нормальных клиентах и жёстко описанном протоколе, а не в том что есть сейчас, когда ВНЕЗАПНО появляются две ветки транзакций.
Ждём полного раследования и подтвержения моих слов.
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
March 12, 2013, 03:15:04 PM
 #2

И кого винить? сатоши-дайс, за огромный объем микротранзакций (а я бы им памятник поставил, за то что благодаря им такие баги выявляют СЕЙЧАС а не через 10-20 лет) фирме Oracle, за то что их база berkleydb где то какой то лимит ввела, в который упирался клиент 0.7, или разработчиков bitcoin новой версии 0.8, которые умудрились сделать смену бакенда движка и добились уменьшения размера базы в разы и скорости первой загрузки так же в разы (часы а не недели)?
p.s. прежде чем вопить так дибильно, разберись сначала.

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 12, 2013, 04:03:59 PM
 #3

Еще учтите, что биткоин до сих пор в бете. И никто вам никаких гарантий не давал. Протокол описан вполне нормально. А вот говнокод там местами еще тот. Что такое "инкапсуляция" разработчики явно не слышали.

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
Azrace
Legendary
*
Offline Offline

Activity: 1218
Merit: 1004



View Profile
March 12, 2013, 04:51:43 PM
 #4

Что такое "инкапсуляция" разработчики явно не слышали.

а что это такое?
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 12, 2013, 05:15:51 PM
 #5

Инкапсуляция

Я, конечно, утрирую. Это просто то, что сразу бросается в глаза. Добавьте сюда неатомарные операции там, где они должны быть атомарными, куча магических чисел, разбросанных по коду и т.д. Впервые увидел этот код, когда захотел написать i2p-патч, первое желание - закрыть код и написать свой кошелек. Но одному писать такой большой проект слишком долго. Поэтому я все-таки разобрался с существующим кодом. В то же время читабельность кода на довольно высоком уровне, а это не мало. Да и попадаются нормально написанные места. Т.е. называть весь код говнокодом я бы не стал (я видел и похуже, даже в более серьезных проектах), но претензии к коду точно имеются. Думаю к версии 1.0 или хотя бы 2.0 будет выглядеть прилично. Ну а пока мы все с вами бета-тестеры.

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
somenick (OP)
Legendary
*
Offline Offline

Activity: 1286
Merit: 1004


View Profile
March 12, 2013, 07:03:30 PM
 #6

Протокол описан вполне нормально.
В протоколе должно быть чётко описано max колличество транзакций max кошельков  и тд.
И желательно тесты с этими значениями. Без такой очевидной вещи сеть не может существовать что очевидно.
somenick (OP)
Legendary
*
Offline Offline

Activity: 1286
Merit: 1004


View Profile
March 12, 2013, 07:04:36 PM
 #7

p.s. прежде чем вопить так дибильно, разберись сначала.
прежде чем защищать так дибильно разберись сначала
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 12, 2013, 07:29:48 PM
 #8

Протокол описан вполне нормально.
В протоколе должно быть чётко описано max колличество транзакций max кошельков  и тд.
И желательно тесты с этими значениями. Без такой очевидной вещи сеть не может существовать что очевидно.


Если вы так считаете - опишите сами, опен сорс же. Если сами не можете - откройте тикет на гитхабе.

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
somenick (OP)
Legendary
*
Offline Offline

Activity: 1286
Merit: 1004


View Profile
March 12, 2013, 07:35:51 PM
 #9

Если вы так считаете - опишите сами, опен сорс же. Если сами не можете - откройте тикет на гитхабе.
а вы так не считаете ?
тикет открывать, на изменение днк ?  Cheesy

кстати вы же читали код, вам нравиться хеширование блока по УКАЗАТЕЛЮ на экземпляр блока CBlock? По моему это ахтунг.
И там вся серелизация на этом построена.
Ivica
Full Member
***
Offline Offline

Activity: 218
Merit: 100


Firstbits: 19e3fc


View Profile
March 12, 2013, 07:55:58 PM
 #10

Sell. Wink

19e3fcoLTu8YVFAU1NywJ88YnHH5kF8ScP - donations are welcome.
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
March 13, 2013, 04:28:48 AM
 #11

Неуважаемый somenick, вы никогда не делали ошибок? вы никогда не делали ошибок в том, в чем вы ничего и не гарантировали, в том, за что вам даже не заплатили, то есть в деле 'на интерес'? в том, что никто никогда до вас не делал, где вы первопроходец?..

Случившееся вчера с сетью произошло с точностью по описанному ранее сценарию, в том, о чем твердят на каждом углу вики и форумов, в том, к чему готовили пользователей bitcoin с его самого рождения! Что неоднократно было протестировано на форках! Фундаментальная уязвимость особенность проекта - возможность одномоментно сосуществовать двум или более ветвям и опасность double spend. И конечно же, по всем заветам закона Мерфи, произошло подобное именно так, как не ожидали, но судя по тому что проблема была обнаружена в считанные часы, за этим есть кому следить.

Вот пожалуйста, свершилось, есть даже упоминания об успешном использовании double spend, и что? небо перевернулось, bitcoin умер, больше никто в криптовалюту никогда не поверит?

Серьезному бизнесу на все это наплевать! Будет принято к сведению, выработаны дополнительные стратегии и страховки, либо просто будет повышен на еще один процент уровень риска при использовании bitcoin, все равно кому то этот инструмент окажется удобнее/выгоднее.

p.s. по поводу говнокода, я же не спорю, но подумайте про сложность разработки проектов такого уровня:
Quote
Мастер автосервиса разговорился с клиентом:
(М)астер: А вот вы где работаете?
(К)лиент: Я кардиохирург, операции на сердце провожу
М: Круто! и сколько платят?
К: 20000$ за операцию...
М: Ни фига себе!!! а ведь по сути мы с тобой одним и тем же занимаемся - движки перебираем. Только мне платят намного меньше!
К: А хочешь как я получать?
М: Есессно!!!
Клиент заводит движок, открывает капот:
-ПЕРЕБИРАЙ!!!!

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
naima53
Hero Member
*****
Offline Offline

Activity: 616
Merit: 502



View Profile
March 13, 2013, 09:48:56 AM
 #12

Неуважаемый somenick, вы никогда не делали ошибок? вы никогда не делали ошибок в том, в чем вы ничего и не гарантировали, в том, за что вам даже не заплатили, то есть в деле 'на интерес'? в том, что никто никогда до вас не делал, где вы первопроходец?..

Случившееся вчера с сетью произошло с точностью по описанному ранее сценарию, в том, о чем твердят на каждом углу вики и форумов, в том, к чему готовили пользователей bitcoin с его самого рождения! Что неоднократно было протестировано на форках! Фундаментальная уязвимость особенность проекта - возможность одномоментно сосуществовать двум или более ветвям и опасность double spend. И конечно же, по всем заветам закона Мерфи, произошло подобное именно так, как не ожидали, но судя по тому что проблема была обнаружена в считанные часы, за этим есть кому следить.

Вот пожалуйста, свершилось, есть даже упоминания об успешном использовании double spend, и что? небо перевернулось, bitcoin умер, больше никто в криптовалюту никогда не поверит?

Серьезному бизнесу на все это наплевать! Будет принято к сведению, выработаны дополнительные стратегии и страховки, либо просто будет повышен на еще один процент уровень риска при использовании bitcoin, все равно кому то этот инструмент окажется удобнее/выгоднее.

p.s. по поводу говнокода, я же не спорю, но подумайте про сложность разработки проектов такого уровня:
Quote
Мастер автосервиса разговорился с клиентом:
(М)астер: А вот вы где работаете?
(К)лиент: Я кардиохирург, операции на сердце провожу
М: Круто! и сколько платят?
К: 20000$ за операцию...
М: Ни фига себе!!! а ведь по сути мы с тобой одним и тем же занимаемся - движки перебираем. Только мне платят намного меньше!
К: А хочешь как я получать?
М: Есессно!!!
Клиент заводит движок, открывает капот:
-ПЕРЕБИРАЙ!!!!
+100
Отдел мониторинга создать и вести просветельскую работу среди майнеров. Из нас кто на гильдию пересел в связи с инцидентом? Никто Sad Да еще и куча народа на 50бтц сидит с их варварским движком, позволяющим вести 2-спенд (по словам Бальтазара, поправьте если это не так)

Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 13, 2013, 11:33:21 AM
 #13

а вы так не считаете ?
Ситуация довольно проста.
Есть описанный протокол. В нем нет ограничений на количество и размер транзакций. Все клиенты должны придерживаться этого протокола. Но выясняется, что в версии 0.7 было скрытое ограничение на количество транзакций в блоке, о котором даже не знали сами разработчики. Оно было связано с каким-то внутренним ограничением BDB. Налицо несоответствие протокола и клиента. Если бы это был сторонний клиент, все бы сказали: "сами виноваты, что пользовались клиентом, не соответствующим протоколу", но ведь это "официальный" клиент. Выхода ровно два: подогнать протокол под кривой клиент или пофиксить клиент. Вы предлагаете подогнать протокол. Думаю, найдутся люди, которые с вами не согласятся. Лично я против внесения в протокол каких-то магических констант и непонятных ограничений. Я считаю, что правильный путь - это пофиксить клиент, т.е. заставить всех обновится до 0.8. Кстати, Гэвин предлагал именно этот путь. http://bitcoinstats.com/irc/bitcoin-dev/logs/2013/03/12

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
somenick (OP)
Legendary
*
Offline Offline

Activity: 1286
Merit: 1004


View Profile
March 13, 2013, 12:09:16 PM
 #14

giv
вы считаете не нужны магичесие константы ?
может тогда их нужно сделать большими ? и опять же проверить работоспособность.

ограничение BDB
ЭТО МЕГА ФЕЙЛ
у них при любой ошибке, программа возвращала что блок не принят, а должен возвращать внутренюю ошибку в записью в лог об ошибке и отсылке разработчику письма об ошибке с пометкой срочно.

ps остальным не отвечаю ибо некомпетентны
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 13, 2013, 01:18:19 PM
 #15

Именно. Считаю, что в протоколе ограничения, не обусловненные какими-то фундаментальными причинами (например, разрядностью соответствующего поля), не нужны. Считаю, что ситуация, когда блок с 1700 (например) транзакциями верен, а с 1701 транзакией - нет, является бредовой. Клиент должен обрабатывать любое количество. Как он будет это делать - это уже работа программистов. И то, что они не справились - действительно фейл. Но фейл именно в клиенте, а не в протоколе. В конце концов, сатоши-клиент - не последняя инстанция, и в сети теоретически может быть куча разных клиентов, которые будут хранить свои данные, как им вздумается. Поэтому ставить какое-то ограничение на протокол только потому что 0.7 версия сатоши-клиента не может чего-то там обработать, т.к. кому-то было лень прочитать документацию на BDB во время проектирования - считаю глупостью. Надо фиксить баг и заставлять всех переходить на новый клиент, а старый выкинуть, как несоответствующий протоколу. А тесты - понятно, что нужны, в том числе и на соответствие протоколу. И понятно, что 0.7 не просто должна была отбросить этот блок, а кричать "ай-ай-ай не могу сохранить в базу, ахтунг!!! голактеко опасносте!!!!11!11".

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
A-Bolt
Legendary
*
Offline Offline

Activity: 2317
Merit: 2318


View Profile
March 13, 2013, 02:29:14 PM
 #16

Ситуация довольно проста.
Есть описанный протокол. В нем нет ограничений на количество и размер транзакций. Все клиенты должны придерживаться этого протокола.

А как тогда понимать фразу, которая сейчас висит в новостях:
Mining on 0.8 is OK, but you should not increase the target block size from the default.   ?

Получается, что в клиенте версии 0.8 ограничение на размер блока есть, но владельцы пулов его увеличили ?
giv
Sr. Member
****
Offline Offline

Activity: 254
Merit: 251


View Profile
March 13, 2013, 03:48:34 PM
 #17

Оно задется опцией командной строки.
Code:
        "\n" + _("Block creation options:") + "\n" +
        "  -blockminsize=<n>      "   + _("Set minimum block size in bytes (default: 0)") + "\n" +
        "  -blockmaxsize=<n>      "   + _("Set maximum block size in bytes (default: 250000)") + "\n" +
        "  -blockprioritysize=<n> "   + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n" +
Эта опция нужна для размера генерируемого именно этим кошельком блока. Вполне логично, что майнеры сами могут решать какие блоки им генерировать. Но если они уже сгенерировали блок, и он соответствует всем правилам, то остальные кошельки обязаны его принять, независимо от их настроек. А кошелек версии 0.7 отбросил правильный блок, просто потому что не смог записать его в базу.

If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
----------------------
Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
naima53
Hero Member
*****
Offline Offline

Activity: 616
Merit: 502



View Profile
March 13, 2013, 06:30:39 PM
 #18

somenick я не хотел Вас оскорбить, согласившись с rPman в том, что действительно была ошибка и все ошибаются тем более что насколько я понял, кодируют "на перед и за бесплатно".  Undecided Да, действительно фейл, самое противное что создатели заложили туда алерты, в моем понимании, у Гэвина (и у кого еще там глав-ключи) на стене должна в спальне красный фонарь закрутиться и заморгать  Cheesy когда половина клиентов отклонила блок и автоматом сработал алерт (они похоже его в ручную только разослать могут).

Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
Format.C^
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
May 30, 2013, 05:06:43 AM
 #19

Именно. Считаю, что в протоколе ограничения, не обусловненные какими-то фундаментальными причинами (например, разрядностью соответствующего поля), не нужны. Считаю, что ситуация, когда блок с 1700 (например) транзакциями верен, а с 1701 транзакией - нет, является бредовой. Клиент должен обрабатывать любое количество. Как он будет это делать - это уже работа программистов. И то, что они не справились - действительно фейл. Но фейл именно в клиенте, а не в протоколе. В конце концов, сатоши-клиент - не последняя инстанция, и в сети теоретически может быть куча разных клиентов, которые будут хранить свои данные, как им вздумается. Поэтому ставить какое-то ограничение на протокол только потому что 0.7 версия сатоши-клиента не может чего-то там обработать, т.к. кому-то было лень прочитать документацию на BDB во время проектирования - считаю глупостью. Надо фиксить баг и заставлять всех переходить на новый клиент, а старый выкинуть, как несоответствующий протоколу. А тесты - понятно, что нужны, в том числе и на соответствие протоколу. И понятно, что 0.7 не просто должна была отбросить этот блок, а кричать "ай-ай-ай не могу сохранить в базу, ахтунг!!! голактеко опасносте!!!!11!11".
+100. Более добавить нечего.

somenick, потрудитесь сначала разобраться в том потоке мыслей, которые Вы озвучиваете. Я тоже согласен, что "да, фейл!". Но, что катастрофического произошло? Вы еще спасибо Сатоши [Гэвину] должны сказать, что все произошло именно так, а не иначе...имхо. На всякий случай напомню, что их работу никто не оплачивал, и фрагменты "говнокода" в ней не исключены.
arruah
Legendary
*
Offline Offline

Activity: 1357
Merit: 1004



View Profile WWW
May 30, 2013, 05:09:18 AM
 #20

Называть говнокодом биткоин мягко говоря опрометчиво.

BCH
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!