deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 04:31:41 PM Last edit: October 20, 2017, 05:49:45 PM by deisik |
|
Благодарю за ссылки, атаку припоминаю, не подозревал что это ваших рук дело. Это не единственная. Я еще с SIGOP-ами веселился, но там не так заметно было. То есть разным клиентам положить на полное соответствие спецификации протокола в децентрализованной недоверенной сети? Это весьма забавно. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Это как раз очевидно. В децентрализованной сети нет "соответствия спецификации", потому как никто не вправе считать отклонение от спецификаций каким-то грехом. И наказывать за это некому. Поэтому и альткойны появляются, и хард-форки, и каждый Вася Пупкин может свой код в клиент вставить и на гитхаб (в свой аккаунт) положить. Каждый дрочит как он хочет. Свобода, блеать! Спецификация заложена в кошерном клиенте, который по идее должен занимать преобладающую долю в сети, если этого нет, то блокчейн и консенсус весьма сомнительные. Что считать кошерным клиентом уже другой вопрос. Если в один блокчейн блоки пишет зоопарк разных клиентов и все забивают на соответствие их содержимого протоколу, то консенсусу и блокчейну придёт или уже пришёл белый северный зверёк. Если же от спецификации отступают только какие-то клиенты в стиле super bitcoin, а кошерный клиент преобладающий на полных нодах отклоняет их кривые транзакции или блоки, то в этом и заключается наказание, а наличие такого клиента не вредит иммутабельности блокчейна кошерной сети. Запрещать альткойны, хард-форки и свободу я не предлагал. Они несколько из другой оперы, так как используют свои блокчейны. Меня больше интересует пишутся ли в mainchain всякие непотребства, которые разные клиенты интерпретируют по-разному. Я думаю, вы кое-что путаете А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это, как я понимаю, две большие разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать (или не транслировать) транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 04:35:19 PM |
|
Спецификация заложена в кошерном клиенте, который по идее должен занимать преобладающую долю в сети, если этого нет, то блокчейн и консенсус весьма сомнительные. Что считать кошерным клиентом уже другой вопрос. Если в один блокчейн блоки пишет зоопарк разных клиентов и все забивают на соответствие их содержимого протоколу Так. На этом месте остановись и подумай. В твой блокчейн пишешь только ты сам. Все остальные пишут в свои собственные блокчейны. И если твой блокчейн не совпадает с тем, который у других - это только твоя личная половая драма. Так что нет никаких проблем в том, что зоопарк клиентов существуют по своим правилам. Это и есть консенсус и диктатура большинства. Меня больше интересует пишутся ли в mainchain всякие непотребства, которые разные клиенты интерпретируют по-разному. Не существует абстрактного понятия "mainchain". Всегда это "mainchain c точки зрения клиента" То есть mainchain биткойна с точки зрения bitcoin-abc - это и есть непотребство. И наоборот. На чьей стороне баррикад ты - сам решаешь. Большинство сектантов пытаются одной жопой сразу на всех стульях усидеть. А хрен ли? Можно одновременно и в бога, и в аллаха, и в будду верить - после смерти тот бог, который встретит - тому и скажешь что верил в него. Непреднамеренные хард-форки тоже в биткойне были. Но умерли под давлением большинства.
|
|
|
|
fxpc
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 05:10:36 PM Last edit: October 20, 2017, 05:46:38 PM by fxpc |
|
Я думаю, вы кое-что путаете
А именно, клиентов для нод, т.е. узлов сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой роли не играет, поскольку максимум, что может сделать клиент, - это транслировать или не транслировать транзауцию дальше всех. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть отвергнут другими майнерами
Я прекрасно осознаю что это разные вещи. Нодами блок не может быть отвергнут? Давайте представим, что 51% мощности майнеров направлены на пропихивание блоков с левым кодом. Кошерный клиент примет такие блоки? Речь идёт естественно не о пропихивании мусора, а о включении в блок неоднозначных для большинства клиентов транзакций. Спецификация заложена в кошерном клиенте, который по идее должен занимать преобладающую долю в сети, если этого нет, то блокчейн и консенсус весьма сомнительные. Что считать кошерным клиентом уже другой вопрос. Если в один блокчейн блоки пишет зоопарк разных клиентов и все забивают на соответствие их содержимого протоколу Так. На этом месте остановись и подумай. В твой блокчейн пишешь только ты сам. Все остальные пишут в свои собственные блокчейны. И если твой блокчейн не совпадает с тем, который у других - это только твоя личная половая драма. Так что нет никаких проблем в том, что зоопарк клиентов существуют по своим правилам. Это и есть консенсус и диктатура большинства. Меня больше интересует пишутся ли в mainchain всякие непотребства, которые разные клиенты интерпретируют по-разному. Не существует абстрактного понятия "mainchain". Всегда это "mainchain c точки зрения клиента" То есть mainchain биткойна с точки зрения bitcoin-abc - это и есть непотребство. И наоборот. На чьей стороне баррикад ты - сам решаешь. Большинство сектантов пытаются одной жопой сразу на всех стульях усидеть. А хрен ли? Можно одновременно и в бога, и в аллаха, и в будду верить - после смерти тот бог, который встретит - тому и скажешь что верил в него. Непреднамеренные хард-форки тоже в биткойне были. Но умерли под давлением большинства. В блокчейн пишет либо клиент, логика которого рядовому юзеру неподконтрольна, либо клиент третьей стороны. Последним вариантом судя по всему пользуется значительная часть адептов бетховена. Блок создают и вовсе майнеры, а отдельный клиент либо считает его валидным, либо нет. И тут, как говорил Василий Иванович в известном нам анекдоте, есть нюанс, который теоретически позволяет на*бать на некоторое время некоторую часть зоопарка. Я правильно понимаю? То что mainchain весьма относительный я в курсе, упомянул его лишь в контексте отдельно взятой группы клиентов, пускай это будет bitcoin-abc. Про хард-форки читал на днях.
|
|
|
|
n00by
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 172
Merit: 11
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 05:39:31 PM |
|
А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать или не транслировать транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
Собственно, путаешь немного терминологию ты. Смотри, протокол (начиная с вайтпэпер биткойн) описан очень подробно и действует в сети. То есть, все байты пересылаемые в сети обрабатываются единственным набором правил для всех. Единственным клиентом, достоверно соблюдающим протокол является оф.клиент. Так вот.. Оф.клиент имеет открытый исходный код и любой пряморукий хомосапиенс может собрать себе клиент без скачания экзешников и прочей мути. Майнеры относятся к самы хитрым (тем самым пряморуким хомосапиенсам). Они собирают клиента себе с измененными параметрами, такими что протокол не нарушается, но при этом, например, получают небольшие преимущества. Ты сам, если захочешь, можешь попробовать собрать клиента и увидишь, что он запускается. Потом изменишь параметр, и он опять соберется. И так пока красные слезы из глаз не пойдут. Собственно о чем речь. Пока протокол есть, куча разных всяких собранных на коленке клиентов отправляет в сеть пакеты, котоыре ВСЕ вынуждены проверять. Вот тут кроется самая главная трудность. Все должны проверить все. Децентрализация и вот это все
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 06:19:04 PM Last edit: October 20, 2017, 09:13:03 PM by deisik |
|
Я думаю, вы кое-что путаете
А именно, клиентов для нод, т.е. узлов сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой роли не играет, поскольку максимум, что может сделать клиент, - это транслировать или не транслировать транзауцию дальше всех. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть отвергнут другими майнерами
Я прекрасно осознаю что это разные вещи. Нодами блок не может быть отвергнут? Давайте представим, что 51% мощности майнеров направлены на пропихивание блоков с левым кодом. Кошерный клиент примет такие блоки? Речь идёт естественно не о пропихивании мусора, а о включении в блок неоднозначных для большинства клиентов транзакций Вы всё равно что-то не понимаете В блокчейн может писать только код майнеров при нахождении нового блока. Какой именно код пишет - дело абсолютно десятое (майнер может использовать код своей собственной разработки). Узлы сети (ноды), которые при этом ничего не майнят, ничего писать в блокчейн очевидно не могут. Они могут либо передать блок дальше в сеть или не передать его. Они не могут его "отвергнуть" в том смысле, в каком вы об этом пишите. Поэтому кошерный или некошерный клиент на блокчейн сам по себе никак повлиять не может (потому и "зоопарк"). Другими словами, он не может принять, так же как не может и не принять. Блок может быть принят или отвергнут только майнером, когда он включит или не включит ссылку на него в своём найденном блоке, но отвергнув предыдущий блок, он рискует тем, что другие майнеры уже отвергнут его собственный блок (при этом подтвердив блок, который он отверг)
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 06:30:58 PM |
|
Нодами блок не может быть отвергнут? Может. Я могу на своем компе отвергать любые блоки, даже валидные если захочу. Только что от этого в мире изменится, кроме того что я поднасру себе в локальную базу? Давайте представим, что 51% мощности майнеров направлены на пропихивание блоков с левым кодом. Кошерный клиент примет такие блоки? Смотря что считать кошерным. С точки знения клиента bitcoin-abc (он же Bitcoin Cash) как раз такое и происходит: 90% мощности майнеров майнят какую-то херобору, которую постоянно приходится отвергать. Речь идёт естественно не о пропихивании мусора, а о включении в блок неоднозначных для большинства клиентов транзакций. Не бывает "неоднозначных" транзакций. Транзакция либо валидна, либо нет. Блок либо валиден либо нет. С точки зрения конкретной программы, а не вообще. В блокчейн пишет либо клиент, логика которого рядовому юзеру неподконтрольна, либо клиент третьей стороны. Какой-такой "клиент третьей стороны"? Проспись. Блокчейн - это база данных. Никто кроме клиента который установлен на моей машине в этот файл писать не может. Последним вариантом судя по всему пользуется значительная часть адептов бетховена. Щито? ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Блок создают и вовсе майнеры, а отдельный клиент либо считает его валидным, либо нет. Майнеры - это кого ты имеешь в виду? Владельцев асиков или админов пулов? И тут, как говорил Василий Иванович в известном нам анекдоте, есть нюанс, который теоретически позволяет на*бать на некоторое время некоторую часть зоопарка. Я правильно понимаю? Нет, неправильно.
|
|
|
|
fxpc
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 08:52:41 PM Last edit: October 20, 2017, 09:06:39 PM by fxpc |
|
Нодами блок не может быть отвергнут? Может. Я могу на своем компе отвергать любые блоки, даже валидные если захочу. Только что от этого в мире изменится, кроме того что я поднасру себе в локальную базу? Давайте представим, что 51% мощности майнеров направлены на пропихивание блоков с левым кодом. Кошерный клиент примет такие блоки? Смотря что считать кошерным. С точки знения клиента bitcoin-abc (он же Bitcoin Cash) как раз такое и происходит: 90% мощности майнеров майнят какую-то херобору, которую постоянно приходится отвергать. Речь идёт естественно не о пропихивании мусора, а о включении в блок неоднозначных для большинства клиентов транзакций. Не бывает "неоднозначных" транзакций. Транзакция либо валидна, либо нет. Блок либо валиден либо нет. С точки зрения конкретной программы, а не вообще. В блокчейн пишет либо клиент, логика которого рядовому юзеру неподконтрольна, либо клиент третьей стороны. Какой-такой "клиент третьей стороны"? Проспись. Блокчейн - это база данных. Никто кроме клиента который установлен на моей машине в этот файл писать не может. Последним вариантом судя по всему пользуется значительная часть адептов бетховена. Щито? ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Блок создают и вовсе майнеры, а отдельный клиент либо считает его валидным, либо нет. Майнеры - это кого ты имеешь в виду? Владельцев асиков или админов пулов? И тут, как говорил Василий Иванович в известном нам анекдоте, есть нюанс, который теоретически позволяет на*бать на некоторое время некоторую часть зоопарка. Я правильно понимаю? Нет, неправильно. Клиент третьей стороны это клиент, с которым взаимодействует сервер вываливающий сектанту в вебинтерфейс или лайтваллет поток переваренных данных из этого клиента. Никакой базы данных у этого юзера не было и нет. О точке зрения конкретной программы я и говорил. Что мешает подсунуть непотребство юзерам конкретного клиента/сервиса вольно трактующего спецификациию?
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 09:18:00 PM |
|
А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать или не транслировать транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
Собственно, путаешь немного терминологию ты. [...] Собственно о чем речь. Пока протокол есть, куча разных всяких собранных на коленке клиентов отправляет в сеть пакеты, котоыре ВСЕ вынуждены проверять. Вот тут кроется самая главная трудность. Все должны проверить все. Децентрализация и вот это все Что именно я путаю и где? Если речь идёт о транзакциях, которые отправляют в сеть кошельки, то они проверяются и подтверждаются майнерами в момент обработки найденного блока. Может и обычные, негенерящие ноды тоже их проверяют (я не знаю), но последнее слово, очевидно, всё равно остаётся за майнерами, ибо пока транзакция не подтверждена, её по сути не существует (это своего рода декларация о намерениях). Другими словами, ноды могут и не проверять транзакцию, поскольку её подтверждение остаётся прерогативой майнеров. Один раз мне с Exmo отправили левую транзакцию, и она болталась неподтверждённой какое-то время, потом просто пропала. Биржа сослалась на некие проблемы в сети, хотя это был явно косяк с их стороны
|
|
|
|
fxpc
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 20, 2017, 09:27:07 PM Last edit: October 21, 2017, 12:18:22 AM by fxpc |
|
А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать или не транслировать транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
Собственно, путаешь немного терминологию ты. [...] Собственно о чем речь. Пока протокол есть, куча разных всяких собранных на коленке клиентов отправляет в сеть пакеты, котоыре ВСЕ вынуждены проверять. Вот тут кроется самая главная трудность. Все должны проверить все. Децентрализация и вот это все Что именно я путаю и где? Если речь идёт о транзакциях, которые отправляет в сеть кошельки, то они подтверждаются майнерами в момент обработки найденного блока. Может и обычные, негенерящие ноды тоже их проверяют (я не знаю), но последнее слово, очевидно, всё равно остаётся за майнерами, ибо пока транзакция не подтверждена, её по сути не существует (это своего рода декларация о намерениях). Другими словами, ноды могут и не проверять транзакцию, поскольку её подтверждение остаётся прерогативой майнеров Майнеры проверяют транзакции и включают в блок, чтобы забрать комиссии включенные в эти транзакции. Это вовсе не мешает майнерам использовать свою мощность для атаки на сеть и совершения двойной траты, когда они посчитают это более выгодным. Что значит может и обычные тоже их проверяют? Зачем ты что-то объясняешь другим, когда сам не знаешь даже на абстрактном уровне? Все ноды получившие новый блок проверяют его и находящиеся в нём транзакции. Другого способа определить что транзакции в блоке не являются ху*нёй у ноды нет. После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Другими словами, ты как обычно несёшь какую-то отсебятину пытаясь выглядеть самым умным. Не могут ноды не проверять, не ноды могут, а ноды не могут, пока у них в логике заложено достижение консенсуса в недоверенном окружении.
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 05:34:30 AM Last edit: October 21, 2017, 08:50:36 AM by amaclin1 |
|
Все ноды получившие новый блок проверяют его и находящиеся в нём транзакции. Нет. Отучаемся говорить слово "все" когда говорим про крипту. Другого способа определить что транзакции в блоке не являются ху*нёй у ноды нет. Другие способы есть. После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Это вообще хуета полная. Всё. Я устал. Сперва показалось ты по делу говоришь, теперь вижу что бредишь
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 08:24:51 AM |
|
А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать или не транслировать транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
Собственно, путаешь немного терминологию ты. [...] Собственно о чем речь. Пока протокол есть, куча разных всяких собранных на коленке клиентов отправляет в сеть пакеты, котоыре ВСЕ вынуждены проверять. Вот тут кроется самая главная трудность. Все должны проверить все. Децентрализация и вот это все Что именно я путаю и где? Если речь идёт о транзакциях, которые отправляет в сеть кошельки, то они подтверждаются майнерами в момент обработки найденного блока. Может и обычные, негенерящие ноды тоже их проверяют (я не знаю), но последнее слово, очевидно, всё равно остаётся за майнерами, ибо пока транзакция не подтверждена, её по сути не существует (это своего рода декларация о намерениях). Другими словами, ноды могут и не проверять транзакцию, поскольку её подтверждение остаётся прерогативой майнеров Майнеры проверяют транзакции и включают в блок, чтобы забрать комиссии включенные в эти транзакции. Это вовсе не мешает майнерам использовать свою мощность для атаки на сеть и совершения двойной траты, когда они посчитают это более выгодным. Что значит может и обычные тоже их проверяют? Зачем ты что-то объясняешь другим, когда сам не знаешь даже на абстрактном уровне? Все ноды получившие новый блок проверяют его и находящиеся в нём транзакции. Другого способа определить что транзакции в блоке не являются ху*нёй у ноды нет. После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Другими словами, ты как обычно несёшь какую-то отсебятину пытаясь выглядеть самым умным. Не могут ноды не проверять, не ноды могут, а ноды не могут, пока у них в логике заложено достижение консенсуса в недоверенном окружении. Если я чего-то не знаю, я об этом сразу пишу Но тебя, видимо, уже настолько переклинило, что ты даже признание в отсутствии информации по частному вопросу воспринимаешь как попытку "выглядеть самым умным". Я тебе ещё раз говорю, что проверяют ноды транзакции или нет (сразу уточняю, что имею в виду негенерящие ноды), абсолютно не важно, потому что максимум, что они могут сделать, это не пустить левую транзакцию дальше в сеть. Никаким другим образом на блокчейн они повлиять не могут. Простые ноды не могут писать в блокчейн, потому что "писать в блокчейн" означает находить новые блоки. С чем ты пытаешься спорить?
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 08:47:22 AM |
|
Но тебя, видимо, уже настолько переклинило, что ты даже признание в отсутствии информации по частному вопросу воспринимаешь как попытку "выглядеть самым умным". Я тебе ещё раз говорю, что проверяют ноды транзакции или нет (сразу уточняю, что имею в виду негенерящие ноды), абсолютно не важно, потому что максимум, что они могут сделать, это не пустить левую транзакцию дальше в сеть. Никаким другим образом на блокчейн они повлиять не могут. Это верно. Я бы уточнил немного. А то словосочетание "дальше в сеть" - оно слишком расплывчато. Его можно по-разному понимать. Так вот. Правильнее было бы сказать вот как: получив блок или транзакцию нода имеет два варианта дальнейших действий - либо попытаться отослать эту транзакцию другим своим пирам, либо нет. Ну, вообще-то здравый смысл должен и так вам об этом был сказать, без моих напоминаний, что третьего варианта быть не может. Оба эти варианта - допустимые, ибо в децентрализованной сети проконтролировать поведение ноды другие не могут. (Вариант "получить транзакцию, модифицировать её и отослать пирам модифицированный вариант" пока не рассматриваем ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ) Простые ноды не могут писать в блокчейн, потому что "писать в блокчейн" означает находить новые блоки. Ну можно и так определить термин. Хотя это определение тоже "хромоногое", половина из присутствующих поймет неправильно. Вообще в криптовалютных кругах это принято - говорить такими терминами, которые половиной окружающих понимаются неверно ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 09:28:01 AM Last edit: October 21, 2017, 11:16:09 AM by deisik |
|
Но тебя, видимо, уже настолько переклинило, что ты даже признание в отсутствии информации по частному вопросу воспринимаешь как попытку "выглядеть самым умным". Я тебе ещё раз говорю, что проверяют ноды транзакции или нет (сразу уточняю, что имею в виду негенерящие ноды), абсолютно не важно, потому что максимум, что они могут сделать, это не пустить левую транзакцию дальше в сеть. Никаким другим образом на блокчейн они повлиять не могут. Это верно. Я бы уточнил немного. А то словосочетание "дальше в сеть" - оно слишком расплывчато. Его можно по-разному понимать. Так вот. Правильнее было бы сказать вот как: получив блок или транзакцию нода имеет два варианта дальнейших действий - либо попытаться отослать эту транзакцию другим своим пирам, либо нет. Ну, вообще-то здравый смысл должен и так вам об этом был сказать, без моих напоминаний, что третьего варианта быть не может. Оба эти варианта - допустимые, ибо в децентрализованной сети проконтролировать поведение ноды другие не могут. (Вариант "получить транзакцию, модифицировать её и отослать пирам модифицированный вариант" пока не рассматриваем ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ) Простые ноды не могут писать в блокчейн, потому что "писать в блокчейн" означает находить новые блоки. Ну можно и так определить термин. Хотя это определение тоже "хромоногое", половина из присутствующих поймет неправильно. Вообще в криптовалютных кругах это принято - говорить такими терминами, которые половиной окружающих понимаются неверно ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Касательно терминологии, это везде так Например, фраза "сидела сегодня на заборе и отсосала у пятнадцати человек" может означать всего лишь невинный забор крови на анализ, как-то так. Что я имею в виду под "писать в блокчейн" я разжевал донельзя ранее, а именно, что транзакции проверяются и подтверждаются (или отвергаются), т.е. включаются (или не включаются) в блокчейн майнерами, в блоки которые они находят. Немайнящая нода может лишь "попытаться отослать эту транзакцию другим своим пирам". Я не виноват, что у людей каша в голове
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 09:47:24 AM |
|
Например, фраза "сидела сегодня на заборе и насосала у пятнадцати человек" может означать всего лишь невинный забор крови на анализ, как-то так. Что я имею в виду под "писать в блокчейн" я разжевал донельзя ранее, а именно, что транзакции проверяются и подтверждаются (или отвергаются), т.е. включаются (или не включаются) в блокчейн майнерами, в блоки которые они находят. Немайнящая нода может лишь "попытаться отослать эту транзакцию другим своим пирам". Я не виноват, что у людей каша в голове В таком случае мне остается только согласиться. Возможно, мы по-разному немного комбинируем слова, описывая процесс, но суть понимаем одинаково. Кстати, я регулярно поднимаю тему о том, что словом "майнеры" обозначают два разных класса людей и два разных процесса. Есть майнинг-пул со своей нодой и админом за этой нодой следящим. А есть владельцы асиков (или гпу-ферм на других валютах), которые подключены к этому пулу и молотят хэши, отсылая на пул шары. Они тоже себя считают и называют майнерами. Так вот, в контексте сказанного, кто на самом деле находит блок? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 09:55:43 AM |
|
Например, фраза "сидела сегодня на заборе и насосала у пятнадцати человек" может означать всего лишь невинный забор крови на анализ, как-то так. Что я имею в виду под "писать в блокчейн" я разжевал донельзя ранее, а именно, что транзакции проверяются и подтверждаются (или отвергаются), т.е. включаются (или не включаются) в блокчейн майнерами, в блоки которые они находят. Немайнящая нода может лишь "попытаться отослать эту транзакцию другим своим пирам". Я не виноват, что у людей каша в голове В таком случае мне остается только согласиться. Возможно, мы по-разному немного комбинируем слова, описывая процесс, но суть понимаем одинаково. Кстати, я регулярно поднимаю тему о том, что словом "майнеры" обозначают два разных класса людей и два разных процесса. Есть майнинг-пул со своей нодой и админом за этой нодой следящим. А есть владельцы асиков (или гпу-ферм на других валютах), которые подключены к этому пулу и молотят хэши, отсылая на пул шары. Они тоже себя считают и называют майнерами. Так вот, в контексте сказанного, кто на самом деле находит блок? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Этот вопрос мне знаком Но я сразу признаюсь, что я особо над ним не задумывался. Технически, блок находит тот или иной владелец оборудования, которое и производит соответствующие вычисления (асики или видяхи), но, поскольку "оформление" блока (т.е. включение в него транзакций и что там ещё происходит в процессе) производится именно пулом, то правильнее, на мой взгляд, считать, что блок найден именно пулом, а не конкретным владельцем железяки (хотя, строго говоря, это, конечно, не так). Такие мои соображения, экспромтом, так сказать. Может быть есть и другие варианты
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 10:40:01 AM |
|
Так вот, в контексте сказанного, кто на самом деле находит блок? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Этот вопрос мне знаком Но я сразу признаюсь, что я особо над ним не задумывался. Технически, блок находит тот или иной владелец оборудования, которое и производит соответствующие вычисления (асики или видяхи), но, поскольку "оформление" блока (т.е. включение в него транзакций и что там ещё происходит в процессе) производится именно пулом, то правильнее, на мой взгляд, считать, что блок найден именно пулом, а не конкретным владельцем железяки (хотя, строго говоря, это, конечно, не так). Такие мои соображения, экспромтом, так сказать. Может быть есть и другие варианты Всё правильно мыслите. Но чтобы прояснить голову и выкинуть оттуда кашу (это я скорее другим адресую, а не вам) надо понять что же такое "блок"? Это же не файл? Файл - это набор данных который лежит на вашем диске с именем. Я не хочу вас специально запутывать, просто "веду по правильному пути". Блок - это тоже набор байтов и он как-то передается по сети и сохраняется на диск. Причем как передается и как сохраняется - это вообще говоря неважно. По-разному он может передаваться и по-разному сохраняться. Bitcoin-Core сохраняет в LevelDB сейчас, но это вовсе не значит что нельзя сохранять в другом формате и в любую другую базу или передавать блок по другому протоколу. Кстати, протокол передачи блоков между нодами не входит в консенсус и достаточно активно меняется, иногда и без обратной совместимости. Что-то я отвлекся. Владельцы асиков - они ищут хэш. Им передается некоторая "заготовка", они перебирают случайные значения и передают на пул шары, тем самым доказывая что они типа работают. Если владелец асика нашел подходящий хэш, то самостоятельно он не сможет сформировать блок и отправить его в сеть (гипотетически и в определенных случаях сможет, но никто этим не парится). Владелец асиков - он бессловесний наемный рабочий. С точки зрения сети мы видим что блок сформировал админ пула, а кого он там привлекал для этой работы, как договаривался и как расплачивался со своими батраками нас с вами не волнует. Условно говоря, блоки сегодня майнят 10-20 человек. Вот такая децентрализация ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 11:09:04 AM |
|
гипотетически и в определенных случаях сможет, но никто этим не парится
Для меня это самый интересный момент из всего вашего поста По сути, вы сейчас упомянули возможность поиметь пул (фактически, других "батраков"). Другими словами, мы присасываемся к пулу, далее что-то пытаемся там майнить и получаем процент от того, что намайнять другие (в соответствии с нашей долей в общем хешрейте пула). Однако, если мы вдруг волею судьбы сами находим блок, нам очевидно не выгодно посылать его в пул, а выгодно отправить в сеть самим как самостоятельному, индивидуальному майнеру. Логика мне подсказывает, что пулы должны как-то подстраховываться против подобного развития событий, если это, конечно, технически возможно, поскольку слишком велик соблазн и высока цена
|
|
|
|
fxpc
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 11:36:46 AM Last edit: October 21, 2017, 12:02:47 PM by fxpc |
|
Все ноды получившие новый блок проверяют его и находящиеся в нём транзакции. Нет. Отучаемся говорить слово "все" когда коворим про крипту. Другого способа определить что транзакции в блоке не являются ху*нёй у ноды нет. Другие способы есть. После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Это вообще хуета полная. Всё. Я устал. Сперва показалось ты по делу говоришь, теперь вижу что бредишь Все - большая часть полных нод. Что делают кастрированные ноды мне малоинтересно. И какие же другие способы? SPV? Этот способ менее надёжен. В чём хуета? Ты знаешь как проверить подпись без публичного ключа? Или хочешь сказать ключи хранятся вечно? Про скрипты, я в курсе, если что. Я не утверждал что понимаю процесс более, чем абстрактно, и даже не утверждал что моё понимание это истина. Но даже это понимание, заставляет меня сильно усомниться в правдивости утверждения, что наверху майнеры всё решили, а сеть слепо верит. Устал - не пиши, дело твоё. А именно, ноды, т.е. узлы сети (это Bitcoin-Qt, например, который типа кошерный клиент, в вашей терминологии) с кодом, который используют майнеры для подтверждения транзакции. Это как я понимаю, две принципиальные разницы. Если в первом случае, разнообразие клиентов ("зоопарк") никакой особой роли не играет, поскольку максимум, что может сделать нода, - это транслировать или не транслировать транзакцию дальше в сеть. А если майнер станет использовать какой-то левый код, то он рискует потерять бабло, поскольку его блок может быть и, скорее всего, будет отвергнут другими майнерами
Собственно, путаешь немного терминологию ты. [...] Собственно о чем речь. Пока протокол есть, куча разных всяких собранных на коленке клиентов отправляет в сеть пакеты, котоыре ВСЕ вынуждены проверять. Вот тут кроется самая главная трудность. Все должны проверить все. Децентрализация и вот это все Что именно я путаю и где? Если речь идёт о транзакциях, которые отправляет в сеть кошельки, то они подтверждаются майнерами в момент обработки найденного блока. Может и обычные, негенерящие ноды тоже их проверяют (я не знаю), но последнее слово, очевидно, всё равно остаётся за майнерами, ибо пока транзакция не подтверждена, её по сути не существует (это своего рода декларация о намерениях). Другими словами, ноды могут и не проверять транзакцию, поскольку её подтверждение остаётся прерогативой майнеров Майнеры проверяют транзакции и включают в блок, чтобы забрать комиссии включенные в эти транзакции. Это вовсе не мешает майнерам использовать свою мощность для атаки на сеть и совершения двойной траты, когда они посчитают это более выгодным. Что значит может и обычные тоже их проверяют? Зачем ты что-то объясняешь другим, когда сам не знаешь даже на абстрактном уровне? Все ноды получившие новый блок проверяют его и находящиеся в нём транзакции. Другого способа определить что транзакции в блоке не являются ху*нёй у ноды нет. После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Другими словами, ты как обычно несёшь какую-то отсебятину пытаясь выглядеть самым умным. Не могут ноды не проверять, не ноды могут, а ноды не могут, пока у них в логике заложено достижение консенсуса в недоверенном окружении. Если я чего-то не знаю, я об этом сразу пишу Но тебя, видимо, уже настолько переклинило, что ты даже признание в отсутствии информации по частному вопросу воспринимаешь как попытку "выглядеть самым умным". Я тебе ещё раз говорю, что проверяют ноды транзакции или нет (сразу уточняю, что имею в виду негенерящие ноды), абсолютно не важно, потому что максимум, что они могут сделать, это не пустить левую транзакцию дальше в сеть. Никаким другим образом на блокчейн они повлиять не могут. Простые ноды не могут писать в блокчейн, потому что "писать в блокчейн" означает находить новые блоки. С чем ты пытаешься спорить? Проблема в том что ты не знаешь, но считаешь нужным постить отсебятину пртендуя на роль знающего. Вот ответ на могут писать в блокчейн процитирую Амаклина. "В твой блокчейн пишешь только ты сам. Все остальные пишут в свои собственные блокчейны. И если твой блокчейн не совпадает с тем, который у других - это только твоя личная половая драма." Нодам абсолютно важно проверять транзакции и блоки, иначе будет сплошной разброд и шатание вместо консенсуса. Исходя из того, что твой блокчейн это точка зрения твоей ноды, писать ты туда можешь всё что угодно или не писать ничего вовсе. В момент создания блока негенерящие ноды это вся остальная сеть. Майнер пойдёт нахуй, если самая распространённая в сети цепь не включает его блок. гипотетически и в определенных случаях сможет, но никто этим не парится
Для меня это самый интересный момент из всего вашего поста По сути, вы сейчас упомянули возможность поиметь пул (фактически, других "батраков"). Другими словами, мы присасываемся к пулу, далее что-то пытаемся там майнить и получаем процент от того, что намайнять другие (в соответствии с нашей долей в общем хешрейте пула). Однако, если мы вдруг волею судьбы сами находим блок, нам очевидно не выгодно посылать его в пул, а выгодно отправить в сеть самим как самостоятельному, индивидуальному майнеру. Логика мне подсказывает, что пулы должны как-то подстраховываться против подобного развития событий, если это, конечно, технически возможно, поскольку слишком велик соблазн и высока цена Очередное подтверждение того, что ты пытаешься умничать не зная очевидного. Пул включает в блок транзакции, coinbase транзакция в этом блоке - вознаграждение пула. Майнеру нашедшему требуемый хеш этого блока ничего не остаётся, кроме как отправить его пулу, потому как изменив адрес coinbase транзакции, хеш блока тоже внезапно изменится и хитрозадому придётся искать его заново уже самостоятельно. Не отправляя хеш пулу, майнер наёбывает в основном себя, так как хеш блока может найти другой пул и никакого вознаграждения этот майнер не получит вовсе.
|
|
|
|
amaclin1 (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 12:07:14 PM |
|
После проверки, нода пересылает другим нодам блок и публичные ключи отправителей транзакций. Это вообще хуета полная. Все - большая часть полных нод. Что делают кастрированные ноды мне малоинтересно. И какие же другие способы? SPV? Этот способ менее надёжен. В чём хуета? Ты знаешь как проверить подпись без публичного ключа? Или хочешь сказать ключи хранятся вечно? Про скрипты, я в курсе, если что. Во-первых, да, я знаю как проверить подпись без публичного ключа. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Это вовсе не секрет какой-то криптографический, просто это свойство ECDSA-криптографии, что публичный ключ может быть восстановлен из подписи и дайджеста ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Можете сами почитать про это - первая же ссылка в гугле по запросу "recover public key from signature" Во-вторых, не требуется отправлять "блок и публичные ключи", потому что эти публичные ключи и так есть часть транзакции и входят в блок вместе с транзакциями и да, они хранятся "вечно" (особенности сегвита пока не учитываем). Фраза "пересылает другим нодам блок и публичные ключи отправителей транзакций." это аналог фразы "я в магазине купил пакет молока и молоко" - ну бред же. Во-третьих, как можно рассуждать "мне неинтересно что делают кастрированные ноды" если с точки зрения стороннего наблюдателя вы не знаете - кастрированная это нода или нет? Берлога с медведем внешне ничем не отличается от берлоги без медведя ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Если палкой не тыкать ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Я не утверждал что понимаю процесс более, чем абстрактно, и даже не утверждал что моё понимание это истина. Но даже это понимание, заставляет меня сильно усомниться в правдивости утверждения, что наверху майнеры всё решили, а сеть слепо верит. Устал - не пиши, дело твоё. Почему майнеры наверху? Нет, они не наверху, они равны тебе. У тебя право принимать блоки обычного биткойна, или биткойн-кэша/биткойн-голда/биткойн-s2x или вообще есть право нажать на крестик, не принимать ничьи блоки и пить пиво. И такое же право у каждого человека в сети. Нет никаких "регуляторов" или "полицейских". Каждый вправе идти в любую сторону, но удаляться в одиночку от стада индивидууму не выгодно. По сути, вы сейчас упомянули возможность поиметь пул (фактически, других "батраков"). Другими словами, мы присасываемся к пулу, далее что-то пытаемся там майнить и получаем процент от того, что намайнять другие (в соответствии с нашей долей в общем хешрейте пула). Однако, если мы вдруг волею судьбы сами находим блок, нам очевидно не выгодно посылать его в пул, а выгодно отправить в сеть самим как самостоятельному, индивидуальному майнеру. Нет, не выйдет такое. Чтобы послать блок в сеть надо иметь по сути дела не только "заготовку для майнинга", но и сами транзакции. Сами транзакции владельцу асика нужны как зайцу стопсигнал, поэтому никто никогда их не передавал. Это лишний трафик. Но это минорная проблема - дело в том что владелец асика обсчитывает "заготовку" где уже прописан адрес владельца пула. Изменить этот адрес после нахождения nonce вы не сможете. Очередное подтверждение того, что ты пытаешься умничать не зная очевидного. Пул включает в блок транзакции, coinbase транзакция в этом блоке - вознаграждение пула. Майнеру нашедшему требуемый хеш ничего не остаётся, кроме как отправить блок в сеть, потому как изменив адрес в coinbase транзакции, хеш блока тоже внезапно изменится и хитрозадому придётся искать его заново. У владельца асика нет "блока" чтобы послать его в сеть. Ему дали 80 байт заголовка этого блока (на самом деле чуть побольше, но я уж в дебри стратум-протокола не лезу, это непринципиально) Так вот. У владельца асика есть 80 байт из которых 76 байт неизменные и 4 байта - произвольные. Асик перебирает все значения этого числа от 0 до 0xFFFFFFFF и если sha256d от этих данных начинается с нескольких нулей - отправляет результат на пул. Блока у владельца асика просто нет.
|
|
|
|
deisik
Legendary
Offline
Activity: 3486
Merit: 1280
English ⬄ Russian Translation Services
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 21, 2017, 12:07:43 PM |
|
Если я чего-то не знаю, я об этом сразу пишу
Но тебя, видимо, уже настолько переклинило, что ты даже признание в отсутствии информации по частному вопросу воспринимаешь как попытку "выглядеть самым умным". Я тебе ещё раз говорю, что проверяют ноды транзакции или нет (сразу уточняю, что имею в виду негенерящие ноды), абсолютно не важно, потому что максимум, что они могут сделать, это не пустить левую транзакцию дальше в сеть. Никаким другим образом на блокчейн они повлиять не могут. Простые ноды не могут писать в блокчейн, потому что "писать в блокчейн" означает находить новые блоки. С чем ты пытаешься спорить?
Проблема в том что ты не знаешь, но считаешь нужным постить отсебятину пртендуя на роль знающего. Вот ответ на могут писать в блокчейн процитирую Амаклина Тебе что заняться больше нечем? Я тебе ещё раз повторяю, в блокчейн добавлять блоки могут только майнеры, негенерирующие ноды ничего добавить в блокчейн не могут. Лично у себя на компьютере ты можешь изменить блокчейн так, как считаешь нужным, можешь даже выписать себе чек (зачёркнуто) транзакцию на миллион биткоинов и подтвердить её (в этом была мысль поста, на который ты ссылаешься, как я его понял), но это не будет иметь никакого отношения к реальности, потому что твоя версия блокчейна будет отвергнута майнерами по понятным причинам. Почему ты на других людей стрелки пытаешься перевести (причём абсолютно не в тему), тебе что самому сказать нечего? Очередное подтверждение того, что ты пытаешься умничать не зная очевидного
Иди гусей паси
|
|
|
|
|