Author

Topic: NovaCoin (scrypt PoW + PoS hybrid) - page 225. (Read 600924 times)

legendary
Activity: 3108
Merit: 1359
September 20, 2013, 01:07:14 AM
Сложность начала потихоньку расти.  Roll Eyes
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 05:18:23 PM
По идее должно, но я предпочел стандартный Сатоши-таргет для сложности 1.
legendary
Activity: 1386
Merit: 1009
September 19, 2013, 04:56:04 PM
CBigNum(~uint256(0) >> 32).

А между тем, осталось чуть больше двух часов до выхода заначек в онлайн. Smiley
Тогда разве не должно быть 0x00000000ffffffff...?

Я заранее сгенерировал всё, что было, ожидая роста сложности  Grin
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 04:44:47 PM
CBigNum(~uint256(0) >> 32).

А между тем, осталось чуть больше двух часов до выхода заначек в онлайн. Smiley
legendary
Activity: 1386
Merit: 1009
September 19, 2013, 04:41:17 PM
Разве вес pow-блоков не станет значительно выше, чем pos?
Учитывая, что сложность pow в абсолютных величинах во много раз выше, чем у pos. А мы ещё к нему прибавляем что-то от предыдущего блока.
Trust score считается как частное от максимально возможного uint256 значения и (target + 1), а сложность PoW это только лишь отношение 0x00000000FFFF... и target. PoW сложность должна быть в 2^32 раза больше PoS сложности для получения сравнимого score. Так что не станет оно больше... А если и станет, то это не проблема, нас ведь волнует не относительные величины score для блоков самих по себе, а score цепочки в целом.
Ага, теперь я вижу.
Для PoS в числителе CBigNum(1)<<256,  а у PoW какой эквивалент в записи такого вида?
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 04:11:27 PM
Разве вес pow-блоков не станет значительно выше, чем pos?
Учитывая, что сложность pow в абсолютных величинах во много раз выше, чем у pos. А мы ещё к нему прибавляем что-то от предыдущего блока.
Trust score считается как частное от максимально возможного uint256 значения и (target + 1), а сложность PoW это только лишь отношение 0x00000000FFFF... и target. PoW сложность должна быть в 2^32 раза больше PoS сложности для получения сравнимого score. Так что не станет оно больше... А если и станет, то это не проблема, нас ведь волнует не относительные величины score для блоков самих по себе, а score цепочки в целом.
legendary
Activity: 1386
Merit: 1009
September 19, 2013, 03:43:03 PM
Разве вес pow-блоков не станет значительно выше, чем pos?
Учитывая, что сложность pow в абсолютных величинах во много раз выше, чем у pos. А мы ещё к нему прибавляем что-то от предыдущего блока.
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 12:48:31 PM
Насколько я помню, в битке разницы между одновременными блоками сеть не делает, майнеры работают над тем, что пришёл раньше, пока одна из цепочек не станет длиннее.
Разве два не имеющих потомка блока не будут иметь одинаковый таргет?
Здесь то же самое, но немного по-другому. Два блока без потомка гарантированно имеют одинаковый таргет только в случае, если у них один тип и предок. В противном случае таргет будет отличаться.

Но не в этом суть, а в том что работу блоков цепи тоже нужно учитывать. А не как в ppcoin и большинстве форков, которые возвращают для PoW блоков константу.


В текущей реализации упор делается на PoS всё-таки, верно?
Можно словесно написать логику расчёта trust score?

В текущей реализации, которая сегодня ночью станет историей, PoW блоки и их таргеты практически не влияют на score. Единственный источник score - это PoS блоки и их таргеты.

В новом варианте так:

Для PoS блока, являющегося потомком PoW блока, делается проверка доли PoW блоков в последних 12 блоках. Если их достаточно, то дается полный score по текущей формуле, в противном случае 1/3 от него;
Для PoW блока сначала берется его сложность. Затем, если он является потомком PoS блока, делается проверка доли в последних 12 блоках. Если PoS блоков достаточно, то к сложности добавляется score, посчитаный по таргету родительского PoS блока. В противном случае добавляется 1/3 от score предыдущего блока;
Для PoS блока, являющегося потомком PoS блока, возвращается 1/3 от score по текущей формуле.

Не самый гибкий метод, но существенно лучше старого. В будущем заменим гладкой кривой, либо доработанным вариантом.
legendary
Activity: 1386
Merit: 1009
September 19, 2013, 11:51:34 AM
Несколько непонятен смысл такого изворота. Почему использовать просто score текущего блока как (CBigNum(1) << 256) / (bnTarget+1) ?
Code:
// Return nPoWTrust + full trust score for previous block nBits
        return nPoWTrust + bnNewTrust.getuint256();
Если я правильно понял вопрос, то тут две причины. Во-первых, хранение CBigNum значений для индекса блоков требует больше памяти, чем хранение uint256 (ориентировочно, экономится около 5 мегабайт). Во-вторых, должна быть зависимость score PoW блоков от сложности, но минимальная. Т.е. основой для score должны быть предыдущие PoS блоки, но и зависимость от PoW сложности тоже нужна и между двумя не имеющими потомков PoW блоками сеть должна выбрать тот, у которого сложность выше.
Насколько я помню, в битке разницы между одновременными блоками сеть не делает, майнеры работают над тем, что пришёл раньше, пока одна из цепочек не станет длиннее.
Разве два не имеющих потомка блока не будут иметь одинаковый таргет?
Я запутался. В текущей реализации упор делается на PoS всё-таки, верно?
Можно словесно написать логику расчёта trust score?
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 09:09:31 AM
Думаю, что как обычно, 80/20 & 20/80.
sr. member
Activity: 408
Merit: 250
September 19, 2013, 09:06:01 AM
PS Всё расчехлят кошельки и pos-сложность - скай рокет ту да мууууун?  Cool
Расчехлят только кошельки с мелочью (поправте если не прав), думаете таких кошельков действительно много и они смогут задрать сложность?

скоро будет видно  Wink
legendary
Activity: 1120
Merit: 1005
September 19, 2013, 09:01:49 AM
PS Всё расчехлят кошельки и pos-сложность - скай рокет ту да мууууун?  Cool
Расчехлят только кошельки с мелочью (поправте если не прав), думаете таких кошельков действительно много и они смогут задрать сложность?
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 06:09:39 AM
А для novacoin 20-е когда начнётся? По UTC или есть сдвиг?
По UTC, то есть в 4 утра по Москве.

не думаю, не так нас и много  Smiley поди на биржах процентов 40 лежит.....
При прошлом переключении сложность выросла в 1.6-1.7 раза меньше чем за сутки.
sr. member
Activity: 408
Merit: 250
September 19, 2013, 05:54:07 AM
А для novacoin 20-е когда начнётся? По UTC или есть сдвиг?

PS Всё расчехлят кошельки и pos-сложность - скай рокет ту да мууууун?  Cool

не думаю, не так нас и много  Smiley поди на биржах процентов 40 лежит.....
sr. member
Activity: 461
Merit: 252
September 19, 2013, 05:42:43 AM
А для novacoin 20-е когда начнётся? По UTC или есть сдвиг?

PS Всё расчехлят кошельки и pos-сложность - скай рокет ту да мууууун?  Cool
legendary
Activity: 3108
Merit: 1359
legendary
Activity: 3108
Merit: 1359
September 19, 2013, 12:04:50 AM
Несколько непонятен смысл такого изворота. Почему использовать просто score текущего блока как (CBigNum(1) << 256) / (bnTarget+1) ?
Code:
// Return nPoWTrust + full trust score for previous block nBits
        return nPoWTrust + bnNewTrust.getuint256();
Если я правильно понял вопрос, то тут две причины. Во-первых, хранение CBigNum значений для индекса блоков требует больше памяти, чем хранение uint256 (ориентировочно, экономится около 5 мегабайт). Во-вторых, должна быть зависимость score PoW блоков от сложности, но минимальная. Т.е. основой для score должны быть предыдущие PoS блоки, но и зависимость от PoW сложности тоже нужна и между двумя не имеющими потомков PoW блоками сеть должна выбрать тот, у которого сложность выше.
legendary
Activity: 1386
Merit: 1009
September 18, 2013, 06:52:37 PM
Несколько непонятен смысл такого изворота. Почему использовать просто score текущего блока как (CBigNum(1) << 256) / (bnTarget+1) ?
Code:
// Return nPoWTrust + full trust score for previous block nBits
        return nPoWTrust + bnNewTrust.getuint256();
legendary
Activity: 1386
Merit: 1009
September 18, 2013, 06:30:54 PM
Транзакция сгенерировавшая PoS блок с монетами, может сразу же сгенировать еще блок, или она должна "ждать" 30 суток?
Невнимательно прочитал и недопонял суть вопроса. Предыдущий ответ по сути верен, но требует уточнения: после генерации POS-блока сгенерировавшая его транзакция перестает существовать, вместо неё появляются две новые. И через 30 дней каждая новая транзакция способна сгенерировать POS-блок.
Я тоже уточню, появляется не 2 новых транзакции, а одна транзакция с двумя выходами. Всё же стейк генерируют выходы, а не транзакции.
legendary
Activity: 1200
Merit: 1021
September 18, 2013, 05:55:00 PM
Транзакция сгенерировавшая PoS блок с монетами, может сразу же сгенировать еще блок, или она должна "ждать" 30 суток?
Невнимательно прочитал и недопонял суть вопроса. Предыдущий ответ по сути верен, но требует уточнения: после генерации POS-блока сгенерировавшая его транзакция перестает существовать, вместо неё появляются две новые. И через 30 дней каждая новая транзакция способна сгенерировать POS-блок.
Jump to: