killerstorm
Legendary
Offline
Activity: 1022
Merit: 1033
|
|
May 04, 2013, 01:49:39 PM |
|
У меня вопрос по теории: что нужно чтобы выполнить double-spend аттаку на novacoin? Какой нужен stake и какой hashrate? (В процентах от общего.)
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 04, 2013, 04:12:56 PM |
|
Хэшрейт неважен.
Для успешной атаки нужно выкупить 50%+1 монето-день из участвующих в генерации стейков, на сегодня это будет стоить примерно 240 тысяч долларов (нижняя оценка, верхняя - 400 тысяч долларов).
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
May 04, 2013, 04:38:30 PM |
|
Хэшрейт неважен.
Для успешной атаки нужно выкупить 50%+1 монето-день из участвующих в генерации стейков, на сегодня это будет стоить примерно 240 тысяч долларов (нижняя оценка, верхняя - 400 тысяч долларов).
А я не понимаю, как реализация PoS в novacoin даст такой уровень защиты. А вроде вопросы задавал, оценку затрат на атаку делал, требуется значительно меньшие суммы и именно из за особенности novacoin - дробление монет, участвующих в PoS.
|
|
|
|
killerstorm
Legendary
Offline
Activity: 1022
Merit: 1033
|
|
May 04, 2013, 04:54:24 PM |
|
Хэшрейт неважен.
Для успешной атаки нужно выкупить 50%+1 монето-день из участвующих в генерации стейков, на сегодня это будет стоить примерно 240 тысяч долларов (нижняя оценка, верхняя - 400 тысяч долларов).
Почти правильно. Если количество активных стейков достаточно велико (возможно, начиная от 20000), то достаточно 25% активного стейка чтобы делать double-spend раз в месяц: https://bitcointalk.org/index.php?topic=152809.msg2014924#msg2014924Очень простой расчёт: имея 25% от активного стейка вероятность сгенерить 6 PoS блоков подряд = 0.000244. Если повторить атаку ~4000 раз вероятность успеха становится существенной.
Насчёт "на сегодня" я думаю вы ошибаетесь очень серьёзно. Какой средний timeweight стейков? Если существенно меньше максимального, то аттакер может существенно снизить количество необходимого стейка засчёт больше timeweight. (Мне просто интересно сравнить интеллект Бальтазара и Sunny. Рекомендуется инвестировать в ту валюту, разработчики которой умнее. Что Sunny ёбнутый на всю голову уже установлено.)
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
May 04, 2013, 05:12:27 PM |
|
Можно я повторюсь? [quote author=Balthazar link=topic=114712.msg1667094#msg1667094 date=1364123780У "чистого" PoS да, но реализация "чистого" PoS пока считается невозможной из-за уязвимости к DoS атакам у такой системы. В данном случае мы имеем близкий по эффективности к "чистому" PoS компромисс, для PoS блоков делается проверка по такому условию: hash(nStakeModifier + txPrev.block.nTime + txPrev.offset + txPrev.nTime + txPrev.vout.n + nTime) < bnTarget * nCoinDayWeight nStakeModifier - вычисляемый коэффициент, значение которого почти невозможно предсказать для блоков в будущем, но легко посчитать для блоков в прошлом. hash - это, на данный момент, стандартный двойной sha256. В готовящемся релизе на базе 0.7, возможно, будет заменено на другую функцию посредством софт-форка. Реализация отдельного майнера не имеет большого смысла из-за технической сложности, такой майнер должен иметь полный доступ ко всем транзакциям юзера и его приватным ключам, чтобы подбирать соответствующий условию кернел.[/quote] Что же подбирается в той формуле при вычислении PoS? Это может показаться забавным, но для генерации proofhash используются: 1) Таймстамп блока, содержащего точку входа 2) Номер транзакции - точки входа в содержащем ее блоке 3) Таймстамп транзакции - точки входа 4) Таймстамп coinstake-транзакции Хэш от (модификатор + эти значения) сравнивается с таргетом, вычисляемым исходя из веса использованных точек входа, и если он меньше, то PoS сгенерирован. Зависимость от таймстампов является причиной того, что в PPC/NVC политика таймстампов сильно ужесточена в сравнении с BTC и его клонами. К примеру, у транзакций в PPC/NVC тоже есть таймстампы, и они не могут находиться в будущем относительно времени генерации соответствующего блока. У coinbase/coinstake они еще и сильно далеко в прошлом не могут находиться. Ни один из параметров, используемых при вычислении хеша блока PoS не может быть перебираем? И единственное что может сделать атакующий - раздробить свои монеты на много много кусочков и перебирать их как основа для PoS? Таймстампы - ограничены? сильно ли? nStakeModifier что это такое?
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 04, 2013, 05:20:45 PM |
|
Средний timeweight стейков (из известных мне крупнейших) сейчас примерно в два раза ниже максимального.
Да, я уже думал об этом ранее после разговора с markm. Из возможных "быстрых", но не совсем идеологически правильных решений - комплекс снижения максимального timeweight и повышения доли, либо веса PoW. Есть и правильное решение, но оно пока очень сырое и я еще не готов его выставить в свет.
P.S. Эрудиция, темперамент и интеллект никак не связаны, для оценки интеллекта существуют профильные тесты.
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 04, 2013, 05:34:57 PM |
|
rPman, на таймстампы наложены жесткие ограничения. nStakeModifier - это коэффициент, получаемый из массива entropyBit блоков в пределах предыдущего интервала пересчета nStakeModifier. entropyBit - последний бит хэша блока. Ни один из параметров, используемых при вычислении хеша блока PoS не может быть перебираем? И единственное что может сделать атакующий - раздробить свои монеты на много много кусочков и перебирать их как основа для PoS? Единственный относительно свободно перебираемый параметр - это nTime. Он должен совпадать у блока и coinstake транзакции и не может быть меньше таймстампа входной точки. Кроме того, он не может быть быть таймстампом из более далекого, чем 3600 секунд, будущего. Остальные параметры - данность, которую нужно комбинировать.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
May 04, 2013, 06:27:15 PM |
|
Понятно, свободы значит мало... я неверно понимал что есть nStakeModifier. И это просто отлично.
Действительно, атака 51% очень затруднена, нужно много монет (первый претендент - биржи, опаснее пулов майнинга, так как их обычно меньше).
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 04, 2013, 06:31:42 PM Last edit: May 04, 2013, 06:51:07 PM by Balthazar |
|
По сути, в подобной системе возможно появление пулов для совместной генерации стейков. Они в чем-то будут похожи на банки. Но этого не произойдет раньше, чем PoS сложность вырастет до достаточного уровня. Пока что этого еще очень долго не предвидится.
Но определенно, стоит подумать над тем, как реализовать pooled генерацию стейков децентрализованно, по аналогии с p2pool для PoW. Потребуется внести несколько модификаций в протокол, чтобы облегчить эту задачу в будущем.
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 05, 2013, 11:27:58 PM |
|
Анонс изменений в 0.4.1: - Исправления в GUI, связанные с отображением coinstake транзакций (то, что было поломано в 0.4);
- Опция -nocheckpoints, позволяющая ортодоксальным пользователям игнорировать чекпоинты;
- Изменения в модели эмиссии, делающие ее еще более PoS-ориентированной.
|
|
|
|
hakushka
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 06, 2013, 03:21:11 AM |
|
Анонс изменений в 0.4.1: - Изменения в модели эмиссии, делающие ее еще более PoS-ориентированной.
При релизе распишите этот пункт предельно подробно, будьте добры =) Так же в кошельке, в пункте меню "Помощь" -- "О Novacoin" добавьте ссылку http://sourceforge.net/projects/novacoin/files/ (ведь это домашняя страница проекта?). А то смешно -- ищу через гугл "где ж там бинарники валяются?".
|
|
|
|
svost
|
|
May 06, 2013, 08:16:11 AM |
|
Updated emission model implemented. * *It will neutralize benefit of early adopters, and will make system even more stable against dump attempts. В англоветке замечена интересная сноска
|
4NovacoinyLfMCjTzqDXcaGNTrykfDBNkP
|
|
|
hakushka
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 06, 2013, 09:16:28 AM |
|
Updated emission model implemented. * *It will neutralize benefit of early adopters, and will make system even more stable against dump attempts. В англоветке замечена интересная сноска в 0.4.1+ будет динамический процент, меняющийся в пределах 1-50% годовых, и зависящий от PoS сложности
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 06, 2013, 09:32:22 AM |
|
Кто-то из участников все же проговорился Да, все верно. Добавлен параметр MAX_MINT_PROOF_OF_STAKE, равный 50 * CENT / coin-year. Stake mint rate будет выбираться с отрезка [CENT / coin-year, MAX_MINT_PROOF_OF_STAKE] аналогично тому, как сейчас считается PoW награда, т.е. описывается гладкой кривой и 64-кратный рост PoS сложности уполовинивает mint rate. Причина подобного изменения проста, статичный mint rate вносит в систему потенциальную неустойчивость в будущем и нужен дополнительный параметр для саморегуляции. В силу особенностей действующей модели, система должна иметь дополнительный и не зависящий от PoW механизм компенсации уходящих, либо утрачиваемых стейков. От этого зависит ее защищенность.
|
|
|
|
hakushka
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 06, 2013, 09:51:45 AM Last edit: May 06, 2013, 10:10:55 AM by hakushka |
|
Думаю Вам имеет смысл вкратце обрисовать (для новичков) от чего зависит и каким образом начисляется процент в этой новой гибридной PoS-системе. Т.е. грубо говоря чем больше монеток лежит на кошельках без движения, тем меньше годовой процент от PoS-генерации?
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 06, 2013, 12:03:38 PM |
|
Хотел пояснить подробнее вместе с релизом, но в целом вы правы.
1. В PoS системе инструмент для генерации (аналог мощности для PoW) - это произведение количества монет на возраст (с границей 90 дней сверху), или coin-days. 2. Сложность устанавливается аналогично тому, как это происходит в PoW-системах, и зависит от количества активных coin-days в системе в целом. Сложность 1.00 для PoS системы - это в среднем 4.295 * 10^9 coin-day-second на блок. 3. Если количество активных coin-days растет, это соответственно приводит к росту PoS сложности. Сложность мы используем в качестве параметра в отрицательной обратной связи, т.е. при росте веса активных стейков падают объемы stake генерации. 4. И наоборот, при уменьшении веса активных стейков сложность падает и объемы генерации растут.
Смысл можно грубо уложить в последовательности "мало стейков, надо бы усилить те что есть" и "слишком много, надо бы замедлить темпы".
|
|
|
|
svost
|
|
May 06, 2013, 12:17:45 PM |
|
Кто-то из участников все же проговорился И основатель проговорился - иллюминаты втайне вынашивают свои планы @Balthazar - вопрос по последнему посту. Допустим, есть один кошель примерно с x=y*z монет -> заводим y-кошельков (накопипастим виртуалок к примеру) по z-монет -> получаем искусственное наращивание генерации pos-объёмов по сравнению единственным кошельком? Или в расчёт идут монеты всей сети?Судя по пункту 3, я только что чушь написал?
|
4NovacoinyLfMCjTzqDXcaGNTrykfDBNkP
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 06, 2013, 12:52:50 PM Last edit: May 06, 2013, 05:10:06 PM by Balthazar |
|
Значение имеет только сумма активных CoinAge, неважно на какие и сколько частей она поделена. Прямая аналогия - нет разницы между одним майнером с 1гх/с и десятью по 100мх/с.
|
|
|
|
hakushka
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 06, 2013, 01:11:56 PM |
|
Ещё пару вопросов:
- coin-days обнуляются, если отправить монеты самому себе? - монеты, пришедшие на кошелёк, начинают участвовать в PoS-генерации лишь через 30 дней? - какой стоит ожидать "средний" процент по вкладам в ближайшие пару месяцев?
|
|
|
|
Balthazar (OP)
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
May 06, 2013, 01:36:40 PM |
|
Ещё пару вопросов:
- coin-days обнуляются, если отправить монеты самому себе? - монеты, пришедшие на кошелёк, начинают участвовать в PoS-генерации лишь через 30 дней? - какой стоит ожидать "средний" процент по вкладам в ближайшие пару месяцев?
- да -да - если на глаз и без калькулятора, то при текущей сложности 29% в год.
|
|
|
|
|