Bitcoin Forum
May 04, 2024, 06:01:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 »  All
  Print  
Author Topic: Анти ASIC/GPU/FPGA POW-алгоритм  (Read 1555 times)
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 08, 2019, 11:11:23 PM
Last edit: December 15, 2019, 02:57:21 PM by flamehowk
Merited by Symmetrick (3), Beoga (1), adm_cryptolot.io (1)
 #1

Анти ASIC/GPU/FPGA/CLOUD/MAINFRAME POW-алгоритм
Теперь майнинг может быть доступен каждому…

Привет всем.
Я несколько лет думал над тем - как сделать алгоритм POW, который будет устойчив не только против ASIC-устройств, но и против GPU-майнеров.
И я его разработал! Smiley
Вчера ночью я успешно провел генерацию и подтверждение первой локальной цепочки подписей для подтверждения блока (смотрите скриншот ниже). Поэтому с сегодняшнего дня я буду публиковать описание алгоритма и части кода на С++.



Основное решение.

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

Первый принцип - циклические вычисления.

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

Требования к POW-алгоритму:
1) односторонняя функция;
2) тяжело вычислить;
3) легко проверить;
4) только последовательные вычисления.

Приведу пример КБФ для 32-битного числа.



Вы видите, что через 8 раундов таких вычислений мы снова получаем начальное число. Так как вычисления идут по кольцу, мы можем их использовать для POW-алгоритма. Например, с 1-го по 7-ой раунд - это поиск результата вычислений. 7-ое число – это найденная подпись. А 8-ой раунд - это проверка верности вычислений!



При этом данная функция является односторонней, то есть обратное преобразование возможно только путем полного перебора.
Таким образом для данного вида вычислений, которые я назвал "Кольцевой Битовой Функцией", выполняются все 4 требования к POW-алгоритму.



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


(Thanks to IadixDev for the diagram.)

Размер колец в КБФ может быть разным. Это зависит от комбинации ротаций и сдвигов, которые мы применяем. Некоторые комбинации не создают кольцевых функций, поэтому необходимо предварительно проверять – какая комбинация работает.



Приведу несколько рабочих примеров для 32-битных чисел:
 
239 rounds
NewNum = (num >> 1) ^ (num <<< 1)

55117 rounds
NewNum = (num >> 1) ^ (num <<< 1) ^ (num >>> 3)

131069 rounds
NewNum = (num >> 1) ^ (num <<< 1) ^ (num >>> 13)

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

Второй принцип – олимпийские кольца.

Одна кольцевая фунция может нам дать только одну подпись. Но для того, чтобы подобрать "красивую" подпись, нам нужно высчитать много кольцевых функций. Четвертый принцип POW-алгоритма требует, чтобы все кольцевые функции были связаны. Так как вычисления в кольцевой функции односторонние, то при поиске "красивой" подписи мы двигаемся по кольцу в одну сторону, а при проверке – в другую. Если мы начнем высчитывать новое кольцо от старой подписи по тому же алгоритму, то будем двигаться по тому же кольцу. Чтобы создать новое кольцо от старой подписи нужно изменить алгоритм на другой. В этом случае цепочка вычислений будет похожа на олимпийские кольца (только более длинная – она будет состоять из сотен или тысяч колец). Смена алгоритма вычислений на каждом кольце поможет нам увеличить устойчивость нашего алгоритма против ASIC-устройств.



Для доплнительного усложнения алгоритма против ASIC и FPGA устройств, мы будем использовать маски на каждом переходе от одного кольца к другому. Этот алгоритм маскировки является двухсторонним. Я назвал его Mystique.



Третий принцип – двухступенчатая подпись.

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

1 этап.
На основании подписи предыдущего блока, номера блока и адреса кошелька майнера выполняется хэширование (например SHA256).
Полученный хэш служит стартом для основного вычисления при поиске "красивой" подписи.

2 этап.
Найденная подпись является только pre-подписью.
Pre-подпись служит стартовым числом для хэширования, которое на вход принимает все остальные данные блока – корень Меркла, счетчик цепочки, штамп времени и т.д.
Полученный хэш мы считаем подписью блока.
Таким образом, майнер не сможет высчитать хэш блока до тех пор, пока не найдет корректную pre-подпись. Но найдя ее уже нет смысла высчитывать разные хэши от разных входных данных.

Четвертый принцип – самопрограммирование.

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



Проблема решена.

Все. Проблема защиты POW-алгоритма от ASIC/GPU/FPGA и прочих специальных устройств решена. Для большей силы алгоритма в нем будут использоваться 256 битные числа.

Что уже сделано.

На данный момент весь POW-алгоритм разработан и проверен. Основной код алгоритма реализован на C++ локально.



Что с этим делать делать?

Вы можете имплементировать этот алгоритм в любую криптовалюту и это будет лучший алгоритм POW, который Вы только когда-либо знали.

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
1714802499
Hero Member
*
Offline Offline

Posts: 1714802499

View Profile Personal Message (Offline)

Ignore
1714802499
Reply with quote  #2

1714802499
Report to moderator
1714802499
Hero Member
*
Offline Offline

Posts: 1714802499

View Profile Personal Message (Offline)

Ignore
1714802499
Reply with quote  #2

1714802499
Report to moderator
1714802499
Hero Member
*
Offline Offline

Posts: 1714802499

View Profile Personal Message (Offline)

Ignore
1714802499
Reply with quote  #2

1714802499
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714802499
Hero Member
*
Offline Offline

Posts: 1714802499

View Profile Personal Message (Offline)

Ignore
1714802499
Reply with quote  #2

1714802499
Report to moderator
1714802499
Hero Member
*
Offline Offline

Posts: 1714802499

View Profile Personal Message (Offline)

Ignore
1714802499
Reply with quote  #2

1714802499
Report to moderator
Beoga
Legendary
*
Offline Offline

Activity: 2646
Merit: 1141


View Profile
December 08, 2019, 11:56:34 PM
 #2

Еще один бич POW на процессоре это ботнеты. Как с ними бороться?
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 01:15:05 AM
 #3

Еще один бич POW на процессоре это ботнеты. Как с ними бороться?
Самый простой способ, который напрашивается в первую очередь - это закрытый исходный код, чтобы злоумышленник не мог переделать его в бота.

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 04:52:24 AM
Last edit: December 09, 2019, 06:00:27 AM by kzv
 #4

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


OpenTrade - Open Source Cryptocurrency Exchange
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 06:58:35 AM
Last edit: December 09, 2019, 07:09:42 AM by flamehowk
 #5

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

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

По поводу вашего алгоритма: можете как-то более коротко изложить?
Вот видите, Вы даже такого очевидного, на картинке из 5 кружочков, объяснения не смогли понять. А как бы Вы, будучи грамотным реверс-инженером, смогли понять вот такую кашу из пересылок голых цифр по регистрам:

include io.asm
   data segment
        x db 'mov ax', '$'
   data ends
  stack segment stack
        db 128 dup (?)
  stack ends
   code segment
        assume cs: code, ds: data, ss: stack
 start: mov ax, data
        mov ds, ax
        lea dx, x
        outstr
        finish
   code ends
        end start

Huh

Вот есть входные данные от предыдущего блока, эти данные знают 100 майнеров, дальше что..? 100 майнеров независимо друг от друга, ищут по вашему алгоритму какую-то подпись, которая удовлетворяет некоторому консенсусу? Правильно?
Каждый майнер берет Хэш предыдущего блока и его номер, добавляет к нему адрес своего кошелька, на который в первой транзакции будет генерироваться вознаграждение за найденный блок. Все эти числа он пропускает через обычный алгоритм хэширования и получает Головной Хэш (HEAD_HASH). Этот хэш у всех майнеров будет РАЗНЫМ из-за того, что в него включены разные кошельки разных майнеров. И получается, что им нужно стартовать процесс поиска подписи от РАЗНЫХ начальных данных. А значит, они не могут найти один и тот же хэш, каждый из них может найти только такой хэш, который подходит к его кошельку.

Дальше они начинают искать подпись. Поиск первого кандидата на подпись требует (например) 100 000 вычислительных операций, которые идут СТРОГО друг за другом. На каждом новом этапе новое найденное число в преобразовании становится СТАРТОВЫМ для последующих преобразований. Соответственно распараллелить вычисления на много ядер CPU или GPU НЕЛЬЗЯ!
После того, как майнер выполнит все эти 100 000 операций, он найдет первого кандидата на подпись. Но по статистике вероятность того, что этот кандидат подойдет прямо противоположна сложности, которая зависит от мощности сети. Думаю, что Вы должны знать - что такое "сложность" майнинга.
Таким образом ему нужно делать новые вычисления - новый этап. Для этого этапа стартовым значением будет то, которое он получил в качестве выходного на предыдущем. Теперь ему, чтобы получить нового кандидата на подпись нужно выполнить (опять таки - например) 300 000 вычислений.
Сделал. Получил. Проверил. Снова не подходит...
Ищем третьего кандидата. Опять - стартовым значением становится ВТОРОЙ найденный результат. И так повторяется до тех пор, пока не будет найдена удовлетворяющая задаче ПРЕ-ПОДПИСЬ.
Только пре-подпись нашли, дальше мы ее включаем в ЗАГОЛОВОЧНЫЙ блок данных, так называемый Хэдэр блока, и в этих данных уже есть все, что нужно прохэшировать для подписи блока, включая ПРЕ-ПОДПИСЬ. И этот блок данный хэшируем обычным способом. Результат хэширования - это и есть требуемая подпись для блока.
Все.

То есть, если сравнивать с обычным Хэшированием, которое выступает в качестве POW-алгоритма в сегодняшних криптовалютах, то разница в том, что майнер может ОДНОВРЕМЕННО выполнять хэширование от разных NONCE!
Например, на одном ядре у меня вычисляется хэш от nonce = 0
На втором от nonce = 1
На третьем от nonce = 2
На четвертом от nonce = 3
и т.д.
Это позволяет распараллелить вычисления по многим ядрам GPU или ASIC.

В моем же алгоритме ВООБЩЕ НЕТ nonce. Там вычисление идет одно за другим. То есть, как если бы я вместо входного nonce использовал выходной хэш от предыдущего рассчета. Понимаете?
Ну, то есть условно... начинаем считать первый хэш от nonce_0 = 0. Получаем hash_0 = 484857. Этот хэш я использую вместо nonce_1 при хэшировании номер 2. Получаю hash_1 = 9578090. Этот хэш я использую вместо nonce_2 в хэшировании номер 3 и получаю hash_2. hash_2 использую вместо nonce_3 и т.д.
То есть - пока не будет найден предыдущий хэш, новый вычислить я не могу. А это значит, что задачу выполнить можно ТОЛЬКО ПОСЛЕДОВАТЕЛЬНО. И никакие ядра на GPU или ASIC-ах здесь не помогут.

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
olkah
Hero Member
*****
Offline Offline

Activity: 1484
Merit: 505



View Profile
December 09, 2019, 07:21:45 AM
 #6

и где сам готовый майнер для добычи монет, или хотя бы его исходник HuhHuh
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 07:24:30 AM
 #7

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

Ну да речь не об этом. А вот об этом:

Каждый майнер берет Хэш предыдущего блока и его номер, добавляет к нему адрес своего кошелька, на который в первой транзакции будет генерироваться вознаграждение за найденный блок. Все эти числа он пропускает через обычный алгоритм хэширования и получает Головной Хэш (HEAD_HASH). Этот хэш у всех майнеров будет РАЗНЫМ из-за того, что в него включены разные кошельки разных майнеров. И получается, что им нужно стартовать процесс поиска подписи от РАЗНЫХ начальных данных. А значит, они не могут найти один и тот же хэш, каждый из них может найти только такой хэш, который подходит к его кошельку.

Что мешает одному майнеру сгенерировать 100500 кошельков и начать майнить в 100500 потоков на своем асике?


OpenTrade - Open Source Cryptocurrency Exchange
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 07:42:35 AM
 #8

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

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

Что мешает одному майнеру сгенерировать 100500 кошельков и начать майнить в 100500 потоков на своем асике?
Ничто. Но только Вы на этом ничего не заработаете, потому что ASIC под этот алгоритм Вы создать не сможете даже за 100 тыщ миллионов. Потому что это - НЕВОЗМОЖНО. Код-самоизменяемый, а ASIC-и работают ТОЛЬКО со статическим кодом. Точка.

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
gold969
Sr. Member
****
Offline Offline

Activity: 1330
Merit: 251


View Profile
December 09, 2019, 07:48:54 AM
 #9



    как я понимаю у вас есть только сама идея, но нет ни готового майнера, ни кошелька?
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 07:53:50 AM
 #10

Что мешает одному майнеру сгенерировать 100500 кошельков и начать майнить в 100500 потоков на своем асике?
Ничто. Но только Вы на этом ничего не заработаете, потому что ASIC под этот алгоритм Вы создать не сможете даже за 100 тыщ миллионов. Потому что это - НЕВОЗМОЖНО. Код-самоизменяемый, а ASIC-и работают ТОЛЬКО со статическим кодом. Точка.

Допустим, что асики для Неуловимого Джо никто создавать не будет. Но на GPU - то кто помешает многопоточно майнить?

OpenTrade - Open Source Cryptocurrency Exchange
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 08:14:34 AM
 #11

   как я понимаю у вас есть только сама идея, но нет ни готового майнера, ни кошелька?
У меня есть рабочий код, написанный на C++. Чтобы получить "майнер" или "кошелек" нужно создать НОВУЮ КРИПТОВАЛЮТУ! А это кусок работы, если Вы понимаете...

Допустим, что асики для Неуловимого Джо никто создавать не будет. Но на GPU - то кто помешает многопоточно майнить?
НЕВОЗМОЖНОСТЬ МНОГОПОТОЧНОСТИ!!!!
Алгоритм последовательный, его нельзя выполнить многопоточно...

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

Давайте заменим ХЭШирование СУММированием. Представим, что нам нужно найти сумму = 10. Это будет наш "красивый" хэш, где в конце 1 нолик.

Параллельный вариант:
Берем в качестве стартового числа 0. Прибавляем к нему 1 = 1. 1 = 10? Нет. Значит пробуем другой вариант.
К 0 прибавляем 2. Равно 2. 2 = 10? Нет. Значит - идем дальше.
0 + 3 = 3.    3 =/= 10...
0 + 4 = 4.    4 =/= 10...
...
0 + 9 = 9.    9 =/= 10...
0 + 10 = 10.   10 == 10. БИНГО!!! Мы нашли наш "красивый хэш".

Как нам ускорить вычисления в этом случае? Очень просто - делать их ОДНОВРЕМЕННО на параллельных ядрах. Тогда получится так:
0 + 1 = 1. 1 =/= 10      0 + 2 = 2. 2 =/= 10    ...    0 + 9 = 9. 9 =/= 10     0 + 10 = 10. 10 == 10.
БИНГО - мы получили наш результат за 1 раунд вычислений.

Теперь рассмотрим последовательный подход:
0 + 1 = 1.    1 =/= 10...
1 + 2 = 3.    3 =/= 10...
3 + 3 = 6.    6 =/= 10...
6 + 4 = 10.   10 == 10!!! НАШЛИ!

А теперь скажите мне - как распараллелить эти вычисления, если для каждого нового раунда нужно знать результат предыдущего?
Например раунд номер 3.
Допустим, что вы знаете, что на 3-ем раунде Вы будете прибавлять 3. Но к чему Вы будете ее прибавлять? К 5? К 7? Как Вы можете узнать - какое будет использоваться стартовое число, если Вы его еще не получили... если Вы не знаете результатов предыдущих расчетов? Huh

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

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 08:31:09 AM
 #12

Чем 10 майнеров с одним одноядерным процессором отличаются от 10 ядер на процессоре у одного майнера. Расскажите пожалуйста!

OpenTrade - Open Source Cryptocurrency Exchange
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 09:06:59 AM
 #13

Чем 10 майнеров с одним одноядерным процессором отличаются от 10 ядер на процессоре у одного майнера. Расскажите пожалуйста!
Не вопрос...
Каждый майнер привязан к Адресу кошелька. Каждый кошелек привязан к IP. Следовательно на 10 одноядерных майнерах, которые установлены на 10 разных IP, Вы будете получать 10 шансов получить вознаграждение. Если же у Вас будет 1 процессор с 10 ядрами, который привязан к одному IP, то Ваши шансы получить вознаграждение будут = 1, потому что из всех 10 ядер Вы сможете задействовать ТОЛЬКО 1.

Однако прежде, чем покупать 10 компьютеров и подключать их к 10 разным IP адресам, Вам нужно учесть еще один момент...
Один компьютер есть уже у каждого. Он есть сам по себе, его не нужно окупать, а значит стоимость Крипты, которая будет выпущена на этом компьютере будет зависеть ТОЛЬКО от затраченной электроэнергии.
А вот если Вы купите 10 компьютеров и подключите их к 10 разным соединениям интернета, то, чтобы окупить эти затраты Вам придется выставлять намайненную Вами крипту на продажу по более дорогой цене. Как Вы думаете - ее купят, если на рынке будет полно более дешевой крипты?
В общем, в этой ситуации у Вас будет только один выход, если Вы захотите на этом сильно заработать - скупать дешевые б/у-шные компы за копейки и подключать их через дешевые интернет-сервисы. Однако в этом случае исключается ситуация, когда другие участники сети НЕ СМОГУТ заниматься майнингом только потому, что Ваше оборудование превосходит по производительности их компьютеры в сотни тысяч раз, как это происходит сейчас с ASIC-ами.
То есть, даже если Вы купите много компов, я со своим одним компом все-равно смогу майнить крипту. А сейчас, без майнеров на ASIC или GPU мне с моим обычным компьютером в майнинге делать нечего...
Понимаете?

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 09:13:43 AM
 #14


