Bitcoin Forum
May 08, 2024, 01:24:54 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Алгоритм с защитой от GPU-майнинга (TeraHash)  (Read 960 times)
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 12, 2018, 02:18:37 PM
 #21

-Костыльно
-Предыдущий хеш не связан с текущим и поэтому не связан с coinbase транзакцией майнера

Слышал бы тебя бог Smiley Все в этом мире костыльно

Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
1715174694
Hero Member
*
Offline Offline

Posts: 1715174694

View Profile Personal Message (Offline)

Ignore
1715174694
Reply with quote  #2

1715174694
Report to moderator
Make sure you back up your wallet regularly! Unlike a bank account, nobody can help you if you lose access to your BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715174694
Hero Member
*
Offline Offline

Posts: 1715174694

View Profile Personal Message (Offline)

Ignore
1715174694
Reply with quote  #2

1715174694
Report to moderator
1715174694
Hero Member
*
Offline Offline

Posts: 1715174694

View Profile Personal Message (Offline)

Ignore
1715174694
Reply with quote  #2

1715174694
Report to moderator
1715174694
Hero Member
*
Offline Offline

Posts: 1715174694

View Profile Personal Message (Offline)

Ignore
1715174694
Reply with quote  #2

1715174694
Report to moderator
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
September 12, 2018, 02:55:01 PM
 #22

-Костыльно
-Предыдущий хеш не связан с текущим и поэтому не связан с coinbase транзакцией майнера

Слышал бы тебя бог Smiley Все в этом мире костыльно

Слышал бы, если был, а его нет. Grin

chimk
Hero Member
*****
Offline Offline

Activity: 784
Merit: 814


View Profile
September 20, 2018, 10:17:35 PM
 #23

Атака
Quote
Какую бы функцию ты не применил, атакующему ничего не помешает 1 раз заполнить память своего GPU хешами, а после намного быстрее чем на CPU искать подходящее значение в этом "небольшом" массиве банально меняя хеш блока левыми транзакциями. Терабайты памяти не нужны, можно обойтись даже мегабайтами.

Анализ
Что имеем:
В качестве базы используется хеш блока, а итерация выполняется по nonce в классическом случае и по HashNonce в предлагаемом алгоритме. Т.е. по формулу Hash=h(Hблока,Nonce)
В алгоритме узкое место - это возможность майнера изменить базу, т.е. хеш-блока и начать заново итерации, т.е. в итоге  обойтись меньшим количеством памяти.

Пути преодоления:
Раз так, то нужно ввести в алгоритм сложности на смену базы. А что если используемый хеш nonce должен обладать определенными дополнительными условиями, например при применении его в формулу предыдущего хеша блока он тоже должен давать красивый хеш. Предыдущий хеш блока майнер поменять не может он уже зафиксирован другими участниками сети. Т.е. получается, что нужно действительно осуществить большой перебор HashNonce, чтобы найти подходящее значение.

В общем виде формула будет такова:
Hash = Mesh(Hблока,HNonce)
Hash2 = Mesh(Hблока-1,HNonce)
Power=min(Power(Hash),Power(Hash2))

где:
Power() - это число первых нулевых бит
Mesh() - простая функция перемешивания, в данном случае подойдет простой XOR

Кстати с применением нового расчета Power как min значение числа нулевых битов двух хешей, получается что:
Майнеры будут оптимизировать поиск, так чтобы Power двух значений совпадал
Число переборов вырастает квадратически, например если раньше 1 млн переборов давал 20 бит, то теперь будет давать 10 (все также нужно найти 20 бит, но по 10 в каждом хеше)

P.S.
fxpc - награда 100К Тера за найденный вариант атаки



я конечно извинюсь, но если это подойдет под п. 15 правил, это чревато баном. прочитайте правила, может конечно я ошибаюсь. пункт непростой для понимания.
начиная отсюда -
https://bitcointalk.org/index.php?topic=994018.msg45092615#msg45092615
и до конца.

Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 21, 2018, 01:04:06 PM
 #24

Атака
Quote
Какую бы функцию ты не применил, атакующему ничего не помешает 1 раз заполнить память своего GPU хешами, а после намного быстрее чем на CPU искать подходящее значение в этом "небольшом" массиве банально меняя хеш блока левыми транзакциями. Терабайты памяти не нужны, можно обойтись даже мегабайтами.

