Author

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

legendary
Activity: 3108
Merit: 1359
February 18, 2014, 04:37:50 AM
https://github.com/novacoin-project/novacoin/wiki/Proof-of-stake

Добавил пример расчета вероятностей вероятностей.
sr. member
Activity: 463
Merit: 252
February 18, 2014, 04:34:20 AM
я победитель по жизни. Уже под 2000 веса инпута, а блок не ловится.   Angry
legendary
Activity: 1400
Merit: 1000
February 18, 2014, 04:33:31 AM
"proof-of-stake" : 0.24028555
Стремимся к 1  Cheesy
sr. member
Activity: 463
Merit: 252
February 18, 2014, 04:27:01 AM
Если на странице http://coinmarketcap.com/ кликнуть по Novacoin, то переходим на http://novaco.in/. Там WOT тут же орет. Ну это вы в курсе. Далее, что мы видим: вся инфа


Novacoin is a decentralized digital currency based on an open-source, peer-to-peer internet protocol.
It was introduced by a developer named Balthazar in 2013. Get sources or binaries.



ну и далее инфа о последних блоках. Ни о PoS, ни о прочих преимуществах не говорится.
legendary
Activity: 3108
Merit: 1359
full member
Activity: 216
Merit: 100
February 17, 2014, 08:47:08 AM
Не сможет, если изначальное условие будет немного более сложным. К примеру, не только соответствие хэша пароля, но и соответствие адреса. Тогда такой скрипт обналичить сможет только его создатель.
А, ну если в redeemScript'е помимо проверки хэша пароля будет ещё и OP_CHECKSIG, тогда да, согласен.

Извините что вмешиваюсь в ваш диалог, но стоит ли проблему ментального самоконтроля пользователя (не тратить монеты до XX числа) перекладывать на протокол p2p-сети?
Т.е. не совсем понимаю целесообразность такой разработки.
Это может быть не только проблемой самоконтроля пользователя. Например, можно использовать подобное решение для доп. защиты от троянов. Хотя, конечно, ничто не мешает ради этого создать отдельный кошелёк с отдельным паролем (если троян сможет перехватить пароль к повседневному кошельку, то только повседневные монеты он и уведёт, а для владельца это будет сигналом о том, что машина скомпрометирована, и пароль от основного кошелька на ней вводить больше не стоит).
legendary
Activity: 3108
Merit: 1359
February 17, 2014, 08:18:41 AM
Насчёт подтверждений я имел в виду то, что в транзакции траты с хэша нет никаких подписей, и если её отправить в сеть, то любой желающий сможет подменить адреса получения монет. Поэтому включать в блок такую транзакцию можно только самому. В отличие от Smiley
Не сможет, если изначальное условие будет немного более сложным. К примеру, не только соответствие хэша пароля, но и соответствие адреса. Тогда такой скрипт обналичить сможет только его создатель.

Извините что вмешиваюсь в ваш диалог, но стоит ли проблему ментального самоконтроля пользователя (не тратить монеты до XX числа) перекладывать на протокол p2p-сети?
Т.е. не совсем понимаю целесообразность такой разработки.
На самом деле, смысла в этом немного. Скорее, просто иллюстрация гибкости протокола. Хотя в принципе, таким вещам может найтись применение не для прямого использования юзером, а для автоматизации кухни пеймент-процессоров. Естественно, что когда пользователь создаёт такую транзакцию вручную, то это уже симптом серьезного расстройства.
full member
Activity: 216
Merit: 100
February 17, 2014, 07:25:45 AM
Доп. плюс — подтверждать эти транзакции может кто угодно, в отличие от.
Вообще-то, !IsFinal транзакции не может подтверждать или разослать вообще никто. Подтвердить их можно будет только после того, как наступит указанная в nLockTime дата.
Само собой. Сохранение транзакции для того и нужно, чтобы опубликовать её после nLockTime. Насчёт подтверждений я имел в виду то, что в транзакции траты с хэша нет никаких подписей, и если её отправить в сеть, то любой желающий сможет подменить адреса получения монет. Поэтому включать в блок такую транзакцию можно только самому. В отличие от Smiley
legendary
Activity: 3108
Merit: 1359
February 17, 2014, 07:11:29 AM
Доп. плюс — подтверждать эти транзакции может кто угодно, в отличие от.
Вообще-то, !IsFinal транзакции не может подтверждать или разослать вообще никто. Подтвердить их можно будет только после того, как наступит указанная в nLockTime дата.

А транзакцию с отправкой на хэш можно подтвердить, и её будет видно в блокчейне всем...
full member
Activity: 216
Merit: 100
February 17, 2014, 06:56:00 AM
Кто-то спрашивал о блокировке монет "на будущее".

