Соревновательная составляющая предполагает, что определенные участники вырываются вперед. Но она также предполагает, что это преимущество обычно временное. Поэтому никакой концентрации вычислительной мощности мы не наблюдаем. Для этого есть и другая причина: в долгосрочной перспективе майнерам не выгодны большие пулы, так как централизация власти в одних руках ставит под угрозу их будущую прибыль. Чем здоровее сеть, тем им лучше. Да и не стоит забывать, что думать о пулах как о едином организме неправильно: оператор пула не имеет никакого влияния на майнеров.
Это все в теории, нужна програмная реализация для проверки этих тезисов. Для удовлетворения обоих условий, что высокой сложности, что противойдействия атакам и цензуре, нужно много майнеров, но не факт что они будут. Майнерам нужно, чтобы монета была ценная для оправдания затрат, но монета не будет ценной, если ее никто не захочет майнить. Важно не только продумать дизайн, но и обеспечить варианты использования. Не только "как", но и "зачем". Без этого проект нереализуем.
Знаете я обдумывал текущий вариант с майнинг хешами, которые выбираются из блокчейна, условно тот же POS. Там действительно идет со временем накопление этих хешей.
Однако сам механизм мне нравиться, так как он хорошо продуман и позволяет суммировать работу сети, а не иметь соревновательный механизм.
Поэтому я сейчас подумываю, над видоизменением алгоритма и смещения его в сторону POW.
А именно сами майнинг хеши, будут не доставаться из блокчейна, а просто майниться POW. Даже на самом слабом ноутбуке можно спокойно смайнить майнинг хеш с 5-6 совпадениями.
Вот условно, как это будет. Произведен последний блок, у него есть хеш.
Теперь каждый майнер должен смайнить хеш с максимальным совпадением по этому хешу из этих данных:
1. Хеш предыдущего блока.
2. Ваш адрес с которого будете отсылать подблок.
3. Nonce.
Условно у нас есть хеш предыдущего блока:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655
Мы берем данные:
1. 3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655
2. 5082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06
3. Тут начинаем подбирать Nonce, пусть он остановиться на значении 32456.
В итоге получаем хеш этих данных:
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
И так у нас теперь есть майнинг хеш с 5 совпадениями, а дальше всё, как обычно, создаем свой подблок, либо пересылаем его сразу либо присоединяем к другому.