Есть ли способ настроить системы проверки работоспособности, чтобы они были еще более полезными?

Один из аргументов против выбора дизайна Биткойна заключается в том, что он тратит ресурсы на аутентификацию транзакций. В частности, поиск мелких хэшей совершенно бесполезен для мира.

Существуют ли подходы (или другие криптовалюты), которые используют доказательство работы, работая над какой-то полезной сложной проблемой? Существует множество проектов, таких как SETI@home или Folding@home, которые распределяют сложные, но потенциально полезные вычисления между разными пользователями, есть ли способ использовать такие полезные вычисления для построения системы проверки работоспособности в криптовалюте или нет? есть ли фундаментальная причина (экономическая или вычислительная), по которой доказательство работы должно включать в себя бесполезную работу?

Этот вопрос недействителен; бесполезно произвольно. То, что вы называете бесполезным, полезно. Действующая система доказательства работы обеспечивает равномерное распределение биткойнов.
@ user9704 Я установил четкие критерии того, что я имею в виду под полезной работой. Т.е. работа, которая обеспечивает полезность за пределами простых аутентификационных взаимодействий.
@ Serith Я не согласен с тем, что вы изменили название этого вопроса. Есть несколько пользователей, которых оскорбляет то, что я использую слово «бесполезный», но я действительно использую его в контексте вычислений, которые бесполезны для вещей, кроме биткойнов. Было бы лучше отредактировать мой вопрос, чтобы прояснить это, вместо того, чтобы сам вопрос предполагал, что текущая система доказательства работы выполняет полезные вычисления, а не просто тратит циклы для аутентификации.
NooShare как раз такое предложение - reddit.com/r/Bitcoin/comments/pve08/…
@ ripper234: Пожалуйста, рассмотрите возможность размещения этого ответа в качестве ответа с более подробной информацией. Это, безусловно, лучший ответ, который правильно отвечает на вопрос. Жаль, что это скрыто в комментариях.
@RaphaelJolivet - готово. биткойн.stackexchange.com/a/9395/78

Ответы (13)

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

В настоящее время не существует известного способа сделать работу более полезной. Проблема в том, что основная цель обеспечения безопасности сделок предъявляет ряд требований к выполняемой работе:

  1. Работу должно быть гораздо проще проверить, чем сделать. Таким образом, это в значительной степени должно состоять из поиска чего-то редкого, выполнения миллиардов поисков, чтобы проверить, имеет ли ввод определенную характеристику. Таким образом, проверка просто требует подтверждения того, что найденный вами ввод имеет эту характеристику.
  2. Работа должна фактически обеспечивать транзакции и не быть отделенной от них. Если я увижу, что вы отправили мне 10 биткойнов, а затем к ним добавились миллиарды вычислений, то не должно быть возможности удалить эту транзакцию, а затем добавить эти же вычисления к конфликтующей транзакции. Таким образом, вы не можете использовать результат произвольного фрагмента работы, чтобы доказать работу в цепочке биткойнов.

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

Я думаю, что заголовок вопроса немного вводит в заблуждение, и его следует изменить на «Есть ли способ настроить системы проверки работоспособности, чтобы они были еще более полезными?»
Как насчет поиска простых чисел? Это должно, по крайней мере, соответствовать критериям 1. Однако я не знаю, насколько это полезно.
@David: Чем полезен поиск простых чисел, связанных с биткойн-транзакциями?
@DavidSchwartz Я имел в виду поиск новых простых чисел, которые ранее не были обнаружены.
Нахождение простых чисел лежит в основе Primecoin. Поиск простых чисел полезен в некоторой степени.
Я не могу ответить, потому что у меня недостаточно репутации, но есть эта статья по теме: eprint.iacr.org/2017/203.pdf

Primecoin является первым:

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

Проверьте http://ppcoin.org/primecoin

Можно усомниться в пользе знания цепочки простых чисел Каннингема, но, возможно, это полезнее, чем нахождение хэшей с последовательностями нулей. И часто от математики практическое применение находят только потом. (Участвуют даже денежные призы: «250 000 долларов первому человеку или группе, которые обнаружат простое число, содержащее не менее 1 000 000 000 десятичных цифр», от EFF, не менее, https://www.eff.org/awards/coop )

Вот подробная статья по этому вопросу: Спросите Ars: зачем тратить время и деньги на поиск новых простых чисел?

Более того, теперь, когда есть одна математически полезная монета, вероятно, последуют и другие.

Curecoin — еще один очень интересный подход с объединенным майнингом. 45% новых монет для майнеров SHA, для безопасности блокчейна, 45% для мощности GPU/CPU свертывания белка. 10% идет на разработку.

Почему полезно знать цепочку Каннингема?
@Ник, я с тобой полностью согласен. В чем смысл? Я не вижу, чем цепочки Каннингема более полезны, чем хэши SHA256.
Цепочки Каннингема @NickODell теперь считаются полезными в криптографических системах, поскольку «они обеспечивают две одновременные подходящие настройки для криптосистемы Эль-Гамаля ... [которые] могут быть реализованы в любой области, где проблема дискретного логарифма сложна». en.wikipedia.org/wiki/Cunningham_chain
@Janus Troelsen Сколько именно из них было бы полезно и для чего? Будем ли мы использовать их для защиты связи? Писать интересные статьи? Я не вижу здесь веских аргументов, но готов их выслушать.
Немного похожий на Curecoin, есть также Gridcoin , использующий то, что они называют « доказательством исследования ». В отличие от Curecoin, Gridcoin позволяет работать не только над сворачиванием белка, но и над несколькими задачами проекта распределенных вычислений BOINC .

NooShare — это идея для:

децентрализованная бухгалтерская книга, похожая на Биткойн, с новой особенностью, состоящей в том, что ее доказательства работы представляют собой итерации по существу произвольных цепей Маркова Монте-Карло (MCMC), расписание которых можно приобрести, используя саму валюту. Это новая экономическая основа для совместного использования свободных вычислительных ресурсов.

Я не знаю, прошел ли он начальный этап проектирования, но его стоит прочитать.

Звучит интересно, но полезны ли цепочки MCMC?
Похоже, что NooShare небезопасен и никогда не работал, так как я не могу найти, чтобы NooShare использовался где-либо. NooShare был просто идеей, но на практике она, похоже, не сработала.

Проблема в том, что никто не придумал систему проверки работоспособности, основанную на полезной работе, которая также:

  • Генерирует легко проверяемые решения
  • Могут возникнуть трудности с поиском решения, адаптированного

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

любая NP-полная задача по определению имеет легко проверяемое решение. Относительно легко постепенно увеличивать сложность, увеличивая размер ввода. Кроме того, в науке предостаточно полезных NP-трудных задач: скажем, укладка белка или оптимизация схемы.
Проблема с предложением @Artem заключается в том, что вы можете предварительно вычислить решения многих проблем. Блокчейн делает блок N+1 зависимым от блока N, поэтому его невозможно рассчитать заранее.
@ ripper234 мое предложение определенно неверно, иначе оно будет использоваться. Однако смысл моего комментария был контрпримером того, что Крис предложил в качестве ответа. Однако людям, кажется, нравится его ответ. Однако было бы неплохо, если бы он объяснил, почему общая NP-сложная задача не подходит. Что касается моего комментария, то его можно заставить зависеть от предыдущих блоков, заставив входные данные для решения следующей проблемы зависеть от предыдущего блока (скажем, есть база данных экземпляров сложных задач для решения, тогда можно использовать хэш блока N выбрать следующую задачу для решения).
Вам понадобится столько же проблем, сколько и хэшей. В противном случае доказательство работы на самом деле не доказывает работу. (Кто-то может просто выбрать транзакции, чтобы получить хеш, который выбирает проблему, которую он уже решил.) Доказательство работы должно окончательно зависеть, по крайней мере, от хэша предыдущего блока и транзакций в нем, чтобы доказательство работы было доказуемо непрактичным. приложить к любой другой работе.
Primecoin решает проблему простых чисел с помощью цепочек Каннингема, сложность которых можно контролировать.

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

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

A) Когда алгоритм доказательства работы похож на sha256 и полезен только для защиты сети биткойнов

Б) Когда алгоритм доказательства работы помогает находить пришельцев и поддерживать мир во всем мире в дополнение к обеспечению безопасности сети биткойнов.

В сценарии B, если BTC потеряет всю свою стоимость из-за атаки 51%/двойной траты, оборудование майнеров по-прежнему будет ценным, потому что, хотя оно не может добывать биткойны, оно все же может находить инопланетян и поддерживать мир во всем мире.

В Сценарии А, если BTC потеряет свою ценность, оборудование майнеров выйдет из строя вместе с ним из-за того, что указанное оборудование бесполезно для чего-либо, кроме майнинга биткойнов.

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

Интересно. Я не думаю, что это было частью первоначальной концепции. Но интересно.

Некоторые дискуссии о том, как сделать его более полезным

