• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Принудительная Децинтрализация

Радует что всю возможную "непопулярность" от этих умников мы УЖЕ получили - уход майнеров из Dash, пул 51% - и соответственно от этого курс нащупал "дно".
 
Last edited by a moderator:
Алгоритм менять опасно, потом еще столько геморроя с майнинговым ПО
 
Не будет ни какая монета по настоящему популярна если ее нельзя будет "самому печатать" (и при этом не быть "фальшивомонетчиком" и не создавать "лишней денежной массы" и т.п.)

Очень спорный момент. Возьмите фиат, золото и т.д. - все используют, никто не печатает.
 
Я так и не услышал ни одного мнения на счет изменения системы вознаграждений чтобы перетянуть майнеров на P2P.
 
Очень спорный момент. Возьмите фиат, золото и т.д. - все используют, никто не печатает.
Почему не печатают? Печатают вернее добывают ))
 
Я так и не услышал ни одного мнения на счет изменения системы вознаграждений чтобы перетянуть майнеров на P2P.

1)
ROM, идея мне понравилась, но есть сомнения, что на практике она сработает.
2)
На текущем этапе я не вижу проблемы, в том ключе, в котором ее поворачивают nik433 и qrowz, и, полагаю, что от изменений как алгоритма так и системы вознаграждения майнинга сейчас валюта может пострадать гораздо сильнее.
 
1)
ROM, идея мне понравилась, но есть сомнения, что на практике она сработает.
2)
На текущем этапе я не вижу проблемы, в том ключе, в котором ее поворачивают nik433 и qrowz, и, полагаю, что от изменений как алгоритма так и системы вознаграждения майнинга сейчас валюта может пострадать гораздо сильнее.
Ну я тоже пока не вижу проблемы это так попытка найти какую то заготовку для решения возможных проблем в будущем
 
Тема не нова https://dashtalk.org/threads/using-the-budget-system-to-incentivize-p2pool-mining.6887/
Вкратце, майнинг не требует регистрации и не известно способа определить 1) кто майнит блок сейчас 2) кто сманил блок (и p2pool ли это): (1) т.к. это соревнование, наперед не скажешь (2) т.к. адреса можно с легкостью генерировать новые, а структуру выплаты в блоке можно смимикрировать под p2pool.
 
Тема не нова https://dashtalk.org/threads/using-the-budget-system-to-incentivize-p2pool-mining.6887/
Вкратце, майнинг не требует регистрации и не известно способа определить 1) кто майнит блок сейчас 2) кто сманил блок (и p2pool ли это): (1) т.к. это соревнование, наперед не скажешь (2) т.к. адреса можно с легкостью генерировать новые, а структуру выплаты в блоке можно смимикрировать под p2pool.
То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?
 
То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?
И не возможно ли заставить все пулы искать один блок а не каждый пул свой.Может я не правильно понимаю смысл но выглядит так что все майнеры пула 1 ищут в данный момент блок XXXXXXX а майнеры пула 2 ищут в тоже время блок YYYYYYYY возможно ди заставить всех искать блок XXXXXXX а затем выплатить всем в соответствии с мощностью?
 
То есть технически не возможно определить кто смайнил блок (Р2р - Не Р2р) даже спустя некоторое время после того как он найден?
И не возможно ли заставить все пулы искать один блок а не каждый пул свой.Может я не правильно понимаю смысл но выглядит так что все майнеры пула 1 ищут в данный момент блок XXXXXXX а майнеры пула 2 ищут в тоже время блок YYYYYYYY возможно ди заставить всех искать блок XXXXXXX а затем выплатить всем в соответствии с мощностью?
Кто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.
Посмотрите на теорию майнинга подробнее, чтобы понять процесс получше (без обид, реально помогает, что такое понять блокчейн и "с чем его едят" :)), есть, например, видео где Антонопулос разбирает на пальцах и проходит по разным ситуациям типа форков.
Майнинг - соревнование по перебору хэшей. Выигрывает тот, кому повезло найти хэш меньше заданного значения (т.е. с достаточной сложностью). Сами хэши берутся от хэдера потенциального блока, в котором есть несколько полей, но в данном конкретном случае нас интерисует 1) хэш предыдущего 2) схлопнутый хэш транзакций (меркл). Соответственно все пулы майнят один блок, поскольку (1) для всех одинаков (если только в сети не произошел форк и у нас оказалось >1 валидного блока, что нормально). Но все пулы майнят и разный блок, поскольку (2) может быть составлен из разного набора транзакций (пул просто мог не увидеть каких то из них к моменту майнинга из-за задержек сити или еще по какой причине). "Заставить всех искать одно и выплатить в соответствии с мощностью" означает, что сеть должна А) задать всем одинаковый набор транзакций (как?) Б) знать эту самую мощность. Про (А) ничего не скажу - надо "слепки" какие-то делать или еще как. Про (Б): мощности майнеров/пулов для сети не существует - она не видит шар, которые майнеры поставляют пулам, она видит лишь блоки, которые пулы поставляют в сеть.
Т.е. фактически, сделать такое возможно только если сама сеть станет одним гиганским мега-пулом имхо. Звучит красиво, но на практике означает проверку каждой шары от каждого майнера каждой нодой сети (иначе как достичь консенсуса?). Посмотрите на трафик пулов и представьте, что все это размножится на все ноды. Имхо - постоянный само-ддос сети.
 
