Разработчики криптовалюты Zcoin (https://en.wikipedia.org/wiki/Zerocoin) сообщили (https://zcoin.io/language/en/important-announcement-zerocoin... о выявлении критической ошибки в реализации клиентского ПО, которая позволяла повторно создавать расходные транзакции, т.е. потратить имеющиеся средства два раза. Проблема была выявлена в ходе разбирательства, инициированного после того, как разработчики обнаружили, что сумма расходных транзакций в системе превышает сумму средств, полученных в результате майнинга (https://ru.wikipedia.org/wiki/%D0%9C%D0%....
Отмечается, что проблема не затрагивает протокол Zerocoin и лежащие в основе криптовалюты криптографические методы, а связана только с программной ошибкой, из-за которой в коде не верно выполнялась проверка транзакций. Суть ошибки (https://github.com/zcoinofficial/zcoin/commit/b20c177032de3c... была в том, что константа MAX_SPEND_ZC_TX_PER_BLOCK, определяющая максимальное число расходных транзакций для блока была выставлена в значение "1", в то время как при сравнении со счётчиком применялось условие "if (COUNT_SPEND_ZC_TX >= MAX_SPEND_ZC_TX_PER_BLOCK) {", что подразумевало возможность проведения двух транзакций при значении счётчика 0 и 1.Примечательно, что ошибкой успели воспользоваться мошенники, которым удалось создать примерно 370 тысяч Zcoin (около 500 тысяч долларов, что примерно 30% от общей капитализации данной криптовалюты), которые почти полностью были проданы на бирже. Ошибка также никак не влияет на анонимность Zerocoin, в том числе личности мошенников так и остались невыясненными. После обнаружения проблемы уровень капитализации Zcoin снизился (https://coinmarketcap.com/currencies/zcoin/#charts) с 2.6 млн долларов до 1.6 млн.
Поиск на GitHub показывает, что данная проблема остаётся неисправленной как минимум ещё в трёх криптовалютах - zoin (https://coinmarketcap.com/currencies/zoin/), nxcoin (https://github.com/nxcoin/nxcoin-project) и kurrent (https://coinmarketcap.com/currencies/kurrent/).
URL: https://zcoin.io/language/en/important-announcement-zerocoin.../
Новость: http://www.opennet.me/opennews/art.shtml?num=46069
Пи..ец, и как к этому относиться? Ой, ребята у нас украли пол ляма, но ничего продолжайте нам доверять, мы же верили что наш гениальный код не может содержать ошибок, он же открыт, зачем проверять свою систему?
Ну для авторов исходники закрыты и они не видели кода позволяющего навариться. Только сообщество видит исходники и ошибки в коде.
Такую ошибку в коде почти нереально найти, не зная что ищешь, здесь проблема в разрабах, которые не проводили тесты на соответствие общих цифр регулярно.
как можно доверять стопяцотому форку биткоина зная что большинство из них и без ошибок сделаны для навара автора форка...
Это было бы смешно, если бы такое не приходилось слышать от менеджеров сбербанка =)
> Пи..ец, и как к этому относиться?Бежать на биржу, покупать обвалившиеся фантики, как вариант. В надежде на отскок.
Т.е. я могу откатить патч для своего клиента и продолжать навариваться дальше?
Конечно можешь. Только вначале надо сесть на ковер-самолет, облететь всю планету и откатить этот патч у всех остальных клиентов.
Глупости. Ещё не пофиксили. И без смены версии протокола, фикс клиента бесполезен. В любой момент я смогу изменив код и собрав из исходников продолжать дабспендить.
И даже если будет изменена версия протокола, то можно продолжать даблспендить если на уровне протокола не будет той-же самой проверке что и на исправленом клиенте.
Так что этот эпик-фейл, зерокоину надолго запомнится. А учитывая как они сид готовили в тихушку, то вообще нафиг никому теперь не нужны.
> Ошибка также никак не влияет на анонимность Zerocoin, в том числе личности мошенников так и остались невыясненными.Это успех!
>> Ошибка также никак не влияет на анонимность Zerocoin, в том числе личности мошенников так и остались невыясненными.
> Это успех!Личности мошенников установлены -- "фууу, ниананимна". Личности мошенников неустановлены -- "фууу, нибизапасна". Школьникам не угодишь.
Сами разработчики вполне могли навариться.
>>> Ошибка также никак не влияет на анонимность Zerocoin, в том числе личности мошенников так и остались невыясненными.
>> Это успех!
> Личности мошенников установлены -- "фууу, ниананимна". Личности мошенников неустановлены
> -- "фууу, нибизапасна". Школьникам не угодишь.
> Мошенников нет, развести некого
> -- "фууу, нинужнаа".
"Наша криптовалюта обеспечена кривым кодом!" (ц)
>ошибкой успели воспользоваться мошенники, которым удалось создать примерно 370 тысяч Zcoin (около 500 тысяч долларов), которые почти полностью были проданы на биржекрасавчики!
побольше таких случаев надо, чтоб отбило охоту пользоваться
Можно подумать, с материальной валютой мошенничество не реально. Ха!
Подобное копирование реальной валюты сильно затруднено и строго карается.
> Подобное копирование реальной валюты сильно затруднено и строго карается.Что-то тех, кто деньги печатает, совсем сильно покарали.
Живу я такой в России и 99% собственности в России и в рублях, а пару лет назад раз, и вся моя собственность в три раза дешевле стала, а сейчас всё устаканилось, и теперь только в два раза дешевле чем в начале.
Вот и считай что выгоднее - 30% потерять или 50%?
Я чёт не понял, ты в чём хранил средства?Если в рублях (валюте), то значит ты принял на себя валютные риски - риски, связанные с изменением курсов валют с течением времени. Некоторые почему то считают, что если он хранят в национальной валюте (рублях), то валютные риски к ним не применяются - это не так. Любая валюта - это валютный риск. Её покупательская стоимость растёт и снижается. Самый частый способ управления этим риском - избавиться от него = потратить деньги.
Если хранил в материальном товаре (золото, недвижимость, антиквариат, водка, сахар, ..), значит принял на себя стоимостные риски - риски изменения стоимости товара с течением времени. Этот риск может быть территориально выражен, напр. недвижимость в одном месте может начать дорожать, а в другом дешеветь и если в начале ты имел возможность купить недвижимость в обоих местах, то спустя время в одном месте "купишь две", а в другом денег на покупку не хватит.
Инвестиции, вкл. сохранение капитала (= инвестиция с нулевой доходностью) - это ВСЕГДА риск. И первое чему нужно научиться - это риск-менедженту - принятию рисков и управлению рисками. Самый известный и часто применяемый способ управления риском - диверсификация.
Ну вот и с ZerCoin так же )))).
Ну я тебе пример привожу медианного российского гражданина у которого в собственности часть картиры, например, и живёт он от зарплаты до зарплаты, отдавая кредит за авто. И девирсифицировать ему особо нечего.
Конечно, зависимость рубля от нефти правильней сравнивать с зависимостью Zcoin от наркополитики, а укравших Zcoin-ы с фальшивомонетчиками и кардерами, но и в этом случае страдания разделили все пользователи равномерно - это преимущество.
Если нет накоплений - не бывает и потерь.Как только деньги появляются, человек последовательно проходит следующие стадии (обычно):
- банковский депозит
- банковский депозит в валюте
- паи ПИФа
- акции, облигации
- недвижимость, деривативы
- покупка и продажа бизнесовКаждый следующий шаг дороже и сопряжён со всё возрастающим риском. Виртуальных валют в этом списке вообще нет, потому что это хайп.
В хайпах тоже можно заработать, но там другая модель "инвестирования" и совсем другие риски (танцы на минном поле). Воровство половины всех денег из экономики страны - нонсенс, для хайпа - норма.
> Я чёт не понял, ты в чём хранил средства?
> Если в рублях (валюте), то значит ты принял на себя валютные риски
> - риски, связанные с изменением курсов валют с течением времени.Не принял, а заставили. Экономика - замкнутая в плане денег система. У кого-то прибыло - значит у кого-то убыло. Есть такая вещь как регулирование, она нужно специально, чтобы заставить людей держать деньги в валюте и терять их, чтобы у тех, кто их печатает, прибыло.
Исходя из твоей логики, нужно было свою недвижимость в криптовалюту преобразовывать. Мой тебе совет, если у тебя нет ни*уя, то не надо своё детсадовское размышлялово с процентами разводить. Хотя здесь катит. Среди себе подобных.
> Живу я такой в России и 99% собственности в России и в
> рублях, а пару лет назад раз, и вся моя собственность в
> три раза дешевле сталаВ смысле её физически стало втрое меньше? Или горючки на неё стало можно меньше купить?
Смотрите, люди -- вот это довольно топорный пример манипуляции за счёт недосказанного, но вроде бы как подразумеваемого, но отвечать -- "не написано же" -- автор за вброс не собирается явно.
> В смысле её физически стало втрое меньше? Или горючки на неё
> стало можно меньше купить?Думаю имелась ввиду цена в долларах.
> Думаю имелась ввиду цена в долларах.А это была такая очень странная штука ещё во времена де Голля, как французишки со своим кораблём резаной бумаги вдруг выяснили...
С тех пор легче отнюдь не стало: http://i1208.photobucket.com/albums/cc362/cremerius/Chart1_z... (на http://archive.constantcontact.com/fs120/1100410667348/archi...
> ... и вся моя собственность в три раза дешевле стала ...
> Вот и считай что выгоднее - 30% потерять или 50%?в три раза дешевле -- это потеря 66%, а не 30%.
В любом популярным ПО сталкиваются с подобным. Это плата за улучшение кода.
За такие ошибки, в таком ПО, обычно отдают под суд.
Мошенники-то не помайны. Заочно судить анонимов :)
Осудить разработчиков за нанесённый материальный ущерб.
> Осудить разработчиков за нанесённый материальный ущерб.Почти во всех лицензиях отказ нести ответственность есть.
с контрактами ethereum была схожая ситуация, хитрый чел смог навариться, что привело к падению курса, созданию форка, отмене транзакций.
> с контрактами ethereum была схожая ситуация, хитрый чел смог навариться, что привело
> к падению курса, созданию форка, отмене транзакций.Там была несколько иная ситуация. В итоге атакующий не успел продать в основной ветке, так как его монеты аннулировали, но все привело к разделению сети и оттоку части капитала туда, где он их смог продать. Но в целом ситуация похожая. Там это, кстати, привело к обсуждению необходимости формальной верификации контрактов.
Вывод: надо всегда комментировать почему начальное значение переменной или константы указано именно такое-то. А не только указывать зачем переменная нужна....и я смотрю тут на
unsigned int COUNT_SPEND_ZC_TX = 0;
unsigned int MAX_SPEND_ZC_TX_PER_BLOCK = 0;
Зачем COUNT_SPEND_ZC_TX написан большими буквами, если это не константа?
И почему MAX_SPEND_ZC_TX_PER_BLOCK не const, если оно большими буквами записано и нигде вообще не меняется?
И пофиксили некрасиво: раз теперь MAX_SPEND_ZC_TX_PER_BLOCK = 0, то получается, что всегда COUNT_SPEND_ZC_TX >= MAX_SPEND_ZC_TX_PER_BLOCK, т.к. обе переменные — unsigned. Надо было нормально поставить комментарий, что временно такой-то функционал отключён.
Очередные электронные фантики проглючило.
Лучше уж электронные фантики, обеспечивающие приватность транзакций, чем тотально отслеживаемые проприетарные корпоративные подконтрольные государству стабильные электронные фантики visa.
Через visa я могу прямо сейчас пойти и купить всё от хлеба до автомобиля, а могу даже и не ходить, мне всё привезут. А этими чупакабрами я где и с кем буду расплачиваться? Или это тоже часть этой вашей "свободы", свободы не мочь ничего?
Это не принципиальная проблема, а вопрос популярности и инфраструктуры. Примерно как с.. операционными системами альтернативными windows. Тот же автомобиль вы могли бы купить и за наличные деньги, но вам навязали электронные фантики виза, потому что они позволяют легко отслеживать историю транзакций и ограничивать их.
Хахаха! Почему я не могу купить авто за нал? Могу же! А знаешь почему люди не любят покупать авто за нал? Потому что там сразу идёт засветка по договору с банком о наличном платеже, а с карты не такой засвет. Этого ты тоже не знаешь.
Пока что можешь. Вскоре, наличные платежи будут ограничены. В целом нас вынуждают использовать карты.
Я не знаю, что такое засветка, но как я понял такой платеж выделяется и привлекает излишнее внимание. Вот видишь, ты уже не можешь свободно выбирать способ оплаты, свободно распоряжаться своими средствами. Разве это хорошо? Чему ты радуешься?
Это сложный комплексный вопрос сильно выходящий за рамки данной дискуссии. Предпочтение электронным платежам и контроль этих платежей сильно ограничивает возможности коррупции, например. Но не везде. Уровень либерализации и демократии в обществе должен находиться на должном уровне. Видишь, я начал уже ненавистные для местных люмпенов определения писать. Я же говорю, это комплексный и сложный вопрос. Для этой страны не будет работать.
Да. Так как этот "должный уровень" формально определить нельзя, то каждый решает за себя сам. Доверяет ли он государству. Какие из фантиков ему интереснее.
>> Предпочтение электронным платежам и контроль этих платежей сильно ограничивает возможности коррупции, напримерРаньше брали взятки борзыми щенками, теперь будут использовать предоплаченные карты. В чем новизна, если за мошенничество или взятку почти всегда в России наказывают условно, а то и вовсе отпускают "за отсутствием состава преступления"?
Тот мальчик просто не в курсе за большие деньги. Приемы гостей с оплатой входа, контракты на прочтение лекций в течении нескольких лет. И другие легальные способы отдать деньги человеку. Какая коррупция, что вы - только честное лоббирование. Никакой нал-безнал этим схемам не помеха.
Он в курсе. Когда деньги и владение (имуществом, автомобилями, компаниями) перестают быть анонимными, взятка в любом виде увеличивает благосостояние. И найти тех, кто живёт не на одну зарплату становится элементарным. Дальше вступает в силу ст. 20 UNCAC.Ключевой вопрос: готово ли общество (конкретно ты) отказаться от анонимности чтобы победить воровство, коррупцию и торговлю наркотиками?
Конечно убитие анонимности победит коррупцию. Сильно это помогло в таком явлении как амакудари? Чтение лекций бывшими президентами богатых стран и верховных чиновников за большие деньги легальны. Финансирование избирательной компании в сша и обеспечение хорошей работой после истечения полномочий должностного лица. Всё прозрачно. И законно. Эти большие траты денег конечно не коррупция, а по велению души. Ключевой вопрос: у тебя мышление ребенка или ты гтов увидеть всю картину целиком, не сваливаясь в бред "отемена анонимности искоренит воровство, коррупцию и прочую незаконщину".Кстати тебе ещё один вопрос, для напряжения серых клеточек. Если в америке полностью на карточки всё перетащили, то откуда берутся двадцатки у нарков? Почему правительство не изымет их из оборота и тем самым придушит этот бузинес?
Запрет на занятие иной деятельностью, кроме государственной должности, поможет. Решение есть, но и плата высока. Система опробована в Сингапуре и она работает.В США обсуждается вопрос об отмене 50 и 100$ купюр, в обороте останется лишь мелочь на повседневные расходы, остальное карты. В РФ внедряют чтобы кассовые аппараты сразу стучали в налоговую о каждом факте операции. Если все кассовые аппараты будут подключены к интернету, до отмены нала отсюда один шаг.
Мир идёт к электронным деньгам хочешь ты этого или нет. Остаются морально-этические вопросы: готов ли ты отказаться от анонимности чтобы победить преступность.
В интернете вопросы те же самые: всеобщая паспортизация исключит спам, контрафакт и DDOS.
> Запрет на занятие иной деятельностью, кроме государственной должности, поможет. Решение есть, но и плата высока. Система опробована в Сингапуре и она работает.Оукей. И как же это будет выглядеть? Передача по наследству постов? Создание касты чиновников? А если человек хочет уйти на пенсию по возрасту а там работать консультантом, потому что опыт большой, ему надо запретить? А не справляющихся чиновников какому наказанию подвергнуть? Отправить в вечные безработные? Про опыт Сингапура смешно. Страна на несколько миллионов человек в которую вливали огромные деньги с запада как пример. И сколько стран в мире способно будет дорасти до такого уровня ввп на душу населения?
> В США обсуждается вопрос об отмене 50 и 100$ купюр, в обороте останется лишь мелочь на повседневные расходы, остальное карты.
Вопрос только один. Почему они не сделали этого до сих пор? И ещё на подумать. В голливуде ничего не происходит просто так. Почему появился очень обласканный фильм Сикарио и зачем он нужен сейчас? Понимаю что сложно составить некоторые выводы. Но ответ то простой. Никому не нужна ни борьба с коррупцией, ни с воровством. Это капитализм - власть предержащим надо оставить всё как есть. Если этому будет помогать коррупция, ой я извиняюсь, - лоббирование. Если этому будет помогать театры с выборами власти. Если этому будет помогать оставление налика для криминала. Всё будет продолджаться.
> В РФ внедряют чтобы кассовые аппараты сразу стучали в налоговую о каждом факте операции. Если все кассовые аппараты будут подключены к интернету, до отмены нала отсюда один шаг.
С 1 февраля уже обязаловка. Уже немного проблем доставило это решение. Конторы - мелкий бизнес, что мог привезти некоторые материалы, сняли кассовые аппараты с этого года. Пришлось с соседней областью договариваться.
> Мир идёт к электронным деньгам хочешь ты этого или нет. Остаются морально-этические вопросы: готов ли ты отказаться от анонимности чтобы победить преступность.
Мне без разницы к чему идёт мир. Вижу только что подобные тебе сами загоняют себя в стойло и дают кнут в руки хозяев под крики - мы победим преступность. Навивность.
> В интернете вопросы те же самые: всеобщая паспортизация исключит спам, контрафакт и DDOS.
Очень смешно. Не раньше чем введут ответственность пользователей за их компьютерные устройства. Поучаствовал роутер в ботнете - получи штраф. Вот тогда все испугаются и будут следить за своими действиями. Тогда, возможно, ддос и спам превратяться в мелкую величину.
Ты уже научился получать электричество из воздуха, "революционер"?
Ну некоторые уже научились ;)
Вопрос адресовался именно тебе, а не "некоторым". В конце концов - приучись уже отвечать за себя.
А твой то компьютер питается от святого духа?
> А твой то компьютер питается от святого духа?Лично мой питается как раз от того электричества, которое я ежемесячно оплачиваю электронной картой Сбербанка через тот же Сбербанк. И в рублях, а не в злых клоунах.
> Ты уже научился получать электричество из воздуха, "революционер"?Причем здесь это? Я за то, чтобы я мог свободно купить электричество у любого из поставщиков и без открытия истории моих средств.
>> чем тотально отслеживаемые проприетарные корпоративные подконтрольные государствуЭлектричество кому подконтрольно? Это вам не Linux - все для людей.
Теоретически электроэнергию может поставлять независимая коммерческая компания. Децентрализация выработки электроэнергии это не задача криптовалют, они занимаются решением проблемы на другом уровне. Было бы неплохо если бы кто-нибудь занялся этой проблемой тоже.
>> Теоретически электроэнергию может поставлять независимая коммерческая компанияВы сейчас о России говорите или просто так, утопические мысли вслух?
Конечно, абстрактно.
> подконтрольные государству стабильные электронные фантики visa.Здесь важно уточнить, какому именно государству.
Нет, не важно. Один рабовладелец, другой рабовладелец. Какая разница?
> Лучше уж электронные фантики, обеспечивающие приватность транзакций, чем тотально отслеживаемые
> проприетарные корпоративные подконтрольные государству стабильные электронные фантики
> visa.Скоро такие мысли объявят экстремизмом и за них будут отправлять в лагеря. Или на органы, как в КНР. Или в качестве подопытных докторам Менгеле, как в КНДР.
> Скоро такие мысли объявят экстремизмом и за них будут отправлять в лагеря.
> Или на органы, как в КНР. Или в качестве подопытных докторам
> Менгеле, как в КНДР.Посмотрите, где больше всего заключённых. И где больше всего закупают органов.
Да и с подопытными всё "не так однозначно", насколько помню, в ту же степь.
На всякий случай напоминаю, что ZCoin != Zcash. В последнем проводился независимый аудит кода.
И у них откаты делают?
На счёт откатов не знаю, но они оставили за собой право создания жесткого форка, для, например, использования другого POW-алгоритма.
А в чем отличие? Разве все эти zero... не сто раз сменили название?
> А в чем отличие? Разве все эти zero... не сто раз сменили
> название?Отличие в том, что когда ZCash зарелизился, стало модно на волне хайпа делать "анонимные" валюты.
А вот мой коммент о сортах удалили.
Есть:
Zerocoin - протокол и библиотека
ZCoin - валюта, основанная на Zerocoin
Zerocash - протокол, основанный на Zerocoin (обеспечивает сокрытие суммы транзакции, за счёт чего подвержен риску недетектируемой инфляции, пользователи вынуждены доверять персоналиям участвующим в генерации параметров)
ZCash - валюта основанная на Zerocash и коммерческая компания
форки ZCash - некоммерческие организации и индивидуальные разработчики
А kurrent не KDEшники пилят? ;)
Думаю, разработчики и слова то такого не знают, а линукс только недавно выучили, как произносится.
Точняк, пусть у каждого свободного DE будет свой криптовалютный протокол, а у каждого WM своя криптовалюта. Или как-то так, простите, путаюсь в сортах.
- Фактически так и есть, у каждого DE свой набор программ на все случаи жизни, калькулятор, эксплорре, торрент-клиент, блокнот, в тяжелых случаях даже свой офис.
Вообще, не следует для этой криптовлюты делать ссылку на википедию, потому-что Zerocoin — это протокол анонимизации, а не какая-то криптовалюта.
> Вообще, не следует для этой криптовлюты делать ссылку на википедию, потому-что Zerocoin
> — это протокол анонимизации, а не какая-то криптовалюта.При открытии https://en.wikipedia.org/wiki/Zcoin перебрасывает на https://en.wikipedia.org/wiki/Zerocoin там есть раздел про Zcoin
>> Вообще, не следует для этой криптовлюты делать ссылку на википедию, потому-что Zerocoin
>> — это протокол анонимизации, а не какая-то криптовалюта.
> При открытии https://en.wikipedia.org/wiki/Zcoin перебрасывает на https://en.wikipedia.org/wiki/Zerocoin
> там есть раздел про Zcoinа, ну если перебрасывает с а на б, то конечно же а=б. ты школу окончил, интеллектуал?
> в том числе личности мошенников так и остались невыясненными.Передайте разработчикам zcoin хорошую песню... (с)
какая прелесть. и как жалко, что парни обули лохов всего на полляма.
Лол. Если бы их личности каким-то образом выяснились - это показало бы неработоспособность основной фичи данной криптовалюты - приватности транзакций. Нельзя проследить отправителя и получателя. И это фича, а не баг.
всего полляма... какая жалость...
Интересно, ты так же радуешься падению курса нац. валюты в РФ в 2015?
Интересно, ты также переживал за пилотов, раздолбаших башни близнецы 11.11?
"Ошибка" в клиентском ПО может взломать протокол (т.е. многократную растрату одной единицы засчитают другие), но "ошибка не затрагивает протокол Zerocoin" ???Т.е. я модифицирую свой клиент и трачу сколько хочу, но протокол ни при чем?
> Т.е. я модифицирую свой клиент и трачу сколько хочу, но протокол ни
> при чем?Да, не причём, это лишь протокол. Вы же не считайте удалённую уязвимость в браузере уязвимостью в HTTP или TCP/IP? Ваши модификации будут работать, если они будут использоваться _всеми_ остальными пользователями. Т.е. мошенничество было возможно до тех пор, пока у всех был глючный клиент, как только другие установили исправление вы сможете только обманывать самого себя.
по твоей логике - один "подправленный" клиент может застопорить работу всей системы... сомневаюсь, что подтвердить блок должны вообще все. поэтому вопрос - какой механизм подтверждения блока у данной валюты?
>> Т.е. я модифицирую свой клиент и трачу сколько хочу, но протокол ни
>> при чем?
> Да, не причём, это лишь протокол. Вы же не считайте удалённую уязвимость
> в браузере уязвимостью в HTTP или TCP/IP? Ваши модификации будут работать,
> если они будут использоваться _всеми_ остальными пользователями. Т.е. мошенничество было
> возможно до тех пор, пока у всех был глючный клиент, как
> только другие установили исправление вы сможете только обманывать самого себя.Неверно. Если это самостоятельная криптовалюта, то протокол назывался zcash. Если клиент был эталонной реализацией протокола, то ошибка была в протоколе.
>> Т.е. я модифицирую свой клиент и трачу сколько хочу, но протокол ни
>> при чем?
> Да, не причём, это лишь протокол. Вы же не считайте удалённую уязвимость
> в браузере уязвимостью в HTTP или TCP/IP?- HTTP или TCP/IP - не протоколы безопасности. Либо прокол в протоколе, либо в реализации протокола.
Криптовалюты — как раз та область, где формальная верификация кода просто необходима. И, естественно, не на хрупких, допускающих неопределённое поведение и чувствительных к окружению языках типа C и C++ там код должен писаться (кстати, некоторые дистрибутивы не поставляют биткоин из-за опасений, что отличия в сборочном окружении могут привести к несовместимостям и форку блокчейна).
> Криптовалюты — как раз та область, где формальная верификация кода просто необходима.
> И, естественно, не на хрупких, допускающих неопределённое поведение и чувствительных к
> окружению языках типа C и C++ там код должен писаться (кстати,
> некоторые дистрибутивы не поставляют биткоин из-за опасений, что отличия в сборочном
> окружении могут привести к несовместимостям и форку блокчейна).Формальная верификация
1 невозможна для проектов крупнее hello world
2 не нужна: как же тогда лохов на бекдорах разводитьа вот статический анализ строго обязателен. Я уверен, что, если это не бекдор, то такое дерьмо нашли, прогнав статический анализатор
> невозможна для проектов крупнее hello worldА и не нужно для всего кода, достаточно только для логики, обеспечивающей валидацию блоков. И этот верифицированный код должен быть частью самого блокчейна, так чтобы изменить его было невозможно (иначе команда разработчиков по сути централизованно контролирует криптовалюту, имея возможность выпускать новые версии с измененными правилами). Формальная верификация также исключит необходимость изменять этот код для исправления ошибок. Код этот, конечно, должен быть написан на высокоуровневом независящем от окружения формально специфицированном языке.
тот момент, когда узнаешь о баге только после закрытия :<
Самое главное не написали - что делать то теперь будут? Если оставят некорректные блоки - то исправленный клиент не сможет синхронизироваться с сетью - будет на них ругаться. Если отбросить все блоки начиная с первого некорректного - будет потеряна большая часть истории. Можно конечно захардкодить, что все блоки до определённого с определённым хешем считать правильными - возможно это самое адекватное решение в данном случае.
разрабы и украли кто же еще в танчиках постоянно такое
> разрабы и украли кто же еще в танчиках постоянно такоезаяву в полицию уже написал?
История успеха:
1. Устраиваешься работать разрабом в одну из *coin контор.
2. Пишешь туда чуток некорректного уязвимого кода (ну да, тут нужно потренироваться в написании труднообнаружимых и якобы непреднамеренных дыр).
3. Эксплуатируешь уязвимость (не забыть убедиться в действительной анонимности этих коинов).
4. Профит.З.Ы Мошенники, работающие с обычными деньгами люто завидуют...
откуда знания, у тебя опыт есть?
Так я не пойму - если ошибка в клиентском софте, что мне мешает взять непропатченную версию клиента и опять проводить по 2 транзакции вместо одной? Как по мне - после такого фэйла криптовалюту можно смело отправлять на помойку.
Вы можете взять непропатченную версию и быть единственной нодой в данной версии сети! У вас будет своя версия блокчейна, только подумайте! Но с кем вы сможете операции совершать? Только с самим собой, потому что у всех других пропатченная версия, которая будет отвергать неправильные транзакции. Блокчейн будет разделяться на две ветви.
Почитайте уже как работают одноранговые сети и непосредственно блокчейн.
применялось условие "if (COUNT_SPEND_ZC_TX >= MAX_SPEND_ZC_TX_PER_BLOCK) {", что подразумевало возможность проведения двух транзакций при значении счётчика 0 и 1.
==================
Ну и где тут возможность проведения двух транзакций? Сами-то подставьте сюда 0 и 1, что получится?
У вас опечатка, должно быть не ">=" а "<=", вот тогда действительно возможность проведения 2 транзакций.
Столько критиков здесь отписалось и хоть бы один заметил элементарную ошибку у себя под носом.