somenick (OP)
Legendary
Offline
Activity: 1286
Merit: 1004
|
|
March 12, 2013, 02:42:09 PM |
|
Моё частное мнение. Говонокодеры наговнокодили так что они сами не понимают какие блоки должна нормально принимать их программа. Биткоин нуждается в нормальных клиентах и жёстко описанном протоколе, а не в том что есть сейчас, когда ВНЕЗАПНО появляются две ветки транзакций. Ждём полного раследования и подтвержения моих слов.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
March 12, 2013, 03:15:04 PM |
|
И кого винить? сатоши-дайс, за огромный объем микротранзакций (а я бы им памятник поставил, за то что благодаря им такие баги выявляют СЕЙЧАС а не через 10-20 лет) фирме Oracle, за то что их база berkleydb где то какой то лимит ввела, в который упирался клиент 0.7, или разработчиков bitcoin новой версии 0.8, которые умудрились сделать смену бакенда движка и добились уменьшения размера базы в разы и скорости первой загрузки так же в разы (часы а не недели)? p.s. прежде чем вопить так дибильно, разберись сначала.
|
|
|
|
giv
|
|
March 12, 2013, 04:03:59 PM |
|
Еще учтите, что биткоин до сих пор в бете. И никто вам никаких гарантий не давал. Протокол описан вполне нормально. А вот говнокод там местами еще тот. Что такое "инкапсуляция" разработчики явно не слышали.
|
If you like my I2P-patch for bitcoin-qt/bitcoind, please, donate my project! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754 ---------------------- Если Вам нравится мой I2P-патч для bitcoin-qt/bitcoind, пожалуйста, поддержите мой проект! 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
|
|
|
Azrace
Legendary
Offline
Activity: 1218
Merit: 1004
|
|
March 12, 2013, 04:51:43 PM |
|
Что такое "инкапсуляция" разработчики явно не слышали.
а что это такое?
|
|
|
|
giv
|
|
March 12, 2013, 05:15:51 PM |
|
ИнкапсуляцияЯ, конечно, утрирую. Это просто то, что сразу бросается в глаза. Добавьте сюда неатомарные операции там, где они должны быть атомарными, куча магических чисел, разбросанных по коду и т.д. Впервые увидел этот код, когда захотел написать 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
Activity: 1286
Merit: 1004
|
|
March 12, 2013, 07:03:30 PM |
|
Протокол описан вполне нормально.
В протоколе должно быть чётко описано max колличество транзакций max кошельков и тд. И желательно тесты с этими значениями. Без такой очевидной вещи сеть не может существовать что очевидно.
|
|
|
|
somenick (OP)
Legendary
Offline
Activity: 1286
Merit: 1004
|
|
March 12, 2013, 07:04:36 PM |
|
p.s. прежде чем вопить так дибильно, разберись сначала.
прежде чем защищать так дибильно разберись сначала
|
|
|
|
giv
|
|
March 12, 2013, 07:29:48 PM |
|
Протокол описан вполне нормально.
В протоколе должно быть чётко описано 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
Activity: 1286
Merit: 1004
|
|
March 12, 2013, 07:35:51 PM |
|
Если вы так считаете - опишите сами, опен сорс же. Если сами не можете - откройте тикет на гитхабе.
а вы так не считаете ? тикет открывать, на изменение днк ? кстати вы же читали код, вам нравиться хеширование блока по УКАЗАТЕЛЮ на экземпляр блока CBlock? По моему это ахтунг. И там вся серелизация на этом построена.
|
|
|
|
Ivica
Full Member
Offline
Activity: 218
Merit: 100
Firstbits: 19e3fc
|
|
March 12, 2013, 07:55:58 PM |
|
Sell.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
March 13, 2013, 04:28:48 AM |
|
Неуважаемый somenick, вы никогда не делали ошибок? вы никогда не делали ошибок в том, в чем вы ничего и не гарантировали, в том, за что вам даже не заплатили, то есть в деле 'на интерес'? в том, что никто никогда до вас не делал, где вы первопроходец?.. Случившееся вчера с сетью произошло с точностью по описанному ранее сценарию, в том, о чем твердят на каждом углу вики и форумов, в том, к чему готовили пользователей bitcoin с его самого рождения! Что неоднократно было протестировано на форках! Фундаментальная уязвимость особенность проекта - возможность одномоментно сосуществовать двум или более ветвям и опасность double spend. И конечно же, по всем заветам закона Мерфи, произошло подобное именно так, как не ожидали, но судя по тому что проблема была обнаружена в считанные часы, за этим есть кому следить. Вот пожалуйста, свершилось, есть даже упоминания об успешном использовании double spend, и что? небо перевернулось, bitcoin умер, больше никто в криптовалюту никогда не поверит? Серьезному бизнесу на все это наплевать! Будет принято к сведению, выработаны дополнительные стратегии и страховки, либо просто будет повышен на еще один процент уровень риска при использовании bitcoin, все равно кому то этот инструмент окажется удобнее/выгоднее. p.s. по поводу говнокода, я же не спорю, но подумайте про сложность разработки проектов такого уровня: Мастер автосервиса разговорился с клиентом: (М)астер: А вот вы где работаете? (К)лиент: Я кардиохирург, операции на сердце провожу М: Круто! и сколько платят? К: 20000$ за операцию... М: Ни фига себе!!! а ведь по сути мы с тобой одним и тем же занимаемся - движки перебираем. Только мне платят намного меньше! К: А хочешь как я получать? М: Есессно!!! Клиент заводит движок, открывает капот: -ПЕРЕБИРАЙ!!!!
|
|
|
|
naima53
|
|
March 13, 2013, 09:48:56 AM |
|
Неуважаемый somenick, вы никогда не делали ошибок? вы никогда не делали ошибок в том, в чем вы ничего и не гарантировали, в том, за что вам даже не заплатили, то есть в деле 'на интерес'? в том, что никто никогда до вас не делал, где вы первопроходец?.. Случившееся вчера с сетью произошло с точностью по описанному ранее сценарию, в том, о чем твердят на каждом углу вики и форумов, в том, к чему готовили пользователей bitcoin с его самого рождения! Что неоднократно было протестировано на форках! Фундаментальная уязвимость особенность проекта - возможность одномоментно сосуществовать двум или более ветвям и опасность double spend. И конечно же, по всем заветам закона Мерфи, произошло подобное именно так, как не ожидали, но судя по тому что проблема была обнаружена в считанные часы, за этим есть кому следить. Вот пожалуйста, свершилось, есть даже упоминания об успешном использовании double spend, и что? небо перевернулось, bitcoin умер, больше никто в криптовалюту никогда не поверит? Серьезному бизнесу на все это наплевать! Будет принято к сведению, выработаны дополнительные стратегии и страховки, либо просто будет повышен на еще один процент уровень риска при использовании bitcoin, все равно кому то этот инструмент окажется удобнее/выгоднее. p.s. по поводу говнокода, я же не спорю, но подумайте про сложность разработки проектов такого уровня: Мастер автосервиса разговорился с клиентом: (М)астер: А вот вы где работаете? (К)лиент: Я кардиохирург, операции на сердце провожу М: Круто! и сколько платят? К: 20000$ за операцию... М: Ни фига себе!!! а ведь по сути мы с тобой одним и тем же занимаемся - движки перебираем. Только мне платят намного меньше! К: А хочешь как я получать? М: Есессно!!! Клиент заводит движок, открывает капот: -ПЕРЕБИРАЙ!!!! +100 Отдел мониторинга создать и вести просветельскую работу среди майнеров. Из нас кто на гильдию пересел в связи с инцидентом? Никто Да еще и куча народа на 50бтц сидит с их варварским движком, позволяющим вести 2-спенд (по словам Бальтазара, поправьте если это не так)
|
Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
|
|
|
giv
|
|
March 13, 2013, 11:33:21 AM |
|
а вы так не считаете ?
Ситуация довольно проста. Есть описанный протокол. В нем нет ограничений на количество и размер транзакций. Все клиенты должны придерживаться этого протокола. Но выясняется, что в версии 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
Activity: 1286
Merit: 1004
|
|
March 13, 2013, 12:09:16 PM |
|
giv вы считаете не нужны магичесие константы ? может тогда их нужно сделать большими ? и опять же проверить работоспособность.
ограничение BDB ЭТО МЕГА ФЕЙЛ у них при любой ошибке, программа возвращала что блок не принят, а должен возвращать внутренюю ошибку в записью в лог об ошибке и отсылке разработчику письма об ошибке с пометкой срочно.
ps остальным не отвечаю ибо некомпетентны
|
|
|
|
giv
|
|
March 13, 2013, 01:18:19 PM |
|
Именно. Считаю, что в протоколе ограничения, не обусловненные какими-то фундаментальными причинами (например, разрядностью соответствующего поля), не нужны. Считаю, что ситуация, когда блок с 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
Activity: 2318
Merit: 2333
|
|
March 13, 2013, 02:29:14 PM |
|
Ситуация довольно проста. Есть описанный протокол. В нем нет ограничений на количество и размер транзакций. Все клиенты должны придерживаться этого протокола. А как тогда понимать фразу, которая сейчас висит в новостях: Mining on 0.8 is OK, but you should not increase the target block size from the default. ? Получается, что в клиенте версии 0.8 ограничение на размер блока есть, но владельцы пулов его увеличили ?
|
|
|
|
giv
|
|
March 13, 2013, 03:48:34 PM |
|
Оно задется опцией командной строки. "\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
|
|
March 13, 2013, 06:30:39 PM |
|
somenick я не хотел Вас оскорбить, согласившись с rPman в том, что действительно была ошибка и все ошибаются тем более что насколько я понял, кодируют "на перед и за бесплатно". Да, действительно фейл, самое противное что создатели заложили туда алерты, в моем понимании, у Гэвина (и у кого еще там глав-ключи) на стене должна в спальне красный фонарь закрутиться и заморгать когда половина клиентов отклонила блок и автоматом сработал алерт (они похоже его в ручную только разослать могут).
|
Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
|
|
|
Format.C^
|
|
May 30, 2013, 05:06:43 AM |
|
Именно. Считаю, что в протоколе ограничения, не обусловненные какими-то фундаментальными причинами (например, разрядностью соответствующего поля), не нужны. Считаю, что ситуация, когда блок с 1700 (например) транзакциями верен, а с 1701 транзакией - нет, является бредовой. Клиент должен обрабатывать любое количество. Как он будет это делать - это уже работа программистов. И то, что они не справились - действительно фейл. Но фейл именно в клиенте, а не в протоколе. В конце концов, сатоши-клиент - не последняя инстанция, и в сети теоретически может быть куча разных клиентов, которые будут хранить свои данные, как им вздумается. Поэтому ставить какое-то ограничение на протокол только потому что 0.7 версия сатоши-клиента не может чего-то там обработать, т.к. кому-то было лень прочитать документацию на BDB во время проектирования - считаю глупостью. Надо фиксить баг и заставлять всех переходить на новый клиент, а старый выкинуть, как несоответствующий протоколу. А тесты - понятно, что нужны, в том числе и на соответствие протоколу. И понятно, что 0.7 не просто должна была отбросить этот блок, а кричать "ай-ай-ай не могу сохранить в базу, ахтунг!!! голактеко опасносте!!!!11!11".
+100. Более добавить нечего. somenick, потрудитесь сначала разобраться в том потоке мыслей, которые Вы озвучиваете. Я тоже согласен, что "да, фейл!". Но, что катастрофического произошло? Вы еще спасибо Сатоши [Гэвину] должны сказать, что все произошло именно так, а не иначе...имхо. На всякий случай напомню, что их работу никто не оплачивал, и фрагменты "говнокода" в ней не исключены.
|
|
|
|
arruah
Legendary
Offline
Activity: 1357
Merit: 1004
|
|
May 30, 2013, 05:09:18 AM |
|
Называть говнокодом биткоин мягко говоря опрометчиво.
|
BCH
|
|
|
|