Bitcoin Forum
July 06, 2024, 10:01:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   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 6109 times)
Coin-1
Legendary
*
Offline Offline

Activity: 2506
Merit: 2232



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

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

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

Activity: 784
Merit: 305


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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
Coin-1
Legendary
*
Offline Offline

Activity: 2506
Merit: 2232



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: 784
Merit: 305


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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
yg10
Newbie
*
Offline Offline

Activity: 88
Merit: 0


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

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

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

amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


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

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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

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

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

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


Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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: 784
Merit: 305


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

И еще объясните, почему нельзя с сегвит адреса сделать транзакцию на
обычный адрес, раз сегвит весь такой легитимный.
Можно. Почему ж нельзя?
Вот, поискал 30 секунд пример:
https://blockchain.info/tx/0b4e872beb531f63875193e2ee0de0e81ca910d63cfa42510b57a4286800518c?show_adv=true
с адреса bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej
отправлено  0.727 BTC на обычный адрес 12gmGiDeWLknKLeG1wTCDs78sfkAFXbiEr и сдача
обратно на свой тот же самый сегвитовский

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
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!