Bitcoin Forum
August 23, 2024, 06:48:11 AM *
News: All versions of Windows are affected by a critical security bug; make sure you update.
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »
  Print  
Author Topic: Асикостойкий алгоритм PoW  (Read 6173 times)
Coin-1
Legendary
*
Offline Offline

Activity: 2562
Merit: 2259



View Profile
January 18, 2018, 05:27:09 AM
 #61

Итого:
¼  всех случайных команд приводит к условному переходу
примерно ⅓ команд - к случайному наполнению аккумулятора
примерно ⅓ команд - к перемешиванию хеша

Можно убрать все арифметические операции (команды 4R-AR), а ввести только сложные тригонометрические функции, как например команда BR, чтобы затруднить работу на GPU
Собственно, тригонометрические функции тоже состоят из элементарных арифметических операций.
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 18, 2018, 06:38:30 AM
 #62

Смотрю исходный код SHA256. Есть побитовые сдвиги, условных переходов нет.
То есть цикл - это по-вашему не условный переход? Хорошо, допустим.
Ладно, пусть даже и в расчете SHA256 нет явного ветвления по условиям.
Вы считаете, что условные переходы как-то более сложно реализовать транзисторной
логикой чем побитовые операции?
Coin-1
Legendary
*
Offline Offline

Activity: 2562
Merit: 2259



View Profile
January 21, 2018, 05:44:16 PM
 #63

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

Если речь о 32-битной архитектуре, то следует использовать все возможные инструкции x86:
https://en.wikipedia.org/wiki/X86_instruction_listings
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 21, 2018, 06:12:38 PM
 #64

Скорее всего, асикостойкий алгоритм должен использовать как можно больше типов математических операций.
Вообще-то, все математические операции реализуются через "и", "или" и "не".
Если вы придумаете какой-нибудь новый алгоритм хэширования, то специализированное
устройство из транзисторов, которое с наибольшей эффективностью реализует
этот алгоритм и не содержит ничего лишнего и будет асиком. Неужели это непонятно?
yg10
Newbie
*
Offline Offline

Activity: 88
Merit: 0


View Profile
January 23, 2018, 03:41:06 AM
 #65

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

Все логические операции можно реализовать через "не" и одно из "и" или "или"
Для арифметических операций этого недостаточно Нужна  ещё операция сложения с переносом в следующий разряд.

amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 03:52:36 AM
 #66

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

Но суть остается прежней: любой алгоритм может быть реализован с использованием
элементарной транзисторной логики, так что предлагать "а давайте напихаем в него
все инструкции процессора x86" - это по-просту глупо. Если это алгоритм - то можно
создать специализированную микросхему которая этот алгоритм щелкает.
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 03:56:53 AM
 #67

Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 03:59:57 AM
 #68

Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
От кого они защищают?
От владельцев большего количества асиков?  Grin
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 04:04:53 AM
 #69

Зачем вообще нужен асикостойкой алгоритм? Асики защищают сеть, они полезны. При цпу мйнинге сеть беззащитна.
От кого они защищают?
От владельцев большего количества асиков?  Grin
От атаки по захвату 51% сети. Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает. Например, подписать своим приватным ключем транзакцию с твоего адреса. Grin
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 04:14:04 AM
 #70

От атаки по захвату 51% сети.
Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает.
Например, подписать своим приватным ключем транзакцию с твоего адреса. Grin
Да ладно? Прям-таки подписать моим приватным ключом?  Grin
Я угораю с таких экспертов.
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 04:16:46 AM
 #71

От атаки по захвату 51% сети.
Если злоумышленник захватит 51% сети, то он сможет делать в сети все, что пожелает.
Например, подписать своим приватным ключем транзакцию с твоего адреса. Grin
Да ладно? Прям-таки подписать моим приватным ключом?  Grin
Я угораю с таких экспертов.
Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети, то транзакция будет включена в блок. Так понятно?
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 04:24:20 AM
 #72

Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети,
то транзакция будет включена в блок. Так понятно?
Так понятно.
Но учтите - это вы можете сделать и не имея 51% сети.
Вы можете на своих 3 нодах изменить код биткойна так, что транзакции с адреса
Сатоши Накамото могут быть подписаны как вашим ключом, так и его. После чего
подписать своим ключом и наслаждаться цифрой 1 миллион биткойнов на вашем
мониторе. Всем остальным нодам сети будет похуй на ваши изменения кода.
Они не примут ваши блоки - просто будут ваши ноды (и блоки) игнорировать и/или
держать в перманентном бане

