Pages:
Author

Topic: Алгоритм с защитой от GPU-майнинга (TeraHash) (Read 954 times)

full member
Activity: 411
Merit: 135
Награду получил. Поделишься подробностями про алгоритм миллиона TPS?

Ну там не миллион, верхняя граница производительности открыта.

По моему мнению блокчейн   должен основываться на следующих принципах:
1. Жестко синхронное время формирование блоков (новый блок начинается в строго заданное время, в классических pow блокчейнах это не так - там время плавающее, пока не найдется блок с заданной сложностью).
2. Алгоритм расчета хэша должен уметь быстро "подписывать" блок (быстро находить требуемый хэш из ранее накаченной памяти). Именно такой алгоритм (TERAHASH) описывается в этой ветке.
3. Быстрый и безопасный сетевой протокол доставки данных (транзакции и блок-лидер). Как вариант такого протокола - это jinn (https://terafoundation.org/files/JINN_RUS.pdf) Он обеспечивает примерно 1000 tps
4. Шардинг. Так как здесь тонкий момент - это не потерять надежность, подробные размышления на эту тему я описал вот здесь: https://terafoundation.org/files/TeraSharding-3-RUS.pdf
Quote
Центральный блокчейн наизнанку
Такое название происходит из того, что логика передачи кросс-транзакций похожа на схему с центральным блокчейном, но с отличиями:
  • допустимо несколько таких “центральных” блокчейнов
  • в нем нет собственных счетов для хранения монет или состояний
  • это чистый лог/журнал кросс-шардинговых транзакций
Сеть представляет собой неограниченный набор блокчейнов. Каждая нода поддерживает два чейна:
  • Shard-chain  - основная цепочка с собственными внутренними транзакциями (т.е. это обычный блокчейн шарда)
  • Middle-chain (платежный канал) - промежуточный блокчейн состоящий из кросс-транзакций. Он предназначен для связи шардов с друг другом. Количество нод/майнеров равно сумме нод блокчейна A и блокчейна B

Под термином шардинга у меня понимается независмый блокчейн (в том числе с другими разработчиками), но с наличием надсети в виде единого протокола обмена кросс-блокчейновыми транзакциями.


Пункт 4 я только начал реализовывать, поэтому это все пока теория, как на самом деле будет - покажет время...

sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Атака
Quote
Какую бы функцию ты не применил, атакующему ничего не помешает 1 раз заполнить память своего GPU хешами, а после намного быстрее чем на CPU искать подходящее значение в этом "небольшом" массиве банально меняя хеш блока левыми транзакциями. Терабайты памяти не нужны, можно обойтись даже мегабайтами.

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

Награду получил. Поделишься подробностями про алгоритм миллиона TPS?
legendary
Activity: 2422
Merit: 2166
Похоже, что Ваша монета уже торгуется на бирже QBTC за USDT, но на CoinMarketCap её ещё нет. Скорее всего, эта биржа пока недостаточно ликвидна для листинга на ресурсе и, соответственно, не отправляет данные о котировках монет и объёме торгов.

 Wink проект развивается. Посмотри на новшества

Да, вижу прогресс и движение вперёд. В новостях пишут, что несколько дней назад с 63510000 блока введена новая спецификация алгоритма с протоколом JINN Core.

Судя по CoinMarketCap, TERA уже торгуется на многих криптовалютных биржах, в том числе на более-менее известных MXC и Hotbit. Хотя цена монеты с июля 2019 года по март 2020 года постоянно медленно падала с $0.023 до $0.002, в последний месяц, вероятно, в связи с апгрейдом консенсуса блокчейна, на торговых рынках наблюдается небольшой рост до $0.003.

В целом, на мой взгляд, VTools - толковый разработчик на NodeJS и знающий предприниматель. Желаю успехов и возвращения цены монеты TERA к бывшим хаям! Cool
newbie
Activity: 37
Merit: 0
Вижу, что Ваш проект развивается. Заодно и мериты Вам прилетели тремя большими транзакциями. Наверно, многие пользователи вдохновились Вашим проектом. Cool

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

 Wink проект развивается. Посмотри на новшества
full member
Activity: 411
Merit: 135
У меня одного вечная паранойя, по-поводу gpu-майнера ?

В чем она выражается?
newbie
Activity: 7
Merit: 0
У меня одного вечная паранойя, по-поводу gpu-майнера ?
full member
Activity: 411
Merit: 135
Вижу, что Ваш проект развивается. Заодно и мериты Вам прилетели тремя большими транзакциями. Наверно, многие пользователи вдохновились Вашим проектом. Cool

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

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


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

P.S.
Для CoinMarketCap нам нужна еще одна биржа зарегистрированная там же (сейчас есть только одна биржа - CHAOEX).
legendary
Activity: 2422
Merit: 2166
Вижу, что Ваш проект развивается. Заодно и мериты Вам прилетели тремя большими транзакциями. Наверно, многие пользователи вдохновились Вашим проектом. Cool

Похоже, что Ваша монета уже торгуется на бирже QBTC за USDT, но на CoinMarketCap её ещё нет. Скорее всего, эта биржа пока недостаточно ликвидна для листинга на ресурсе и, соответственно, не отправляет данные о котировках монет и объёме торгов.
member
Activity: 280
Merit: 26
С пулом тоже лотерея
Ну а я, собственно, про что.
Quote
У 15% пользователей сети внешний ip колхозный. Шлём их нахуй?
А в чём проблема-то? Асики вон тоже не всем желающим за просто так нахаляву раздают. А "белый" IP-шник всяко дешевле асика.
Quote
Фиксированная ставка и размер выигрыша в зависимости от ставки это снова PoS.
Да это уже просто натягивание buzzword-ов куда ни поподя. Вроде той поломойки, которая "клининг-менеджер".
Quote
Задача не о том кому дозволено играть, а про условного слона, которого без централизованного оракула нужно разыграть среди нищебродов.
Слон на то и условный, что появляется из ниоткуда. А разыграть вообще не проблема. Ну, если принять, например, что хэш-функция даёт (достаточно) случайный результат - считаем, например, хэш от предыдущего блока транзакций участнегов спецолимпиады лотереи, (вместе со всеми подписями).
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае.
Онанизм - не важен, а результат при условии достаточного кол-ва отдельных (т.е., не объединённых каким-либо образом в пул) участнегов - та же лотерея.
Quote
Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?
Не ну зачем сложности-то. Обычный внешний ip-шниг сильно ограничивает возможность "плодить эккаунты". Но гораздо лучше ввести фиксированную "ставку" - всё как во взрослой лотерее. Хочешь бОльший шанс выиграть - плати бОльше денег в фонд выигрыша. Ну, и размер выигрыша в таком случае будет обратно пропорционален шансу, конечно.

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

У 15% пользователей сети внешний ip колхозный. Шлём их нахуй? Пачка внешних ip не является проблемой для админа ботнета. Фиксированная ставка и размер выигрыша в зависимости от ставки это снова PoS. Задача не о том кому дозволено играть, а про условного слона, которого без централизованного оракула нужно разыграть среди нищебродов.
member
Activity: 280
Merit: 26
Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае.
Онанизм - не важен, а результат при условии достаточного кол-ва отдельных (т.е., не объединённых каким-либо образом в пул) участнегов - та же лотерея.
Quote
Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?
Не ну зачем сложности-то. Обычный внешний ip-шниг сильно ограничивает возможность "плодить эккаунты". Но гораздо лучше ввести фиксированную "ставку" - всё как во взрослой лотерее. Хочешь бОльший шанс выиграть - плати бОльше денег в фонд выигрыша. Ну, и размер выигрыша в таком случае будет обратно пропорционален шансу, конечно.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Случайным образом это лотерея.
Дык, а "поиск красивого хэша целевой сложности" это что?
Одна лишь разница: "больше хэшрейта" == "больше лотерейных билетиков купил".
Quote
Лудоманы зафлудят всю сеть, если выигрыш больше нуля. Как защищаться без централизации?
Есть конечно чисто технические сложности: типа, пускать в интернет по паспорту как ограничить участнега лотереи одним "билетиком". Но я думаю, при достаточном упорстве можно решить эту проблему и без централизации.

Поиск хэша это внешняя возня, поэтому не столько важно кто и каким онанизмом занят в данном случае. Что ты предлагаешь? Давать награду тем, у кого есть адрес с балансом? Получится PoS. А если размер баланса не важен, то адепты зафлудят всю сеть и консенсуса не будет. В централизованных системах упорство хоть и даёт результат, но отличным его назвать трудно, в децентрализованных и того хуже. Каким образом дистанционно вычислить, что 1000 хомяков на самом деле есть 1, если ему не требуется тратить значительных ресурсов чтобы плодить аккаунты и тп?
member
Activity: 280
Merit: 26
Случайным образом это лотерея.
Дык, а "поиск красивого хэша целевой сложности" это что?
Одна лишь разница: "больше хэшрейта" == "больше лотерейных билетиков купил".
Quote
Лудоманы зафлудят всю сеть, если выигрыш больше нуля. Как защищаться без централизации?
Есть конечно чисто технические сложности: типа, пускать в интернет по паспорту как ограничить участнега лотереи одним "билетиком". Но я думаю, при достаточном упорстве можно решить эту проблему и без централизации.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Как я уже не раз говорил, самая надёжная защита от gpu-asic-шмасик и пр. хэшрейт-гонки "майнинга" - сделать все эти анаболические вычисления нах. не нужными.
А награду за блок раздавать случайным образом.
Правда, это сразу делает МММ-скую сущность "шиткоинства" слишком очевидной.

Случайным образом это лотерея. Лудоманы зафлудят всю сеть, если выигрыш больше нуля. Как защищаться без централизации? В остальном, хешрейт не нужен в PoS, но нищим там не подают. Сущность шиткоинов в данном контексте не столь важна, никто не заставляет раздавать именно их.
member
Activity: 280
Merit: 26
Как я уже не раз говорил, самая надёжная защита от gpu-asic-шмасик и пр. хэшрейт-гонки "майнинга" - сделать все эти анаболические вычисления нах. не нужными.
А награду за блок раздавать случайным образом.
Правда, это сразу делает МММ-скую сущность "шиткоинства" слишком очевидной.
full member
Activity: 411
Merit: 135
После оптимизации с памятью хешрейт слабого ноутбука с 4Гб оперативки стал примерно 60Mh/s (до этого был 200Kh/s)

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

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

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

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

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


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

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


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

Я так понимаю, что для снижения вероятности нахождения в одном интервале можно использовать одновременно не два, а три и более хешей. Каково оптимальное значение количества используемых хешей для получения значительной форы CPU перед GPU?
full member
Activity: 411
Merit: 135
Неделю назад мы зарелизились в Тере со следующей формулой:


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)


sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Это то о чём я выше написал - борьба со спамом. Давай удалим оффтоп.
hero member
Activity: 784
Merit: 814
я конечно извинюсь, но если это подойдет под п. 15 правил, это чревато баном. прочитайте правила, может конечно я ошибаюсь. пункт непростой для понимания.
начиная отсюда -
https://bitcointalksearch.org/topic/m.45092615
и до конца.

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

п.п. 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://bitcointalksearch.org/topic/m.45583710
Pages:
Jump to: