Майнинг на основе популярности (переменное вознаграждение за блок)

Я думаю об альтернативной схеме майнинга, при которой вознаграждение за блок будет расти (или уменьшаться) с ростом популярности монеты. Обоснование этой идеи состоит в том, чтобы сделать обменный курс более стабильным, поскольку более высокий процент не приведет к более высокой цене монеты.

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

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

Ответы (3)

Как бы вы определили популярность? Любая ваша мера должна быть децентрализованной, и любое ваше решение может быть произвольно сфальсифицировано. Это совершенно невозможно с точки зрения ненадежной валюты, такой как биткойн.

Рыночная цена является мерой популярности. Поскольку монополии на биржи нет, любой может ими управлять. Тогда вы, вероятно, захотите подсчитать VWAP (средневзвешенную цену) по всему биржевому рынку, и все будет готово.
@Kozuch И как бы вы это надежно измерили? Как насчет лживых обменов?
@CodesInChaos: Что именно вы спрашиваете об измерении? Я просто предложил один способ выше (VWAP). Кажется, в сообществе биткойнов царит настоящая паранойя по поводу привязки некоторых «данных реального мира» к протоколу — разработчики говорят, что это «уязвимость», и они никогда этого не сделают — это смехотворно. А пока единственное уязвимое место здесь — это сам биткойн… никто не знает, будет ли он здесь завтра. Почему биржа не хочет врать? Потому что, если бы люди поняли, что биржи обанкротятся???
@Kozuch Вы не сказали, как вы измеряете VWAP и передаете его протоколу безопасным способом. Что, если я открою «Биткойн-обмен честного Ахмеда» и сообщу, что обменял миллиард биткойнов на доллар каждый?
Хорошо, теперь я понимаю, что вы имеете в виду. Что ж, каждый узел должен будет отфильтровывать такие обмены... Если обмен новый и узлы ему не доверяют, они просто не будут использовать его цены в рамках VWAP. В конце концов, нам нужна высота вознаграждения за блок, поэтому узлы должны как-то ее вычислить... возможно, цена — это только один из входных данных для такого расчета. Количество транзакций (что также дает экономическую ценность) может быть еще одним входом. На самом деле, чем больше у нас входных данных, тем менее рискованным должен быть окончательный расчет...

Я недавно думал примерно о том же.

@Anonymous: Популярность определить несложно. Назовите новую валюту биткойн». Хорошей мерой является цена биткойна с точки зрения некоторого широкого индекса потребительских товаров (например, корзины потребительских цен), товаров или чего-то еще, что вы хотите. Возможно, лучшим доступным показателем популярности является текущая цена MtGox в долларах США, евро и т. д.

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

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

Обратите внимание, что текущая система майнинга уже работает, чтобы в некоторой степени стабилизировать цену биткойна: по мере роста цены биткойна появляется больше майнеров, увеличивая предложение и помогая снизить цены. Но как работает эта система? Пока что не все так хорошо в плане стабильности. И, конечно же, когда будет достигнуто ограничение в 21 миллион биткойнов, больше не будет никакого доступного механизма стабилизации, который связывал бы предложение биткойнов с ценой биткойнов.

ОБНОВЛЕНИЕ 1 Я забыл упомянуть важный вопрос о том, как «популярность» объявляется/сообщается в системе биткойнов. Очень хороший вопрос. Можно представить доверенный объект с хорошо известным открытым ключом, подписывающий такие объявления, и системные узлы, проверяющие подпись этого конкретного объекта.

Один приятный аспект: мера «популярности» может быть относительно объективной, например, последняя общедоступная котировка популярной биржи. Это, по крайней мере, позволило бы любому в мире определить, действительно ли этому доверенному лицу можно доверять (они лгут об общедоступных котировках???). Но следует признать, что это настоящий камень преткновения в дизайне, например, что, если этот доверенный объект будет взломан?

ОБНОВЛЕНИЕ 2Еще одна родственная идея: если бы можно было обеспечить надежное соблюдение биткойн-контрактов, связанных с торговлей другими товарами/активами реального мира, то было бы легко построить децентрализованную систему, в которой множество анонимных лиц публично заявляли бы о «популярности» биткойна (опять же, используйте биткойн-контракты). текущую рыночную цену в качестве прокси), и эти объявления будут очень надежными. (Для ясности: весь смысл этих объявлений состоит в том, чтобы настроить вознаграждение за майнинг блока, чтобы стабилизировать цену биткойна. Основная идея: надежные объявления о текущих ценах BTC объявляются в сети BTC. Награда за майнинг блока постоянно колеблется в зависимости от текущей цены BTC. Если BTC' относительно высок, вознаграждение за блок увеличивается, привлекая майнеров. Если низко, вознаграждение снижается. ) Просто сделайте эти объявления в форме предложений о покупке и продаже биткойнов за товар/корзину/актив, по отношению к которым он стабилизирован. Например, если текущая рыночная цена биткойна составляет 1 доллар США, то диктор может объявить: «Я продам 1000 биткойнов по 1,1 доллара каждый и куплю 1000 биткойнов по 0,9 доллара каждый». Если объявление будетbind , то можно поспорить, что объявление не будет невыгодным для диктора! Можно надежно определить текущую ценовую категорию биткойна». Опять же, нужен надежный способ обеспечения соблюдения биткойн-контрактов при обмене реальных товаров, таких как доллары США.

Вы можете определить цену децентрализованным способом. Какая биржа, сколько весит, реальна ли эта биржа? Кто решает? Это не может работать так, как вы думаете.
@ Аноним, я не понимаю твоего комментария. И я не знаю, что ответить на «Это не может работать так, как ты думаешь». Почему нет? Конечно, предложенные мной системы построены на предположениях. В обновлении 1 я предполагаю, что существует централизованная доверенная организация, которая честно объявляет котировки цен. И в обновлении 2 я предполагаю, что есть способ обеспечить соблюдение биткойн-контрактов, которые торгуют товарами реального мира, по отношению к которым стабилизирован биткойн. Помимо этих предположений (которые, в конце концов, являются предположениями), что не так с предложениями?
@Anonymous Между прочим, я считаю, что каждый день заключаются и торгуются контракты на миллиарды долларов, выплаты по которым тесно зависят от общедоступных ценовых котировок.
Вы предполагаете, что есть доверенное лицо, но его не может быть, это буквально вся концепция Биткойна. Остальное не имеет значения. Невозможно получить децентрализованную «цену» Биткойна, поэтому нам даже не нужно рассматривать что-либо помимо этого.
«Невозможно иметь децентрализованную «цену» биткойнов». Я думаю, что вы ошибаетесь здесь. Есть ли у нас одна «монопольная» биржа биткойнов? Ответ "НЕТ" - я знаю как минимум несколько бирж... Так что система биржи уже является децентрализованной, и каждая сущность имеет свою (децентрализованную) цену. Я думаю, вы можете согласиться с этим, не так ли?
@Anonymous Я предполагаю доверенное лицо в обновлении 1, но не в обновлении 2. И вся концепция биткойна состоит в том, чтобы удалить доверенное лицо, которое предотвращает двойные траты . Не все доверенные объекты всегда плохие. Лично я непредвзято отношусь к их возможностям, хотя, конечно, желательно минимизировать их участие по многим причинам. Однако лично мне нравится мое предложение в обновлении 2. Но как обеспечить соблюдение биткойн-контрактов для реальных товаров? Боюсь, в этом надо полагаться на "человека с ружьем"...
@Will Nelson: Почему вы хотите обеспечить соблюдение контрактов? Я думаю, что вы говорите больше о «привязке» биткойнов к какой-то «корзине товаров» — нам это действительно нужно? Я доволен идеей цены, показывающей популярность. Я думаю, что вопрос скорее в том, как технически решить вознаграждение за переменный блок в сети...
@Kozuch, Контракты на объявления соблюдаются, чтобы гарантировать, что дикторы делают заслуживающие доверия объявления. Таким образом, нет единого доверенного лица, объявляющего цены. Любой может объявить текущую «цену», сказав: «Я куплю за X и продам за Y». Если их объявление неверно , они пожалеют об этом, потому что кто-то воспользуется их предложением и купит/продаст биткойн по невыгодной цене. Ты видишь? И с этим механизмом вам не нужно доверять одному лицу, чтобы объявлять цены/популярность.
@Kozuch, Да, я имел в виду стабилизацию валюты по отношению к какой-то корзине товаров. Я думаю, что, по сути, любое естественное определение стабилизации должно в конечном счете основываться на некотором типе средней цены реальных товаров. (Конечно, эта средняя цена может быть очень косвенной, возможно, какой-то рыночный механизм «вычисляет» среднее значение.) Почему сейчас BCT выглядит нестабильно? Потому что в прошлом году пицца стоила 100 BCT, а теперь пиццерия стоит 100 BCT. Все относительно...
@Will Nelson (отвечая на ваш предыдущий комментарий - не самый последний): Ну, я все еще не могу понять. Вы как будто сами себе противоречите (не хотел вас обидеть). Ну, с несколькими биржами (BTC China, Mt.Gox, Bitstamp и т. д.) у нас уже есть децентрализованные цены, и вы хотите создать такую ​​​​цену с помощью своего принудительного исполнения? И я думаю, что объем торгов по определенной цене делает эту цену законной? Таким образом, вы в основном искали бы цену, при которой объем торгов был бы довольно высоким.
@Will Nelson: Ваши 100 BTC для пиццы или пиццерии — это проблема волатильности — переменные вознаграждения за блоки должны устранить такую ​​волатильность.
@Kozuch Где противоречие? Как устранить необходимость в централизованном доверенном объекте для объявления популярности? Сделайте так, чтобы любой мог объявить о своей популярности. Как можно доверять заявлениям незнакомца о популярности? Один из способов — сделать так, чтобы незнакомец сделал свое объявление в форме юридически обязывающего контракта: если он говорит: «Я куплю 1 BCT за 1 доллар США или продам за 2 доллара США», вы знаете, что цена 1 BCT, вероятно, находится в диапазоне от 1 до 2 долларов США. ДОЛЛАР США. Доверие не требуется. Но я думаю, что ваша точка зрения заключается в том, что эта идея дублирует механизм обмена (например, Mt Gox). Истинный. Это пожалуй недостаток.
@Козуч. Ну да, ты по сути повторил мой пункт про пиццу. Если бы цена BTC постоянно объявлялась в сети BTC, а вознаграждение за блок постоянно корректировалось в ответ на эти объявления, это имело бы тенденцию стабилизировать BTC по отношению к товарам реального мира. Цена пиццы в BTC была бы более стабильной. В этом весь смысл...
@Kozuch - Я бы поболтал, но SE, кажется, не пускает. Возможно, вы неправильно поняли. См. абзац моего ответа, начинающийся со слов «Если цена биткойна высока…». Вся идея всех этих объявлений о цене состоит в том, чтобы настроить вознаграждение за блок вверх или вниз, чтобы стабилизировать цену биткойна...
Да, поэтому мы можем договориться о том, чтобы как-то объявить (доверенную) цену (предлагаю посмотреть на биржах - см. мой комментарий о VWAP). Но мне сказали, что технически (с точки зрения программного клиента) не так просто заставить работать вознаграждение за переменный блок. Так что я скорее хочу сосредоточиться на части кодирования, так как теория кажется ясной. Можете ли вы помочь с разработкой программного обеспечения?
Итак, у нас есть «надежный» центральный обмен, который можно закрыть, чтобы уничтожить монету. Это именно то, что система предназначена для остановки, центральный контроль, который может быть нарушен. Это было предложено bitcoin-developmentбольше раз, чем я могу вспомнить, и оно постоянно отклонялось, фактически вызывая смех в основной команде. См. похожую идею на sourceforge.net/mailarchive/…
@Kozuch Теперь я понимаю твою озабоченность. Я не эксперт по кодам BTC (пока что), но в настоящее время эта идея технически реализуема в рамках BTC. Очевидно, что это не будет обратной совместимости, если это то, что вы ищете. Мое предположение: код вознаграждения за блок жестко запрограммирован, и все узлы должны выполнять точно такие же расчеты вознаграждения, иначе разные узлы будут принимать/отклонять блоки по-разному. Ни в коем случае это не будет работать с текущей установленной базой.
@Anonymous: Ну, мне все равно, что думает «основная команда». Конечно, они хотят сохранить статус-кво, потому что эти люди хранят больше всех существующих BTC, хотят, чтобы цена росла, и, естественно, выступают против любого механизма саморегулирования. Тенденция с биржами - децентрализация, я думаю - вы не можете отрицать этот факт. Да, потребуется больше времени, чтобы появилось еще больше бирж, которые помогли создать еще более децентрализованную цену. Но мы уже движемся в этом направлении.
@Will Nelson: Да, мы говорим о новой/разветвленной монете (альтернативной цепочке), поэтому совместимость с биткойнами — это абсурд и нежелательна. Я думал так: каждый узел будет предлагать значение вознаграждения. Узел, создающий новый блок, прочитает все предложения и выберет медианное значение. Если он не подчинится этому значению, другие узлы не будут включать его блок в цепочку блоков, фактически не давая ему никакого вознаграждения. Но я не уверен, как (и если вообще) это технически выполнимо. Но вы говорите, что это выполнимо?
@Kozuch Вы бы сильно ошиблись, думая так.
@Anonymous Спасибо за указатель на почтовый архив. Это было полезно. Я совершенно уверен, что разработчики смеются, потому что, конечно, BTC не может быть изменен на данный момент. Это (я почти уверен) явно убьет валюту как технически (разветвление повсюду), так и экономически. Как упоминалось в списке, вы изменили бы правила пересылки биткойнов — именно тот тип мусора, который многие из нас хотят предотвратить. Невозможно реализовать эту идею без создания новой валюты с нуля.
PS. Я спросил об осуществимости в #bitcoin-dev на Freenode... вероятно, это было совершенно неправильное место для получения положительного ответа по причинам, изложенным Anonymous выше - они просто не хотят поддерживать кого-либо, кто делает такой форк, потому что новая монета принесет биткойн. в ад :).
@Kozuch Этот протокол мне не подходит. И это было бы БОЛЬШИМ изменением в кодовой базе BTC. Как вы можете проверить медианы с входящими и выходящими узлами? И кто является «законным» узлом в расчете медианы? И я не совсем уверен, что это решит проблему. Опять же, проблема стабильности, по сути, заключается в относительно слабой связи с реальными мировыми ценами на сырьевые товары. Идея, которую я имел в виду, заключалась в следующем: (1) специальные транзакции, объявляющие текущую цену, транслируются на все узлы, (2) узлы «аутентифицируют» объявления цен, либо просматривая подпись с одним из N общеизвестных открытых ключей, либо...
через механизм связывания контрактов , который я описал в обновлении 2, затем (3) награды за майнинг блоков настраиваются в ответ на последние объявления о ценах. Это кажется легкой модификацией протокола и кодовой базы BTC (я думаю). Но до обратной совместимости далеко.
@Anonymous: Сильно ошибся, думая что?
@Will Nelson: Я открыт для любого программного решения, особенно простого и недорогого :). Мне очень нравится ваше протокольное предложение! Что касается пункта № 2 - я бы выбрал открытые ключи, так как вы не можете легко заключить обязательный контракт в P2P. Я предполагаю, что владелец (владельцы) этих открытых ключей должен (должны) быть общеизвестными и реальными (не анонимными) людьми? Если это так, это может повысить доверие к сети, что на самом деле было бы хорошо.
@Kozuch Может быть, вы можете спросить разработчиков ядра BTC или какую-то подобную группу, насколько сложно будет разветвить код BTC и реализовать его. (Пожалуйста, дайте мне знать, если вы узнаете что-нибудь интересное!) Другие идеи, которые только что пришли мне в голову: каждая транзакция «coinbase» может принимать один вход (вместо текущего 0), который указывает на специальную транзакцию объявления «цены», которая определяет ее вознаграждение за блок. А специальные открытые ключи будут жестко запрограммированы в дистрибутив кодовой базы. (Обычно именно так SSL работает со своими центрами сертификации. Изучите его для получения дополнительной информации.) Удачи!
@Will Nelson: Спасибо за ваш ценный вклад в тему! Я не знаю, как быстро я буду действовать, мои ресурсы, естественно, ограничены. Я увижу. Я скорее стараюсь распространять информацию, изредка находя кого-то, кому тоже не нравится статус-кво :).
Привет, ребята, эта ветка комментариев становится довольно длинной — пожалуйста, подумайте о том, чтобы переместить ее в Биткойн-чат, если у вас есть что обсудить — здесь будет ссылка на расшифровку стенограммы, чтобы люди могли найти беседу.

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

Представьте, что у вас есть монета со временем блока 8 минут и 525960 монет.

Сначала вы должны решить, сколько времени вы хотите, чтобы все монеты были добыты, предполагая скорость хэширования X. Предположим, вы хотите 8 лет, это означает 525960 блоков, предполагая 8 минут времени блока.

Это означает, что (с хэшрейтом X) для получения 525960 монет, требующих 525960 блоков, вам потребуется вознаграждение в размере 1 монеты за блок.

Теперь, когда вы сделали эту математику, у вас будет значение вознаграждения за блок по умолчанию (1 монета с хэшрейтом X).

Реальная награда за каждый блок будет равна 1/((Хешрейт)/X).

В качестве примера, когда X равно 10, если скорость хэширования становится в 2 раза выше, а скорость хеширования равна 20, вознаграждение за блок становится равным 1/(20/10) = 0,5 монеты.