Coin-1
Legendary
Offline
Activity: 2506
Merit: 2232
|
|
January 18, 2018, 05:27:09 AM |
|
Итого: ¼ всех случайных команд приводит к условному переходу примерно ⅓ команд - к случайному наполнению аккумулятора примерно ⅓ команд - к перемешиванию хеша
Можно убрать все арифметические операции (команды 4R-AR), а ввести только сложные тригонометрические функции, как например команда BR, чтобы затруднить работу на GPU
Собственно, тригонометрические функции тоже состоят из элементарных арифметических операций.
|
|
|
|
amaclin1
|
|
January 18, 2018, 06:38:30 AM |
|
Смотрю исходный код SHA256. Есть побитовые сдвиги, условных переходов нет. То есть цикл - это по-вашему не условный переход? Хорошо, допустим. Ладно, пусть даже и в расчете SHA256 нет явного ветвления по условиям. Вы считаете, что условные переходы как-то более сложно реализовать транзисторной логикой чем побитовые операции?
|
|
|
|
Coin-1
Legendary
Offline
Activity: 2506
Merit: 2232
|
|
January 21, 2018, 05:44:16 PM |
|
Вы считаете, что условные переходы как-то более сложно реализовать транзисторной логикой чем побитовые операции?
Скорее всего, асикостойкий алгоритм должен использовать как можно больше типов математических операций. Если речь о 32-битной архитектуре, то следует использовать все возможные инструкции x86: https://en.wikipedia.org/wiki/X86_instruction_listings
|
|
|
|
amaclin1
|
|
January 21, 2018, 06:12:38 PM |
|
Скорее всего, асикостойкий алгоритм должен использовать как можно больше типов математических операций. Вообще-то, все математические операции реализуются через "и", "или" и "не". Если вы придумаете какой-нибудь новый алгоритм хэширования, то специализированное устройство из транзисторов, которое с наибольшей эффективностью реализует этот алгоритм и не содержит ничего лишнего и будет асиком. Неужели это непонятно?
|
|
|
|
yg10
Newbie
Offline
Activity: 88
Merit: 0
|
|
January 23, 2018, 03:41:06 AM |
|
Скорее всего, асикостойкий алгоритм должен использовать как можно больше типов математических операций. Вообще-то, все математические операции реализуются через "и", "или" и "не". Если вы придумаете какой-нибудь новый алгоритм хэширования, то специализированное устройство из транзисторов, которое с наибольшей эффективностью реализует этот алгоритм и не содержит ничего лишнего и будет асиком. Неужели это непонятно? Все логические операции можно реализовать через "не" и одно из "и" или "или" Для арифметических операций этого недостаточно Нужна ещё операция сложения с переносом в следующий разряд.
|
|
|
|
amaclin1
|
|
January 23, 2018, 03:52:36 AM |
|
Все логические операции можно реализовать через "не" и одно из "и" или "или" Для арифметических операций этого недостаточно Нужна ещё операция сложения с переносом в следующий разряд. Окей. Подловили вы на не совсем точной формулировке. Я не могу сказать, что являюсь большим специалистом в проектировании микросхем и конструировании компиляторов. Набор инструкций современных процессоров никогда полностью не знал, а дискретную математику уже подзабыл. Но суть остается прежней: любой алгоритм может быть реализован с использованием элементарной транзисторной логики, так что предлагать "а давайте напихаем в него все инструкции процессора x86" - это по-просту глупо. Если это алгоритм - то можно создать специализированную микросхему которая этот алгоритм щелкает.
|
|
|
|
fulinov
|
|
January 23, 2018, 03:56:53 AM |
|
Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
|
|
|
|
amaclin1
|
|
January 23, 2018, 03:59:57 AM |
|
Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
От кого они защищают? От владельцев большего количества асиков?
|
|
|
|
fulinov
|
|
January 23, 2018, 04:04:53 AM |
|
Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
От кого они защищают? От владельцев большего количества асиков? От атаки по захвату 51% сети. Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает. Например, подписать своим приватным ключем транзакцию с твоего адреса.
|
|
|
|
amaclin1
|
|
January 23, 2018, 04:14:04 AM |
|
От атаки по захвату 51% сети. Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает. Например, подписать своим приватным ключем транзакцию с твоего адреса. Да ладно? Прям-таки подписать моим приватным ключом? Я угораю с таких экспертов.
|
|
|
|
fulinov
|
|
January 23, 2018, 04:16:46 AM |
|
От атаки по захвату 51% сети. Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает. Например, подписать своим приватным ключем транзакцию с твоего адреса. Да ладно? Прям-таки подписать моим приватным ключом? Я угораю с таких экспертов. Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети, то транзакция будет включена в блок. Так понятно?
|
|
|
|
amaclin1
|
|
January 23, 2018, 04:24:20 AM |
|
Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети, то транзакция будет включена в блок. Так понятно? Так понятно. Но учтите - это вы можете сделать и не имея 51% сети. Вы можете на своих 3 нодах изменить код биткойна так, что транзакции с адреса Сатоши Накамото могут быть подписаны как вашим ключом, так и его. После чего подписать своим ключом и наслаждаться цифрой 1 миллион биткойнов на вашем мониторе. Всем остальным нодам сети будет похуй на ваши изменения кода. Они не примут ваши блоки - просто будут ваши ноды (и блоки) игнорировать и/или держать в перманентном бане И это не зависит от того, сколько у вас процентов сети - 1%, 51% или 99%
|
|
|
|
fulinov
|
|
January 23, 2018, 04:26:55 AM |
|
Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети, то транзакция будет включена в блок. Так понятно? Так понятно. Но учтите - это вы можете сделать и не имея 51% сети. Вы можете на своих 3 нодах изменить код биткойна так, что транзакции с адреса Сатоши Накамото могут быть подписаны как вашим ключом, так и его. После чего подписать своим ключом и наслаждаться цифрой 1 миллион биткойнов на вашем мониторе. Всем остальным нодам сети будет похуй на ваши изменения. Они не примут ваши блоки - просто будут ваши ноды (и блоки) игнорировать и/или держать в перманентном бане И это не зависит от того, сколько у вас процентов сети - 1%, 51% или 99% Конечно. Разница только в том, что если у меня будет 51% сети, то это будет записано не только в моем мониторе, но и в блокчейне биткойна.
|
|
|
|
amaclin1
|
|
January 23, 2018, 04:29:17 AM |
|
Конечно. Разница только в том, что если у меня будет 51% сети, то это будет записано не только в моем мониторе, но и в блокчейне биткойна. Не будет. Идите учите матчасть и что такое хард-форк. Для всей остальной сети ваши блоки будут невалидными, просто случайным набором байтиков. Никто про них кроме вас и не узнает (если, конечно, не возьмет и не сделает такие же изменения в своем клиенте)
|
|
|
|
fulinov
|
|
January 23, 2018, 04:43:15 AM |
|
Конечно. Разница только в том, что если у меня будет 51% сети, то это будет записано не только в моем мониторе, но и в блокчейне биткойна. Не будет. Идите учите матчасть и что такое хард-форк. Для всей остальной сети ваши блоки будут невалидными, просто случайным набором байтиков. Никто про них кроме вас и не узнает (если, конечно, не возьмет и не сделает такие же изменения в своем клиенте) Давай я сделаю маленькое уточнение, чтобы до вас дошло. Я ЖЕ НЕ ПРОСТО ПРОВЕДУ ОДНУ НЕВАЛИДНУЮ ТРАНЗАКЦИЮ В СЕТИ И СВАЛЮ, НЕТ! Я, захватитв 51% и одной кривой транзакцией уведу намеченные мной монеты, а затем я буду майнить обычные легитимные транзакции, обычных легитимных пользователей сети и буду включать их в блоки, как обычно. Настолько долго, сколько мне получится удерживать более 51%. И если я продержусь хотябы день, то после моего первого блока с кривыми транзакциями, я запишу еще 150 валидных блоков с обычными транзакциями, обычных, легитимных пользователей сети. В сети Биткойна в день может проходить сотни тысяч транзакций и чтобы удалить из блокчейна один тот кривой блок, то придется удалить и все те блоки, что будут после него. Отменить все транзакции легитимных пользователей в тех блоках, которые были записаны в блокчейн после моего кривого блока.
|
|
|
|
amaclin1
|
|
January 23, 2018, 04:52:26 AM |
|
Давай я сделаю маленькое уточнение, чтобы до вас дошло. Я ЖЕ НЕ ПРОСТО ПРОВЕДУ ОДНУ НЕВАЛИДНУЮ ТРАНЗАКЦИЮ В СЕТИ И СВАЛЮ, НЕТ! Я, захватитв 51% и одной кривой транзакцией уведу намеченные мной монеты, а затем я буду майнить обычные легитимные транзакции, обычных легитимных пользователей сети и буду включать их в блоки, как обычно. Настолько долго, сколько мне получится удерживать более 51%. И если я продержусь хотябы день, то после моего первого блока с кривыми транзакциями, я запишу еще 150 валидных блоков с обычными транзакциями, обычных, легитимных пользователей сети. В сети Биткойна в день может проходить сотни тысяч транзакций и чтобы удалить из блокчейна один тот кривой блок, то придется удалить и все те блоки, что будут после него. Отменить все транзакции легитимных пользователей в тех блоках, которые были записаны в блокчейн после моего кривого блока. Это вы не понимаете. Ваш первый кривой блок будет отвергнут всеми остальными клиентами. Никто его не включит в свой блокчейн. И не включит все последующие ваши блоки тоже. Вы можете делать все что угодно - изменять алгоритм сложности, вообще вставить в код условие, что майнить блоки можете только вы и никто другой - всем остальным будет похуй на то, что вы на своих нодах самому себе изменили правило консенсуса. У вас просто получится ваш собственный личный блокчейн, как получились хард-форки типа Биткойн-Кэш, Биткойн-Голд и еще 100 разных хард-форков. Вся остальная биткойн-сеть просто продолжит работу по старым правилам и не будет обращать на вас никакого внимания.
|
|
|
|
fulinov
|
|
January 23, 2018, 04:57:04 AM |
|
Это вы не понимаете. Ваш первый кривой блок будет отвергнут всеми остальными клиентами. Никто его не включит в свой блокчейн.
Нет, это вы не понимаете. Что значит никто не включит в свой блокчейн? БОЛЬШИНСТВО ВКЛЮЧИТ, у меня более 51% сети, я что хочу, то и включаю. Как по вашему включают в блокчейн сегвит транзакции, абсолютно нелегитимные с точки зрения протокола Биткойна? ТАМ ДАЖЕ ПОДПИСЕЙ НЕТ! Это как раз то, о чем я вам толкую.
|
|
|
|
amaclin1
|
|
January 23, 2018, 05:05:50 AM |
|
Нет, это вы не понимаете. Что значит никто не включит в свой блокчейн? БОЛЬШИНСТВО ВКЛЮЧИТ, у меня более 51% сети, я что хочу, то и включаю. Да, у вас будет большинство (если считать по хэш-рейту). А я говорю про всю остальную сеть. Все остальные ноды в сети ничего не знают про распределение хэшрейта. Они действуют по алгоритму: если блок валиден - записываем его себе в базу и рассылаем его своим пирам, если блок невалиден - баним IP-адрес на сутки. Как по вашему включают в блокчейн сегвит транзакции, абсолютно нелегитимные с точки зрения протокола Биткойна? ТАМ ДАЖЕ ПОДПИСЕЙ НЕТ! Это как раз то, о чем я вам толкую. Я могу вам рассказать про сегвит всё. Да, боюсь, что вы не поймете. Сегвит-транзакции как раз легитимные с точки зрения оригинального протокола биткойна, так как сегвит в том исполнении, в котором существует сейчас является не хард-, а софт-форком Подписи, там, кстати есть. Ладно. Надоело мне с ламерами спорить. Разрешите откланяться. Я не буду больше отвечать на ваши сообщения, так как вижу, что вы не понимаете о чем говорите (хотя отмечу, что вы просто еще не поняли - то есть не все потеряно). Рекомендую все-таки ознакомиться с мат-частью.
|
|
|
|
fulinov
|
|
January 23, 2018, 05:16:38 AM |
|
Ладно. Надоело мне с ламерами спорить. Разрешите откланяться. Я не буду больше отвечать на ваши сообщения, так как вижу, что вы не понимаете о чем говорите (хотя отмечу, что вы просто еще не поняли - то есть не все потеряно). Рекомендую все-таки ознакомиться с мат-частью.
Да, мне тоже надоело с вами спорить, тем более, что вы перешли от конструктивного диалога к голословным утверждениям и оскорблениям. Какой сегвит легитимный, если там даже формат адреса неправильный с точки зрения протокола Биткойна? Что подписи там есть я и без вас знаю, но они не обязательны и могут быть, а могут и не быть. И еще объясните, почему нельзя с сегвит адреса сделать транзакцию на обычный адрес, раз сегвит весь такой легитимный.
|
|
|
|
|
|