https://en.bitcoin.it/wiki/Intrinsic_worth_brainstorming

https://bitcointalk.org/index.php?topic=11834.0

«Объединенный майнинг» (одновременный майнинг в нескольких цепочках блоков с одинаковым объемом работы) может быть бесполезен в «реальном» смысле, но, по крайней мере, он также производит Namecoins или Solidcoins или что-то еще в процессе производства биткойнов. .

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

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

Если бы вы сделали вычисление «полезным» в каком-то другом смысле, то, в принципе, вы могли бы просто продать этот «полезный» результат и тем самым уменьшить чистые экономические затраты на обеспечение безопасности блокчейна, сделав его менее безопасным. Таким образом, «бесполезные» вычисления Биткойна полезны, независимо от того, есть ли у них другое применение.

Недавно я ответил на этот вопрос в своем блоге, более подробную информацию можно найти здесь: https://blog.sldx.com/is-bitcoins-proof-of-work-useless-work-a411480d3eb3

содержимое по URL-адресу больше недоступно.
Как вы относитесь к тем, кто добыл соль или золото? Соль/золото полезно помимо того, что оно является источником ликвидности (для придания вкуса еде и предотвращения ее гниения или создания красивых вещей). Но они не защищают блокчейн...

Я думал, что дам известный мне ответ на этот вопрос, и это экономический вопрос.

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

Если мы используем проблему, которая не является бесполезной, то есть шанс, что она будет более полезна для одних, чем для других. Например, решение экземпляра проблемы X может принести доход в размере Y долларов для человека N и никакого дохода для человека M. (Скажем, мы сворачиваем белки, а человек N — фармацевтическая компания, которая может использовать это для создания нового лекарства, а человек М — случайный человек). Тогда, если подделка валюты путем покупки вычислительного времени стоит K долларов, то для человека N это будет стоить (K - Y) долларов, а для человека M это будет стоить K долларов. Это может привести к дестабилизации стоимости валюты.

Таким образом, если есть полезная задача, она должна быть одинаково полезна ВСЕМ пользователям валюты.

может кто-нибудь прокомментировать отрицательные голоса? Это из-за самоответа или я сказал что-то ложное в своем ответе?
Я не минусовал, но ваш ответ мне кажется не совсем правильным. На самом деле вы не можете подделать биткойны. Однако, если вы контролируете большую часть вычислительной мощности сети, вы можете осуществить атаку с двойной тратой. Я не уверен, как это связано со стоимостью поиска решений. Есть ли у майнеров, которым не нужно платить за электроэнергию, больше стимулов для атаки на сеть, чем у тех, кто должен платить?
Майнеры, которым не нужно платить за электроэнергию, с большей вероятностью продолжат добычу, даже если она убыточна с учетом стоимости электроэнергии. электричество для обогрева в любом случае или иметь избыточную электроэнергию, которую они не могут хранить.
@DavidSchwartz: Как майнеры могут не платить за электроэнергию? Они крадут это?
@Hans-PeterStricker: многие возобновляемые источники энергии производят энергию независимо от спроса. Например, Южная Африка вложила значительные средства в гидроэнергетику для сталелитейной промышленности, которая не процветала. Энергия ветра пока не подлежит хранению, поэтому либо останавливаются турбины, что может вызвать проблемы, либо энергия используется для радиатора или другой свалки — например, для майнинга биткойнов. Использование энергии является серьезной критикой Биткойна, но экономика настаивает на бесполезной энергии, а не на полезной, а доходы могут поддерживать возобновляемые источники энергии.

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

Рассмотрим недавнее появление множества альткойнов, которые используют одни и те же алгоритмы PoW. Если выполняемая работа имеет смысл в различных контекстах, то майнеры не будут заниматься защитой биткойнов, поскольку существуют экономические соображения относительно того, на что следует потратить работу, чтобы внести свой вклад. . Например, из-за того, что Биткойн Кэш и Биткойн используют один и тот же алгоритм PoW SHA256d, наблюдается большая волатильность скорости хеширования в обеих криптовалютах, что косвенно ослабляет безопасность, поскольку часть работы приходится перенаправлять в другое место, а также снижает удобство использования для из-за большей разницы во времени прибытия блоков.

Этот пост старый, но я был перенаправлен сюда и прочитал много комментариев.

Многие аргументы о том, почему алгоритм не должен ничего делать вне системы, имеют обходной путь.

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

Я имею в виду, что люди специализируются на задачах и группируются по своей специализации, одна группа мало знает о другой, а кроссплатформенных решений мало.

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

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

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

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