Анализ
Что имеем:
В качестве базы используется хеш блока, а итерация выполняется по nonce в классическом случае и по HashNonce в предлагаемом алгоритме. Т.е. по формулу Hash=h(Hблока,Nonce)
В алгоритме узкое место - это возможность майнера изменить базу, т.е. хеш-блока и начать заново итерации, т.е. в итоге  обойтись меньшим количеством памяти.

Пути преодоления:
Раз так, то нужно ввести в алгоритм сложности на смену базы. А что если используемый хеш nonce должен обладать определенными дополнительными условиями, например при применении его в формулу предыдущего хеша блока он тоже должен давать красивый хеш. Предыдущий хеш блока майнер поменять не может он уже зафиксирован другими участниками сети. Т.е. получается, что нужно действительно осуществить большой перебор HashNonce, чтобы найти подходящее значение.

В общем виде формула будет такова:
Hash = Mesh(Hблока,HNonce)
Hash2 = Mesh(Hблока-1,HNonce)
Power=min(Power(Hash),Power(Hash2))

где:
Power() - это число первых нулевых бит
Mesh() - простая функция перемешивания, в данном случае подойдет простой XOR

Кстати с применением нового расчета Power как min значение числа нулевых битов двух хешей, получается что:
Майнеры будут оптимизировать поиск, так чтобы Power двух значений совпадал
Число переборов вырастает квадратически, например если раньше 1 млн переборов давал 20 бит, то теперь будет давать 10 (все также нужно найти 20 бит, но по 10 в каждом хеше)

P.S.
fxpc - награда 100К Тера за найденный вариант атаки



я конечно извинюсь, но если это подойдет под п. 15 правил, это чревато баном. прочитайте правила, может конечно я ошибаюсь. пункт непростой для понимания.
начиная отсюда -
https://bitcointalk.org/index.php?topic=994018.msg45092615#msg45092615
и до конца.


Это было бы грустно, так как мы двигаем технологию блокчейн вперед, а не то что вы думаете (или то что написано в п.15)


Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
chimk
Hero Member
*****
Offline Offline

Activity: 784
Merit: 814


View Profile
September 21, 2018, 03:20:05 PM
 #25

я конечно извинюсь, но если это подойдет под п. 15 правил, это чревато баном. прочитайте правила, может конечно я ошибаюсь. пункт непростой для понимания.
начиная отсюда -
https://bitcointalk.org/index.php?topic=994018.msg45092615#msg45092615
и до конца.

Не надо притягивать правила за уши. Этот пункт действует с 2014 года. Сколько с тех пор баунти и раздач было на форуме, кого забанили? В данном топике и вовсе никаких раздач нет. Скорее всего этот пункт введён для борьбы с топиками предлагающими отметится и получить награду, причина борьбы вполне очевидна - такие раздачи захламляют форум и позволяли набивать активность.
странно что люди рассуждая о программных кодах, не способны переварить один абзац текста. я ничего не утверждал и следовательно не притягивал. потому что сам не до конца уверен, а лишь предупредил. тера это альткоин или нет?судя по этой теме https://bitcointalk.org/index.php?topic=4573801.msg45381046#msg45381046 да. хотя я может ошибаюсь.

п.п. 15
Quote
15. Не устраивать и не участвовать в раздачах альтернативных криптовалют на форуме.


Most giveaway threads are no longer allowed in the Alternate cryptocurrencies sections. From now on, posting or replying to such threads could result in being banned. Existing threads will be locked.

Specifically, you are not allowed to give people any incentive to post insubstantial posts in your threads. You can't offer to pay people who post their addresses, usernames, etc. You can do giveaways off-site and link to the giveaway page in a thread, but you can't give people any bonus for replying to your thread.

Similar threads are already restricted to Games and Rounds in the non-altcoin sections, but the giveaway-related post volume is so high in the altcoin sections that I've decided to just ban them entirely here.

------------------------------------------------------------------------------------------

вот здесь три больших поста разбора этого правила
https://bitcointalk.org/index.php?topic=994018.msg45583710#msg45583710

fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
September 22, 2018, 08:24:40 AM
 #26

Это то о чём я выше написал - борьба со спамом. Давай удалим оффтоп.

Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 22, 2018, 09:05:23 AM
 #27

Неделю назад мы зарелизились в Тере со следующей формулой:


Code:
Hash = XOR(DataHash, HNonce1)
Hash2 = XOR(PrevHash,HNonce2)
Power=min(Power(Hash),Power(Hash2))

Функция на JS:

Code:
function GetHash(PrevHash,BlockHash,Miner,BlockNum, Nonce0,Nonce1,Nonce2,DeltaNum1,DeltaNum2)
{
    if(DeltaNum1>DELTA_LONG_MINING || DeltaNum2>DELTA_LONG_MINING)
        return undefined;

    //calculate the hashes, which will look similar HashNonce
    var HashBase=sha3(PrevHash);
    var HashCurrent=GetHashFromNum2(BlockHash,Miner,Nonce0);

    //Hash-Nonce
    var HashNonce1=GetHashFromNum3(BlockNum-DeltaNum1,Miner,Nonce1);
    var HashNonce2=GetHashFromNum3(BlockNum-DeltaNum2,Miner,Nonce2);

    //XOR
    var Hash1=XORArr(HashBase,HashNonce1);
    var Hash2=XORArr(HashCurrent,HashNonce2);

    //choose the least POW
    var Ret={Hash:Hash2};
    if(CompareArr(Ret.Hash1,Ret.Hash2)>0)
    {
        Ret.PowHash=Hash1;
    }
    else
    {
        Ret.PowHash=Hash2;
    }

    return Ret;
}


После оптимизации с памятью хешрейт слабого ноутбука с 4Гб оперативки стал примерно 60Mh/s (до этого был 200Kh/s)



Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
Coin-1
Legendary
*
Offline Offline

Activity: 2450
Merit: 2189



View Profile
September 27, 2018, 03:05:21 AM
Last edit: September 27, 2018, 03:29:07 AM by Coin-1
 #28

После оптимизации с памятью хешрейт слабого ноутбука с 4Гб оперативки стал примерно 60Mh/s (до этого был 200Kh/s)

Это значительная оптимизация. Наверно, раньше код был написан некорректно.


Вариации алгоритма улучшающие защиту от изменения базы и тем самым улучшающие вероятность полного перебора:
-Ввести более двух хешей (ухудшается вероятность поиска в одном интервале для GPU-майнера)

Я так понимаю, что для снижения вероятности нахождения в одном интервале можно использовать одновременно не два, а три и более хешей. Каково оптимальное значение количества используемых хешей для получения значительной форы CPU перед GPU?
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 27, 2018, 04:52:18 PM
 #29

После оптимизации с памятью хешрейт слабого ноутбука с 4Гб оперативки стал примерно 60Mh/s (до этого был 200Kh/s)

Это значительная оптимизация. Наверно, раньше код был написан некорректно.

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

Quote
Вариации алгоритма улучшающие защиту от изменения базы и тем самым улучшающие вероятность полного перебора:
-Ввести более двух хешей (ухудшается вероятность поиска в одном интервале для GPU-майнера)

Я так понимаю, что для снижения вероятности нахождения в одном интервале можно использовать одновременно не два, а три и более хешей. Каково оптимальное значение количества используемых хешей для получения значительной форы CPU перед GPU?

Мы применили вариант 2:
Quote
-Использовать предыдущий хеш (его не изменить он уже в блокчейне)



Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
DevilOper
Member
**
Offline Offline

Activity: 280
Merit: 26


View Profile
October 01, 2018, 01:57:08 PM
 #30

Как я уже не раз говорил, самая надёжная защита от gpu-asic-шмасик и пр. хэшрейт-гонки "майнинга" - сделать все эти анаболические вычисления нах. не нужными.
А награду за блок раздавать случайным образом.
Правда, это сразу делает МММ-скую сущность "шиткоинства" слишком очевидной.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
October 01, 2018, 03:41:25 PM
 #31

Как я уже не раз говорил, самая надёжная защита от gpu-asic-шмасик и пр. хэшрейт-гонки "майнинга" - сделать все эти анаболические вычисления нах. не нужными.
А награду за блок раздавать случайным образом.
Правда, это сразу делает МММ-скую сущность "шиткоинства" слишком очевидной.

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

DevilOper
Member
**
Offline Offline

Activity: 280
Merit: 26


View Profile
October 02, 2018, 11:21:44 AM
 #32

Случайным образом это лотерея.
Дык, а "поиск красивого хэша целевой сложности" это что?
Одна лишь разница: "больше хэшрейта" == "больше лотерейных билетиков купил".
Quote
Лудоманы зафлудят всю сеть, если выигрыш больше нуля. Как защищаться без централизации?
Есть конечно чисто технические сложности: типа, пускать в интернет по паспорту как ограничить участнега лотереи одним "билетиком". Но я думаю, при достаточном упорстве можно решить эту проблему и без централизации.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
October 03, 2018, 12:15:53 PM
 #33

Случайным образом это лотерея.
Дык, а "поиск красивого хэша целевой сложности" это что?
Одна лишь разница: "больше хэшрейта" == "больше лотерейных билетиков купил".
Quote
Лудоманы зафлудят всю сеть, если выигрыш больше нуля. Как защищаться без централизации?
Есть конечно чисто технические сложности: типа, пускать в интернет по паспорту как ограничить участнега лотереи одним "билетиком". Но я думаю, при достаточном упорстве можно решить эту проблему и без централизации.

Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае. Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?

DevilOper
Member
**
Offline Offline

Activity: 280
Merit: 26


View Profile
October 03, 2018, 04:32:22 PM
 #34

Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае.
Онанизм - не важен, а результат при условии достаточного кол-ва отдельных (т.е., не объединённых каким-либо образом в пул) участнегов - та же лотерея.
Quote
Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?
Не ну зачем сложности-то. Обычный внешний ip-шниг сильно ограничивает возможность "плодить эккаунты". Но гораздо лучше ввести фиксированную "ставку" - всё как во взрослой лотерее. Хочешь бОльший шанс выиграть - плати бОльше денег в фонд выигрыша. Ну, и размер выигрыша в таком случае будет обратно пропорционален шансу, конечно.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
October 04, 2018, 10:26:00 AM
 #35

Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае.
Онанизм - не важен, а результат при условии достаточного кол-ва отдельных (т.е., не объединённых каким-либо образом в пул) участнегов - та же лотерея.
Quote
Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?
Не ну зачем сложности-то. Обычный внешний ip-шниг сильно ограничивает возможность "плодить эккаунты". Но гораздо лучше ввести фиксированную "ставку" - всё как во взрослой лотерее. Хочешь бОльший шанс выиграть - плати бОльше денег в фонд выигрыша. Ну, и размер выигрыша в таком случае будет обратно пропорционален шансу, конечно.

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

У 15% пользователей сети внешний ip колхозный. Шлём их нахуй? Пачка внешних ip не является проблемой для админа ботнета. Фиксированная ставка и размер выигрыша в зависимости от ставки это снова PoS. Задача не о том кому дозволено играть, а про условного слона, которого без централизованного оракула нужно разыграть среди нищебродов.

DevilOper
Member
**
Offline Offline

Activity: 280
Merit: 26


View Profile
October 09, 2018, 11:34:25 AM
 #36

С пулом тоже лотерея
Ну а я, собственно, про что.
Quote
У 15% пользователей сети внешний ip колхозный. Шлём их нахуй?
А в чём проблема-то? Асики вон тоже не всем желающим за просто так нахаляву раздают. А "белый" IP-шник всяко дешевле асика.
Quote
Фиксированная ставка и размер выигрыша в зависимости от ставки это снова PoS.
Да это уже просто натягивание buzzword-ов куда ни поподя. Вроде той поломойки, которая "клининг-менеджер".
Quote
Задача не о том кому дозволено играть, а про условного слона, которого без централизованного оракула нужно разыграть среди нищебродов.
Слон на то и условный, что появляется из ниоткуда. А разыграть вообще не проблема. Ну, если принять, например, что хэш-функция даёт (достаточно) случайный результат - считаем, например, хэш от предыдущего блока транзакций участнегов спецолимпиады лотереи, (вместе со всеми подписями).
Coin-1
Legendary
*
Offline Offline

Activity: 2450
Merit: 2189



View Profile
March 14, 2019, 03:59:52 AM
 #37

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

Похоже, что Ваша монета уже торгуется на бирже QBTC за USDT, но на CoinMarketCap её ещё нет. Скорее всего, эта биржа пока недостаточно ликвидна для листинга на ресурсе и, соответственно, не отправляет данные о котировках монет и объёме торгов.
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
March 14, 2019, 05:01:34 PM
 #38

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

Похоже, что Ваша монета уже торгуется на бирже QBTC за USDT, но на CoinMarketCap её ещё нет. Скорее всего, эта биржа пока недостаточно ликвидна для листинга на ресурсе и, соответственно, не отправляет данные о котировках монет и объёме торгов.

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


Извиняюсь что я про свое - техническое, я программист и мне интересны технологии...

P.S.
Для CoinMarketCap нам нужна еще одна биржа зарегистрированная там же (сейчас есть только одна биржа - CHAOEX).

Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
TrustAn
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
February 12, 2020, 08:26:06 AM
 #39

У меня одного вечная паранойя, по-поводу gpu-майнера ?
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
February 27, 2020, 11:06:06 AM
 #40

У меня одного вечная паранойя, по-поводу gpu-майнера ?

В чем она выражается?

Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
Pages: « 1 [2] 3 »  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!