Но естественно, такие транзакции можно создавать лишь вручную, и подтверждать их придется самому. Можно сделать такой тип транзакций стандартным, но не думаю что будет сильно востребовано.  Roll Eyes
Правильная блокировка выглядит так: создаём кошелёк в ramfs; переводим туда блокируемые монеты; выпускаем транзакцию с nLockTime в будущем, возвращающую монеты обратно на свой первый кошелёк; транзакцию сохраняем, ramfs-кошелёк уничтожаем. Доп. плюс — подтверждать эти транзакции может кто угодно, в отличие от. Правда, с PoS-майнингом это не очень сочетается, на время блокировки монеты расти в объёме не будут.
legendary
Activity: 2296
Merit: 1057
February 17, 2014, 06:34:41 AM
Кто-то спрашивал о блокировке монет "на будущее".
Я не так давно спрашивал можно ли сделать так, чтобы пароль открывался только лишь направлением заранее оговоренной суммы на определенный адрес.
legendary
Activity: 3108
Merit: 1359
February 17, 2014, 06:25:18 AM
Тут есть три проблемы:

1) Монеты залочены намертво, без каких бы то ни было условий. Получить их можно только создав транзакцию с паролем в поле scriptSig;
2) Пароль можно оффлайново брутить на массиве видеокарт или FPGA;
3) После отправки тратящей транзакции пароль навсегда становится публичным, и доступным для просмотра всем желающим.
legendary
Activity: 976
Merit: 1003
February 17, 2014, 06:21:43 AM
Но естественно, такие транзакции можно создавать лишь вручную, и подтверждать их придется самому. Можно сделать такой тип транзакций стандартным, но не думаю что будет сильно востребовано.  Roll Eyes

ну почему же Smiley
как заначка от продвинутой жены -- самое то Grin

ПыСы главное пароль со временем не забыть Cheesy
legendary
Activity: 3108
Merit: 1359
February 17, 2014, 04:36:02 AM
Кто-то спрашивал о блокировке монет "на будущее".

Берем пароль: test123
Получаем от него двойной sha256 хэш: 6db8da2e476f56550406cbf65c8d35edd6070e420675246db8d7c9650cdc2e48
Отправляем монеты на скрипт: OP_HASH256 6db8da2e476f56550406cbf65c8d35edd6070e420675246db8d7c9650cdc2e48 OP_EQUAL

Для траты транзакция будет выглядеть так:

scriptSig: 33323174736574 (test123 в big-endian)
scriptPubKey: куда слать, например pubkey OP_CHECKSIG

В общем, потратить инпут можно будет лишь зная пароль, либо его коллизию. Этакая защита паролем на уровне блокчейна.   Grin

Но естественно, такие транзакции можно создавать лишь вручную, и подтверждать их придется самому. Можно сделать такой тип транзакций стандартным, но не думаю что будет сильно востребовано.  Roll Eyes
legendary
Activity: 976
Merit: 1003
February 17, 2014, 04:05:10 AM
со штампами времени, пожалуйста...
10/02 17:00 первый пик. Уверен его и без таймштампа легко найти.

остальные +/- километр идут Cheesy
member
Activity: 99
Merit: 10
February 17, 2014, 12:52:45 AM
со штампами времени, пожалуйста...
10/02 17:00 первый пик. Уверен его и без таймштампа легко найти.
legendary
Activity: 976
Merit: 1003
February 17, 2014, 12:36:40 AM
судя по графику связь прямая не прослеживается...
http://clip2net.com/s/6Q2JUn
Ну да, 4 пика и 3 низины в течении нескольких суток в одно и то же время никак не могут быть связаны ...

по такой картинке можно сказать всё что угодно...
со штампами времени, пожалуйста...
legendary
Activity: 3108
Merit: 1359
February 16, 2014, 03:01:11 PM
Можно посмотреть на период и вычислить, в каком часовом поясе находится этот майнер Roll Eyes
member
Activity: 99
Merit: 10
February 16, 2014, 02:21:04 PM
судя по графику связь прямая не прослеживается...
http://clip2net.com/s/6Q2JUn
Ну да, 4 пика и 3 низины в течении нескольких суток в одно и то же время никак не могут быть связаны ...
legendary
Activity: 3108
Merit: 1359
February 16, 2014, 12:27:18 PM
Ну что же, основной объем необходимого по 0.4.4.7 сделан, пощупать можно здесь:

https://github.com/novacoin-project/novacoin/tree/current

Из базовых изменений следует отметить концепцию записей об "вычищенных транзакциях". Это транзакции, все выходы которых были потрачены. Ранее 0.4.4.7 просто удаляла такие записи из БД, теперь сохраняет метадату (номер блока, время, флаги coinbase&coinstake) в компактном формате (длина записи о любой такой транзакции укладывается в 13-14 байт).

Таким образом, решается вопрос с синхронизацией клиента при наличии конкурирующих веток. Пока ограничений на время жизни таких записей нет, но в будущем и они будут стираться после 520 подтверждений истратившей транзакции.

В целом все стабильно, но думаю что в ближайшее время дополним формат полем, хранящим смещение транзакции в блоке для того, чтобы упростить текущую реализацию proof-of-stake майнера. Сейчас майнер ищет номер блока в БД, затем загружает блок и считает смещение транзакции, что явно избыточно. Roll Eyes

Другие изменения:

  • Адекватная обработка конфликтующих транзакций, чтобы не было как недавно с BTC;
  • Опция для очистки wallet.dat от мусорных транзакций (смержено из BTC);

Тестовые бинарники будут доступны позже.
Jump to: