@flamehowk
А чем не нравится алгоритм Yespower, на котором сидят большинство CPU-монет?
Цитата:
"yespower is a proof-of-work (PoW) focused fork of yescrypt, which in turn builds upon scrypt. While yescrypt is a password-based key derivation function (KDF) and password hashing scheme, and thus is meant for processing passwords, yespower is meant for processing trial inputs such as block headers (including nonces) in PoW-based blockchains."
Что говорит нам о следующем.
Во-первых это таки алгоритм хэширования.
Во-вторых он явно предназначен для вычисления ключей.
Так как эта функция хэширования, то скорее всего она либо частично односторонняя, либо полностью односторонняя. Это нам подходит.
Однако - не факт, что она кольцевая. А скорее всего, что - нет, ввиду того, что, как для любой функции хэширования, в ней есть рандомный ввод данных.
В третьих - она лишь ограниченно последовательная.
Из чего получается, что эта функция во-первых - изначально предназначена для других целей... и во-вторых, не может решить все проблемы, которые стоят перед современным алгоритмом POW.
Или новомодный RandomX?
Цитирую:
"RandomX uses random code execution (hence the name) together with several memory-hard techniques to minimize the efficiency advantage of specialized hardware."
Как видим в описании честно сказано, что эта функция не для решения проблемы, а лишь для "минимизации" возможностей использования специализированного оборудования. И решение это - откровенно "ущербное" - за счет увеличения использования памяти. То есть, либо человек, у которого старый и слабый компьютер не сможет участвовать в майнинге, либо на компьютере, который занимается майнингом невозможно будет делать что-либо еще... считайте это равносильно тому, что покупать отдельный комп для поддержания сети.
Мой же алгоритм лишен всех этих недостатков и он ИМЕННО предназначен для решения этой проблемы. Он может работать даже на смартфоне, не сильно отвлекая на себя ресурсы, он не требователен к железу - хоть на ардуино будет работать. Понимаете?
IMHO, нет необходимости полностью отсекать возможность майнинга на видеокартах, FPGA, Асиках или квантовых компьютерах
Есть.
Эти устройства дорого стоят и требуют дополнительных вложений средств, что многим не по карману.
Второе - они пожирают ОЧЕНЬ много электроэнергии. Вы об глобальной мировой экономии думаете? Не забывайте - это один из основных аргументов, которые приводятся на различных заседаниях регуляторов криптовалют - нужно выходить из этой "мертвой петли" самоуничтожения.
Третье - FPGA-шки кроме всего прочего еще и требуют больших вложений на программирование прошивок, да и товар это редкий - массово не выпускается. А мы говорим о ВСЕОБЩЕМ благе, когда каждый, кто имеет хотя бы какой-нибудь вычислительный механизм сможет совершенно спокойно поддерживать сеть, занимаясь майнингом. При этом - без ущерба для общих вычислительных мощностей этого устройства.
Достаточно слелать так, чтобы норма прибыли не увеличивалась многократно по сравнению с майнингом на CPU
А вот как раз это таки сделать почти невозможно. Для того, чтобы это понять, нужно обладать знаниями об внутреннем устройстве ВСЕХ этих типов устройств. Так что простите, что не объясняю.
Я далек от математики, но мне кажется, flamehowk хочет ограничить майнинг одним ядром процессора
Если я не прав, поправьте меня
Все совершенно верно.
Но если это так, то это бессмысленно
32-ядерным процессором все равно можно будет майнить на полную мощность - поверьте, появятся аналогичные монеты
При хорошей прибыли появятся методы, позволяющие задействовать возможности и GPU
Современные процессоры ограничены в производительной мощности максимально возможной тактовой частотой работы, поэтому их производительность увеличивают за счет добавления специализированных конвейеров (для частых задач) и увеличения количества вычислительных ядер.
Так вот, даже если Вы заставите 32-ядерный процессор работать на полную мощность (например, разогнав его до 5 ГГц под жидким азотом), на нем ВСЕ-РАВНО рассчитывать POW-алгоритм будет ТОЛЬКО 1 ядро!
А насчет задействования возможностей GPU, то это будет просто лишено смысла, так как ядра GPU уступают по вычислительной мощности ядрам CPU. При чем - значительно. То есть - человек потратит время на то, чтобы транслировать код с C++ на CUDA, а получит пшик... Какой в этом смысл?
Так что то, что я предлагаю как раз более, чем осмысленно. Естественно, если мы стремимся к тому, что завещал великий создатель Биткойна в своем Whitepaper, я уже не говорю про "общечеловеческие ценности". Помните - "Один процессор - один голос". Вот как раз для решения этой задачи и предназначен мой POW-алгоритм.
Еще одно замечание - ни YesCrypt, ни его продолжение - YesPower - не умеют использовать современные инструкции типа AVX, AVX2
Я давно надеюсь, что кто-нибудь создаст такой алго, чтоб неспециализированным процессорам видеокарт было б не под силу соперничать с аппаратными инструкциями, зашитыми в CPU
Возможно, это уже сделано в RandomX - но я, увы, профан ;(
Если сильно разогнать обычный проц, то он все-равно сможет посчитать эти инструкции приблизительно с такой же скоростью, как и специализированные конвейеры. Более того, в этих инструкциях зашито не так много "нового", как может показаться. Отсюда - безсмысленность Ваших чаяний. Я уже не говорю о том, что любой АСИК решит эту задачу еще быстрее.
Так что предлагаю прекращать надеяться, а приступать к разработке...
хотя решение, как можно видеть, уже найдено. Нужно его только воплотить в крипту. И здесь мне очень не помешал бы человек, который уже хорошо разбирается в исходниках Битка или Монеро, потому что я лично еще в них толком никогда не копался - займет много времени пока разберусь.