И это не зависит от того, сколько у вас процентов сети - 1%, 51% или 99%
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 04:26:55 AM
 #73

Нет, я своим подпишу, а мои ноды подтвердят эту транзакцию, а так как у меня будет 51% в сети,
то транзакция будет включена в блок. Так понятно?
Так понятно.
Но учтите - это вы можете сделать и не имея 51% сети.
Вы можете на своих 3 нодах изменить код биткойна так, что транзакции с адреса
Сатоши Накамото могут быть подписаны как вашим ключом, так и его. После чего
подписать своим ключом и наслаждаться цифрой 1 миллион биткойнов на вашем
мониторе. Всем остальным нодам сети будет похуй на ваши изменения.
Они не примут ваши блоки - просто будут ваши ноды (и блоки) игнорировать и/или
держать в перманентном бане

И это не зависит от того, сколько у вас процентов сети - 1%, 51% или 99%
Конечно. Разница только в том, что если у меня будет 51% сети, то это будет записано не только в моем мониторе, но и в блокчейне биткойна. Grin
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 04:29:17 AM
 #74

Конечно. Разница только в том, что если у меня будет 51% сети, то это будет
записано не только в моем мониторе, но и в блокчейне биткойна. Grin
Не будет. Идите учите матчасть и что такое хард-форк.
Для всей остальной сети ваши блоки будут невалидными, просто случайным
набором байтиков. Никто про них кроме вас и не узнает (если, конечно,
не возьмет и не сделает такие же изменения в своем клиенте)
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 04:43:15 AM
 #75

Конечно. Разница только в том, что если у меня будет 51% сети, то это будет
записано не только в моем мониторе, но и в блокчейне биткойна. Grin
Не будет. Идите учите матчасть и что такое хард-форк.
Для всей остальной сети ваши блоки будут невалидными, просто случайным
набором байтиков. Никто про них кроме вас и не узнает (если, конечно,
не возьмет и не сделает такие же изменения в своем клиенте)
Давай я сделаю маленькое уточнение, чтобы до вас дошло. Я ЖЕ НЕ ПРОСТО ПРОВЕДУ ОДНУ НЕВАЛИДНУЮ ТРАНЗАКЦИЮ В СЕТИ И СВАЛЮ, НЕТ! Я, захватитв 51% и одной кривой транзакцией уведу намеченные мной монеты, а затем я буду майнить обычные легитимные транзакции, обычных легитимных пользователей сети и буду включать их в блоки, как обычно. Настолько долго, сколько мне получится удерживать более 51%. И если я продержусь хотябы день, то после моего первого блока с кривыми транзакциями, я запишу еще 150 валидных блоков с обычными транзакциями, обычных, легитимных пользователей сети. В сети Биткойна в день может проходить сотни тысяч транзакций и чтобы удалить из блокчейна один тот кривой блок, то придется удалить и все те блоки, что будут после него. Отменить все транзакции легитимных пользователей в тех блоках, которые были записаны в блокчейн после моего кривого блока.
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 04:52:26 AM
 #76

Давай я сделаю маленькое уточнение, чтобы до вас дошло. Я ЖЕ НЕ ПРОСТО ПРОВЕДУ ОДНУ НЕВАЛИДНУЮ ТРАНЗАКЦИЮ В СЕТИ И СВАЛЮ, НЕТ! Я, захватитв 51% и одной кривой транзакцией уведу намеченные мной монеты, а затем я буду майнить обычные легитимные транзакции, обычных легитимных пользователей сети и буду включать их в блоки, как обычно. Настолько долго, сколько мне получится удерживать более 51%. И если я продержусь хотябы день, то после моего первого блока с кривыми транзакциями, я запишу еще 150 валидных блоков с обычными транзакциями, обычных, легитимных пользователей сети. В сети Биткойна в день может проходить сотни тысяч транзакций и чтобы удалить из блокчейна один тот кривой блок, то придется удалить и все те блоки, что будут после него. Отменить все транзакции легитимных пользователей в тех блоках, которые были записаны в блокчейн после моего кривого блока.