Кто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.
Посмотрите на теорию майнинга подробнее, чтобы понять процесс получше (без обид, реально помогает, что такое понять блокчейн и "с чем его едят" :)), есть, например, видео где Антонопулос разбирает на пальцах и проходит по разным ситуациям типа форков.
Майнинг - соревнование по перебору хэшей. Выигрывает тот, кому повезло найти хэш меньше заданного значения (т.е. с достаточной сложностью). Сами хэши берутся от хэдера потенциального блока, в котором есть несколько полей, но в данном конкретном случае нас интерисует 1) хэш предыдущего 2) схлопнутый хэш транзакций (меркл). Соответственно все пулы майнят один блок, поскольку (1) для всех одинаков (если только в сети не произошел форк и у нас оказалось >1 валидного блока, что нормально). Но все пулы майнят и разный блок, поскольку (2) может быть составлен из разного набора транзакций (пул просто мог не увидеть каких то из них к моменту майнинга из-за задержек сити или еще по какой причине). "Заставить всех искать одно и выплатить в соответствии с мощностью" означает, что сеть должна А) задать всем одинаковый набор транзакций (как?) Б) знать эту самую мощность. Про (А) ничего не скажу - надо "слепки" какие-то делать или еще как. Про (Б): мощности майнеров/пулов для сети не существует - она не видит шар, которые майнеры поставляют пулам, она видит лишь блоки, которые пулы поставляют в сеть.
Т.е. фактически, сделать такое возможно только если сама сеть станет одним гиганским мега-пулом имхо. Звучит красиво, но на практике означает проверку каждой шары от каждого майнера каждой нодой сети (иначе как достичь консенсуса?). Посмотрите на трафик пулов и представьте, что все это размножится на все ноды. Имхо - постоянный само-ддос сети.
Какие обиды:smile: Спасибо за ссылку . По пункту (А) если возможно определить кто смайнил блок P2P или нет то технически возможна и систем выплат где P2P в выигрыше
просто будет дополнительная задержка в выплате сначала выплата на некие виртуальные адреса потом пересчет выплат в соответствии с тем кто где майнил и выплата на реальные адреса. А вариант сети как одного большого пула был бы идеален
 
Кто смайнил блок наверняка знает лишь тот, кто смайнил блок. :wink: Формально каждый пул майнит на свой "фиксированный" адрес и можно, глядя на коинбейс, сказать, кому достался блок, но это лишь потому, что ничто не ограничивает/не считает. Как только кто-то попытается ввести рамки, самый простой ответ для пулов - начать генерировать новые адреса на каждый блок и привет, считайте наздоровье, пул будет выглядить как новый каждый следующий блок.
Посмотрите на теорию майнинга подробнее, чтобы понять процесс получше (без обид, реально помогает, что такое понять блокчейн и "с чем его едят" :)), есть, например, видео где Антонопулос разбирает на пальцах и проходит по разным ситуациям типа форков.
Майнинг - соревнование по перебору хэшей. Выигрывает тот, кому повезло найти хэш меньше заданного значения (т.е. с достаточной сложностью). Сами хэши берутся от хэдера потенциального блока, в котором есть несколько полей, но в данном конкретном случае нас интерисует 1) хэш предыдущего 2) схлопнутый хэш транзакций (меркл). Соответственно все пулы майнят один блок, поскольку (1) для всех одинаков (если только в сети не произошел форк и у нас оказалось >1 валидного блока, что нормально). Но все пулы майнят и разный блок, поскольку (2) может быть составлен из разного набора транзакций (пул просто мог не увидеть каких то из них к моменту майнинга из-за задержек сити или еще по какой причине). "Заставить всех искать одно и выплатить в соответствии с мощностью" означает, что сеть должна А) задать всем одинаковый набор транзакций (как?) Б) знать эту самую мощность. Про (А) ничего не скажу - надо "слепки" какие-то делать или еще как. Про (Б): мощности майнеров/пулов для сети не существует - она не видит шар, которые майнеры поставляют пулам, она видит лишь блоки, которые пулы поставляют в сеть.
Т.е. фактически, сделать такое возможно только если сама сеть станет одним гиганским мега-пулом имхо. Звучит красиво, но на практике означает проверку каждой шары от каждого майнера каждой нодой сети (иначе как достичь консенсуса?). Посмотрите на трафик пулов и представьте, что все это размножится на все ноды. Имхо - постоянный само-ддос сети.

Пул может быть один, при этом полностью децентрализованный и никому не принадлежащий - это пул, работающий на сети мастернод.

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

Для подключения к пулу необходимо генерировать идентификатор через кошелек, по данному идентификатору такой пул сможет отслеживать сколько хешрейта поставляет в сеть тот или иной пользователь и на основе формулы определения доли централизации ограничивать принимаемый хешрейт с одного идентификатора.
И что помешает мне сгенерить сотню таких идентификаторов?
 
И что помешает мне сгенерить сотню таких идентификаторов?
Ничего не помешает, но хешрейт каждого устройства будет привязан к одному идентификатору и ограничен. Таким образом мы избежим централизации на пулах, где сосредоточены огромные мощности.

Задания же будут выдаваться "пулом на мастернодах", поэтому не будет смысла майнерам объединяться. Наоборот, если кто-то запилит большую ферму, его хешрейт будет ограничен.
 
Last edited by a moderator:
Ничего не помешает, но хешрейт каждого устройства будет привязан к одному идентификатору и ограничен. Таким образом мы избежим централизации на пулах, где сосредоточены огромные мощности.
Допустим. Тогда еще уточняющие вопросы ;)
Что такое "устройство"? Как определить, что оно "одно"? GPU - это одно или по количеству процессоров? А асик? Что помешает производителям софта (не важно для гпу или для асика) генерить 100+ идентификаторов и майнить на все? Что помешает генерить их постоянно новые, если старые израсходуют лимит?

EDIT:
Вообще же, имхо, любая принудиловка тут - это вынимание одного из кирпичиков из фундамента криптовалюты - т.н. permissionless, т.е. доступ к сети безо всяких регистраций и идентификаций. Заменяя экономическую инициативу на принудиловку мы ступаем на скользкую дорожку. Это, кстати, одно из моих существенных сомнений по поводу некоторых решений в Эволюции. Мы с Эваном дискутировали на эту тему немало и будем стараться избежать огрничения permissionless на столько, на сколько это возможно, но, конечно, чтобы при этом не "лечь" под спамом из мгновенных бесплатных транзакций.

ЗЫ. Из того, что я написал может возникнуть идея "вот же! нужно просто регистрировать юзеров-майнеров!", но мне идея завязывать прочность "фундамента" на цвет "крыши" не очень нравится ;)
 
Last edited by a moderator:
UdjinM6, мб стоит пересмотреть формулу награды за блок в зависимости от сложности.
Думаю, что старый код => бесполезен. Сейчас награда за блок всегда будет минимальная.
Какой смысл тратить даже минимальные ресурсы на выполнение if else => если на выходе (скоро) будет 100% одно значение?
Или давайте перепишем код, чтобы он действительно работал. (hash rate меньше => награда больше, больше => награда меньше).

+ изменение нормально зайдет, ведь все равно будет хард форк.

https://github.com/dashpay/dash/blob/master/src/main.cpp#L1544-L1560
Весь этот код можно упростить
Code:
nSubsidy = 5;
 
Last edited by a moderator:
UdjinM6, мб стоит пересмотреть формулу награды за блок в зависимости от сложности.
Думаю, что старый код => бесполезен. Сейчас награда за блок всегда будет минимальная.
Какой смысл тратить даже минимальные ресурсы на выполнение if else => если на выходе (скоро) будет 100% одно значение?
Или давайте перепишем код, чтобы он действительно работал. (hash rate меньше => награда больше, больше => награда меньше).

+ изменение нормально зайдет, ведь все равно будет хард форк.
Тоже думал об этом, тем более, что там есть кусок, который мне не нравится :)
Code:
nSubsidy = (2222222.0 / (pow((dDiff+2600.0)/9.0,2.0)));
все бы ничего, но nSubsidy это int, а это значит округление и все соответствующие радости.
было бы, например,
Code:
nSubsidyPrecise = COIN * (2222222.0 / (pow((dDiff+2600.0)/9.0,2.0)));
и награда бы подстраивалась чуть быстрее, а значит и сложность от блока к блоку скакала бы поменьше.
 
UdjinM6, думаю, что динамическая награда более неактуальна.
ASIC майнерам некуда уходить. По-этому нет смысла платить больше (когда hashrate падает).
if else => в формуле лишь дополнительное усложнение.
со временем по этой формуле результат будет => одинаковое число.
Предлагаю максимально упростить.
Code:
nSubsidyPrecise = COIN * 5
 
UdjinM6, думаю, что динамическая награда более неактуальна.
ASIC майнерам некуда уходить. По-этому нет смысла платить больше (когда hashrate падает).
if else => в формуле лишь дополнительное усложнение.
со временем по этой формуле результат будет => одинаковое число.
Предлагаю максимально упростить.
Code:
nSubsidyPrecise = COIN * 5
А вот теперь не соглашусь по обоим пунктам :)
1. Асик майнеры сидят на найсхэше и получают в 4 раза больше, чем просто майнить даш.
2. https://dashninja.pl/blocks.html#blocksdetail
 
Back
Top