Не будет ни какая монета по настоящему популярна если ее нельзя будет "самому печатать" (и при этом не быть "фальшивомонетчиком" и не создавать "лишней денежной массы" и т.п.)
Почему не печатают? Печатают вернее добывают ))Очень спорный момент. Возьмите фиат, золото и т.д. - все используют, никто не печатает.
Я так и не услышал ни одного мнения на счет изменения системы вознаграждений чтобы перетянуть майнеров на P2P.
Ну я тоже пока не вижу проблемы это так попытка найти какую то заготовку для решения возможных проблем в будущем1)
ROM, идея мне понравилась, но есть сомнения, что на практике она сработает.
2)
На текущем этапе я не вижу проблемы, в том ключе, в котором ее поворачивают nik433 и qrowz, и, полагаю, что от изменений как алгоритма так и системы вознаграждения майнинга сейчас валюта может пострадать гораздо сильнее.
То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?Тема не нова https://dashtalk.org/threads/using-the-budget-system-to-incentivize-p2pool-mining.6887/
Вкратце, майнинг не требует регистрации и не известно способа определить 1) кто майнит блок сейчас 2) кто сманил блок (и p2pool ли это): (1) т.к. это соревнование, наперед не скажешь (2) т.к. адреса можно с легкостью генерировать новые, а структуру выплаты в блоке можно смимикрировать под p2pool.
И не возможно ли заставить все пулы искать один блок а не каждый пул свой.Может я не правильно понимаю смысл но выглядит так что все майнеры пула 1 ищут в данный момент блок XXXXXXX а майнеры пула 2 ищут в тоже время блок YYYYYYYY возможно ди заставить всех искать блок XXXXXXX а затем выплатить всем в соответствии с мощностью?То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?
Кто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?
И не возможно ли заставить все пулы искать один блок а не каждый пул свой.Может я не правильно понимаю смысл но выглядит так что все майнеры пула 1 ищут в данный момент блок XXXXXXX а майнеры пула 2 ищут в тоже время блок YYYYYYYY возможно ди заставить всех искать блок XXXXXXX а затем выплатить всем в соответствии с мощностью?
Какие обиды:smile: Спасибо за ссылку . По пункту (А) если возможно определить кто смайнил блок P2P или нет то технически возможна и систем выплат где P2P в выигрышеКто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.
Посмотрите на теорию майнинга подробнее, чтобы понять процесс получше (без обид, реально помогает, что такое понять блокчейн и "с чем его едят" ), есть, например, видео где Антонопулос разбирает на пальцах и проходит по разным ситуациям типа форков.
Майнинг - соревнование по перебору хэшей. Выигрывает тот, кому повезло найти хэш меньше заданного значения (т.е. с достаточной сложностью). Сами хэши берутся от хэдера потенциального блока, в котором есть несколько полей, но в данном конкретном случае нас интерисует 1) хэш предыдущего 2) схлопнутый хэш транзакций (меркл). Соответственно все пулы майнят один блок, поскольку (1) для всех одинаков (если только в сети не произошел форк и у нас оказалось >1 валидного блока, что нормально). Но все пулы майнят и разный блок, поскольку (2) может быть составлен из разного набора транзакций (пул просто мог не увидеть каких то из них к моменту майнинга из-за задержек сити или еще по какой причине). "Заставить всех искать одно и выплатить в соответствии с мощностью" означает, что сеть должна А) задать всем одинаковый набор транзакций (как?) Б) знать эту самую мощность. Про (А) ничего не скажу - надо "слепки" какие-то делать или еще как. Про (Б): мощности майнеров/пулов для сети не существует - она не видит шар, которые майнеры поставляют пулам, она видит лишь блоки, которые пулы поставляют в сеть.
Т.е. фактически, сделать такое возможно только если сама сеть станет одним гиганским мега-пулом имхо. Звучит красиво, но на практике означает проверку каждой шары от каждого майнера каждой нодой сети (иначе как достичь консенсуса?). Посмотрите на трафик пулов и представьте, что все это размножится на все ноды. Имхо - постоянный само-ддос сети.
Кто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.
Посмотрите на теорию майнинга подробнее, чтобы понять процесс получше (без обид, реально помогает, что такое понять блокчейн и "с чем его едят" ), есть, например, видео где Антонопулос разбирает на пальцах и проходит по разным ситуациям типа форков.
Майнинг - соревнование по перебору хэшей. Выигрывает тот, кому повезло найти хэш меньше заданного значения (т.е. с достаточной сложностью). Сами хэши берутся от хэдера потенциального блока, в котором есть несколько полей, но в данном конкретном случае нас интерисует 1) хэш предыдущего 2) схлопнутый хэш транзакций (меркл). Соответственно все пулы майнят один блок, поскольку (1) для всех одинаков (если только в сети не произошел форк и у нас оказалось >1 валидного блока, что нормально). Но все пулы майнят и разный блок, поскольку (2) может быть составлен из разного набора транзакций (пул просто мог не увидеть каких то из них к моменту майнинга из-за задержек сити или еще по какой причине). "Заставить всех искать одно и выплатить в соответствии с мощностью" означает, что сеть должна А) задать всем одинаковый набор транзакций (как?) Б) знать эту самую мощность. Про (А) ничего не скажу - надо "слепки" какие-то делать или еще как. Про (Б): мощности майнеров/пулов для сети не существует - она не видит шар, которые майнеры поставляют пулам, она видит лишь блоки, которые пулы поставляют в сеть.
Т.е. фактически, сделать такое возможно только если сама сеть станет одним гиганским мега-пулом имхо. Звучит красиво, но на практике означает проверку каждой шары от каждого майнера каждой нодой сети (иначе как достичь консенсуса?). Посмотрите на трафик пулов и представьте, что все это размножится на все ноды. Имхо - постоянный само-ддос сети.
И что помешает мне сгенерить сотню таких идентификаторов?Пул может быть один, при этом полностью децентрализованный и никому не принадлежащий - это пул, работающий на сети мастернод.
Для подключения к пулу необходимо генерировать идентификатор через кошелек, по данному идентификатору такой пул сможет отслеживать сколько хешрейта поставляет в сеть тот или иной пользователь и на основе формулы определения доли централизации ограничивать принимаемый хешрейт с одного идентификатора.
Ничего не помешает, но хешрейт каждого устройства будет привязан к одному идентификатору и ограничен. Таким образом мы избежим централизации на пулах, где сосредоточены огромные мощности.И что помешает мне сгенерить сотню таких идентификаторов?
Допустим. Тогда еще уточняющие вопросыНичего не помешает, но хешрейт каждого устройства будет привязан к одному идентификатору и ограничен. Таким образом мы избежим централизации на пулах, где сосредоточены огромные мощности.
nSubsidy = 5;
Тоже думал об этом, тем более, что там есть кусок, который мне не нравитсяUdjinM6, мб стоит пересмотреть формулу награды за блок в зависимости от сложности.
Думаю, что старый код => бесполезен. Сейчас награда за блок всегда будет минимальная.
Какой смысл тратить даже минимальные ресурсы на выполнение if else => если на выходе (скоро) будет 100% одно значение?
Или давайте перепишем код, чтобы он действительно работал. (hash rate меньше => награда больше, больше => награда меньше).
+ изменение нормально зайдет, ведь все равно будет хард форк.
nSubsidy = (2222222.0 / (pow((dDiff+2600.0)/9.0,2.0)));
nSubsidyPrecise = COIN * (2222222.0 / (pow((dDiff+2600.0)/9.0,2.0)));
nSubsidyPrecise = COIN * 5
А вот теперь не соглашусь по обоим пунктамUdjinM6, думаю, что динамическая награда более неактуальна.
ASIC майнерам некуда уходить. По-этому нет смысла платить больше (когда hashrate падает).
if else => в формуле лишь дополнительное усложнение.
со временем по этой формуле результат будет => одинаковое число.
Предлагаю максимально упростить.
Code:nSubsidyPrecise = COIN * 5