Это вы не понимаете.
Ваш первый кривой блок будет отвергнут всеми остальными клиентами.
Никто его не включит в свой блокчейн. И не включит все последующие ваши блоки тоже.
Вы можете делать все что угодно - изменять алгоритм сложности, вообще вставить
в код условие, что майнить блоки можете только вы и никто другой - всем остальным
будет похуй на то, что вы на своих нодах самому себе изменили правило консенсуса. У вас просто
получится ваш собственный личный блокчейн, как получились хард-форки типа
Биткойн-Кэш, Биткойн-Голд и еще 100 разных хард-форков. Вся остальная биткойн-сеть
просто продолжит работу по старым правилам и не будет обращать на вас никакого внимания.
fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 04:57:04 AM
 #77

Это вы не понимаете.
Ваш первый кривой блок будет отвергнут всеми остальными клиентами.
Никто его не включит в свой блокчейн.
Нет, это вы не понимаете. Что значит никто не включит в свой блокчейн? БОЛЬШИНСТВО ВКЛЮЧИТ, у меня более 51% сети, я что хочу, то и включаю. Как по вашему включают в блокчейн сегвит транзакции, абсолютно нелегитимные с точки зрения протокола Биткойна? ТАМ ДАЖЕ ПОДПИСЕЙ НЕТ! Это как раз то, о чем я вам толкую.
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 05:05:50 AM
 #78

Нет, это вы не понимаете. Что значит никто не включит в свой блокчейн?
БОЛЬШИНСТВО ВКЛЮЧИТ, у меня более 51% сети, я что хочу, то и включаю.
Да, у вас будет большинство (если считать по хэш-рейту). А я говорю про всю остальную
сеть. Все остальные ноды в сети ничего не знают про распределение хэшрейта. Они действуют
по алгоритму: если блок валиден - записываем его себе в базу и рассылаем его своим пирам,
если блок невалиден - баним IP-адрес на сутки.

Quote
Как по вашему включают в блокчейн сегвит транзакции, абсолютно нелегитимные с
точки зрения протокола Биткойна? ТАМ ДАЖЕ ПОДПИСЕЙ НЕТ! Это как раз то, о чем я вам толкую.
Я могу вам рассказать про сегвит всё. Да, боюсь, что вы не поймете.
Сегвит-транзакции как раз легитимные с точки зрения оригинального протокола биткойна,
так как сегвит в том исполнении, в котором существует сейчас является не хард-, а софт-форком
Подписи, там, кстати есть.  Grin

Ладно. Надоело мне с ламерами спорить. Разрешите откланяться. Я не буду больше
отвечать на ваши сообщения, так как вижу, что вы не понимаете о чем говорите
(хотя отмечу, что вы просто еще не поняли - то есть не все потеряно). Рекомендую
все-таки ознакомиться с мат-частью.

fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 23, 2018, 05:16:38 AM
 #79

Ладно. Надоело мне с ламерами спорить. Разрешите откланяться. Я не буду больше
отвечать на ваши сообщения, так как вижу, что вы не понимаете о чем говорите
(хотя отмечу, что вы просто еще не поняли - то есть не все потеряно). Рекомендую
все-таки ознакомиться с мат-частью.
Да, мне тоже надоело с вами спорить, тем более, что вы перешли от конструктивного диалога к голословным утверждениям и оскорблениям. Какой сегвит легитимный, если там даже формат адреса неправильный с точки зрения протокола Биткойна? Что подписи там есть я и без вас знаю, но они не обязательны и могут быть, а могут и не быть. И еще объясните, почему нельзя с сегвит адреса сделать транзакцию на обычный адрес, раз сегвит весь такой легитимный.
amaclin1
Sr. Member
****
Offline Offline

Activity: 854
Merit: 317


View Profile
January 23, 2018, 05:27:11 AM
 #80

И еще объясните, почему нельзя с сегвит адреса сделать транзакцию на
обычный адрес, раз сегвит весь такой легитимный.
Можно. Почему ж нельзя?
Вот, поискал 30 секунд пример:
https://blockchain.info/tx/0b4e872beb531f63875193e2ee0de0e81ca910d63cfa42510b57a4286800518c?show_adv=true
с адреса bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej
отправлено  0.727 BTC на обычный адрес 12gmGiDeWLknKLeG1wTCDs78sfkAFXbiEr и сдача
обратно на свой тот же самый сегвитовский
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »
  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!