Однако прежде, чем покупать 10 компьютеров и подключать их к 10 разным IP адресам, Вам нужно учесть еще один момент...


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

OpenTrade - Open Source Cryptocurrency Exchange
magonrus
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
December 09, 2019, 09:28:50 AM
 #15

Есть такая монета - ZettelKasten - https://bitcointalk.org/index.php?topic=3207356.0
Майнится только кошельком; автор имплементировал автоматическую функцию изменения алгоритма
Защищена не только от GPU-майнинга, но и от майнинга на пулах
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 09:38:48 AM
 #16


Однако прежде, чем покупать 10 компьютеров и подключать их к 10 разным IP адресам, Вам нужно учесть еще один момент...


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

Вознаграждение будет привязано исключительно к тому АДРЕСУ кошелька, который найдет требуемый хэш. Поэтому, чтобы "делить награду пропорционально", Вам нужно будет гарантировать, что каждый из Ваших друзей будет вести себя честно. То есть - когда он найдет нужный блок, он не положит его в свой карман, а будет делить его между всеми участниками пула.
Технически это можно реализовать, но единственное, чего вы этим добьетесь - это более равномерного получения вознаграждения.
То есть, скажем обычный майнер будет получать 1 вознаграждение в месяц в размере 30 коинов, а Вы со своими друзьями будете получать по 1 коину каждый день.

Конечно же, в конечном итоге для улучшения стабильности получения вознаграждений в конечном итоге так и придется делать. НО! Это не отнимет возможность добывать коины у других. Понимаете в чем суть дела? То есть - сколько бы Вы с друзьями в пулы не объединялись, Вы НЕ ПОДНИМИТЕ свою общую производительность больше, чем она есть у каждого отдельного майнера.

Есть такая монета - ZettelKasten - https://bitcointalk.org/index.php?topic=3207356.0
Майнится только кошельком; автор имплементировал автоматическую функцию изменения алгоритма
Защищена не только от GPU-майнинга, но и от майнинга на пулах
Щас посмотрим...

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
magonrus
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
December 09, 2019, 09:57:52 AM
 #17

Проблема при CPU-майнинге на пулах - Ботнеты
Хакер заражает несколько тысяч компов, и все они по команде начинают майнить в его кошелек
flamehowk (OP)
Member
**
Offline Offline

Activity: 264
Merit: 13


View Profile WWW
December 09, 2019, 10:02:16 AM
 #18

Есть такая монета - ZettelKasten - https://bitcointalk.org/index.php?topic=3207356.0
Майнится только кошельком; автор имплементировал автоматическую функцию изменения алгоритма
Защищена не только от GPU-майнинга, но и от майнинга на пулах
Ок. Посмотрел.
Автор честно указывает, что это не решение, которое сможет защитить POW от всех специализированных устройств, а только способ "держать их подальше". То есть, алгоритм, который усложняет применение этих устройств, НО не исключает возможность их применения.

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

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

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

Проблема при CPU-майнинге на пулах - Ботнеты
Хакер заражает несколько тысяч компов, и все они по команде начинают майнить в его кошелек
Этот вопрос применительно к другим криптовалютам я уже рассматривал.
Однако применительно к моему алгоритму - это не актуально. Я буду привязывать каждый кошелек к IP с которым идет обмен данными между майнером и сетью, поэтому Хаккеру придется не только заразить комп жертвы, но и перехватить управление ее кошельком. Не сказать, что это сделать невозможно, но эту возможность легко перекрыть с помощью аппаратных ключей доступа к кошельку. Так что грамотные люди всегда смогут защититься от бот-нет-паразитов.

The VenusMINE project is an open source and open hardware project to develops the most fast architecture of the ASIC for Bitcoin miners in the world!
kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 09, 2019, 10:02:32 AM
 #19

Мой пул будет искать блоки так быстро, что сложность сети возрастет и соломайнеры будут находить блок раз в тыщу лет... Ну пусть ищут ))

OpenTrade - Open Source Cryptocurrency Exchange
magonrus
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
December 09, 2019, 10:07:41 AM
 #20

Мой пул будет искать блоки так быстро, что сложность сети возрастет и соломайнеры будут находить блок раз в тыщу лет... Ну пусть ищут ))
Если все монеты будут находиться в одних руках - окажется, что они ничего не стОят Smiley
Но если любой сможет создать пул - то получится, что все будут майнить только на пулах, как это и обстоит сейчас с основными криптовалютами
Pages: [1] 2 3 4 5 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!