Pools in Chia

Chiacoin

Administrator
Команда форума
Брэм Коэн — 10 ноября 2020 года
Обновление: Проверьте FAQ по объединению для получения дополнительных обновлений.


TL;DR У нас еще не полностью реализован пул, но мы строим крючки, чтобы в будущем хорошо работали два подхода к пулам фермеров.

Мы подходим к объединению поддержки в Chia с осторожностью, потому что они являются большим потенциальным источником централизации в системе, которую мы проектируем, чтобы быть максимально децентрализованной. Тем не менее, у пулов есть некоторые реальные преимущества: они сглаживают вознаграждения за ведение сельского хозяйства, особенно для мелких фермеров, и они могут гарантировать, что работает хорошая инфраструктура timelord. Тем не менее, мы рекомендуем фермерам самостоятельно объединяться и предприняли шаги, чтобы сделать объединение как можно более безболезненным. Кроме того, в нашем новом алгоритме консенсуса в 32 раза больше событий вознаграждения в день, чем в биткойне. Имея 4608 шансов выиграть 2 чиа каждый день, мы думаем, что даже мелкие фермеры с собственными бассейнами смогут выиграть награды в разумные сроки в первые месяцы работы mainnet. (Обновлено в феврале 2021 года, чтобы изменить, что это будет 4608 шансов выиграть 2 чиа каждый день.)

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

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

Возможно, самая спорная часть нашего запланированного протокола объединения заключается в том, что фиксированные вознаграждения за блок будут равны 7/8 для пула и 1/8 для фермера. Это, по-видимому, приятное место, где это не сильно уменьшает сглаживание, но также стирает потенциальные атаки эгоистичного майнинга, когда кто-то присоединяется к конкурирующему пулу и берет свои частичные данные, но не загружает фактические блоки, когда они их находят. Такого рода атаки могут стать прибыльными, когда доля разделения меньше, чем размер пула по отношению ко всей системе. У нас есть возможность изменить это разделение до запуска mainnet, и мы открыты для отзывов и мнений по этому поводу, которые, я уверен, будут у людей. Пожалуйста, будьте вежливы.

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

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

Новый крючок для поддержки переключения пула-это альтернативный формат сюжета, который содержит хэш головоломки. Хэш головоломки определяет, как можно потратить монету. Это эквивалент Chia того, что в биткойне называется scriptpubkey. Награды за блок пула отправляются в эту головоломку вместо открытого ключа пула, который указывает, куда идет каждая награда. Вам может быть интересно, какое это имеет отношение к переключению пула. Общая тема с Chialisp, нашей средой сетевого программирования, заключается в том, что инструменты выглядят недостаточными для выполнения того, что вы хотите, но на самом деле способны выполнять это гораздо более надежным и универсальным способом, чем могли бы сделать более специализированные инструменты. Следующий абзац объясняет это, но немного технически, поэтому не стесняйтесь пропустить.

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

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

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

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

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

Невозможно быть всем для всех людей. В этом случае мы приняли решение поддерживать объединение таким образом, чтобы оно соответствовало тому, как делается все остальное в Chia, и не вызывало постоянных трудностей для одного случая использования. Недостатком является то, что участки, создаваемые сегодня, не смогут переключать пулы в будущем без повторного заполнения. За это мы приносим свои извинения. Но мы обещаем, что графики k=32 или больше, сделанные сегодня, будут работать в mainnet и будут хорошо работать в будущем.

 
Верх