Pages:
Author

Topic: Замусоривание блокчейна - page 4. (Read 1079 times)

member
Activity: 35
Merit: 4
Мне больше интересно, почему клиенты пула, рядовые майнеры подобное терпят, ведь пул их, получается, нагло обкрадывает?
А что им, революцию устраивать? Ну один-два обидятся. Остальным пох. Они не заморачиваются.
В своё время (уже больше 10 лет назад) когда были он-чейн казино один админ пула в случае проигрыша ставки (а результат определялся в момент публикации транзакции в сети, а не в момент включения транзакции в блок) заменял в своем пуле транзакцию на даблспенд. В случае если его пул майнил следующий блок -- его ставка не проигрывала. Таким образом он доводил процент выигрышей до "чаще 50%" и по сути дела играл в казино в плюс. Ну пожурили его на форуме, сказали "ай-яй-яй". А по факту в мире биткойна он ничего не нарушил.
Казино Satoshidice и пул 50btc?
sr. member
Activity: 770
Merit: 305
Мне больше интересно, почему клиенты пула, рядовые майнеры подобное терпят, ведь пул их, получается, нагло обкрадывает?
А что им, революцию устраивать? Ну один-два обидятся. Остальным пох. Они не заморачиваются.
В своё время (уже больше 10 лет назад) когда были он-чейн казино один админ пула в случае проигрыша ставки (а результат определялся в момент публикации транзакции в сети, а не в момент включения транзакции в блок) заменял в своем пуле транзакцию на даблспенд. В случае если его пул майнил следующий блок -- его ставка не проигрывала. Таким образом он доводил процент выигрышей до "чаще 50%" и по сути дела играл в казино в плюс. Ну пожурили его на форуме, сказали "ай-яй-яй". А по факту в мире биткойна он ничего не нарушил.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Ну да, изменить правила, действующие на уровне протокола он конечно не может, но вот принять плату вне блокчейна (кэшем например)за  нестандартную транзакцию транзакцию, которая не соответствует дефолтным настройкам ноды, да ещё и не обнародовать эту транзакцию перед её включением в блок,  он оказывается может. Это то, что я имел ввиду.
Понятно. Тут для меня новости нет, майнер может и комиссию нулевую ставить, и транзакции больше 100 вкб отправлять, и свой мемпул никому не показывать. Да и деньги за услуги может брать, кто ему помешает? Мне больше интересно, почему клиенты пула, рядовые майнеры подобное терпят, ведь пул их, получается, нагло обкрадывает?
hero member
Activity: 714
Merit: 1298
Вообщем-то да, если майнеру хорошо заплатить да ещё и мимо кассы, то он может любой муссор/транзакцию в блок засунуть с нарушением всех норм и правил. Вот пример такой транзакции https://mempool.space/tx/0301e0480b374b32851a9462db29dc19fe830a7f7d7a88b81612b9d42099c0ae
У майнера, конечно, больше возможностей, чем у простого юзера, но всё-таки правила он нарушать не может, тут вы немного преувеличили ).


Ну да, изменить правила, действующие на уровне протокола он конечно не может, но вот принять плату вне блокчейна (кэшем например)за  нестандартную транзакцию транзакцию, которая не соответствует дефолтным настройкам ноды, да ещё и не обнародовать эту транзакцию перед её включением в блок,  он оказывается может. Это то, что я имел ввиду.
sr. member
Activity: 770
Merit: 305
У меня только мысль, что нода из сети не видна (обычно за провайдерским натом без тора), но, полагаю, вы должны знать об этом. Других идей пока нет.
Опять же премного благодарен за подсказку. Я не знаю насчет топологии провайдера, думал, что он и исходящих соединений сделает писят. А так я всегда в батничек вставляю -listen=0 . Но вощем, надо против Робин Гуда бороться его же методами!
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Теперь буду смотреть как это реализовано и как помешать даблспенду. Единственная идея - подмешивать в транзакцию инпут, который нельзя просто так взять и заменить. Но не факт, что даблспенд не возможен от части транзакции. Надо пробовать.
Насколько я понимаю, никаких препятствий нет дабдспенднуть и один utxo, лишь бы абсолютное значение комиссии было больше, чем в  заменяемой транзакции (и более, чем на 1 сат/вб).
Quote
Еще обратил внимание что мой клиент (Core, разумеется у меня версия базы полная, без пруне) в списке узлов теперь некоторые пиры показывает тип: "полный ретранслятор" или "ретранслятор блоков"
У меня вопрос если знаете ответ. Вопрос из двух частей
1) если узел "ретранслятор блоков" то есть смысл к нему коннектиться для отправки транзакций? Или он только блоки ретранслирует? И смысла нет
Не знаю.
Quote
2) я для максимального распространения моей транзакции запустил клиента с опцией -maxconnections=50 . И что? И них#я! он показывает коннект к 10 пирам через час работы. Баг? Или я что-то неправильно понимаю?
У меня только мысль, что нода из сети не видна (обычно за провайдерским натом без тора), но, полагаю, вы должны знать об этом. Других идей пока нет.
sr. member
Activity: 770
Merit: 305
Да, были. Full-RBF появился (в 24 версии, кажется), теперь на нодах, где он включен, транзакции даблспендятся и без rbf-флага.
Премного благодарен за подсказку что и где искать. Теперь буду смотреть как это реализовано и как помешать даблспенду. Единственная идея - подмешивать в транзакцию инпут, который нельзя просто так взять и заменить. Но не факт, что даблспенд не возможен от части транзакции. Надо пробовать.
Еще обратил внимание что мой клиент (Core, разумеется у меня версия базы полная, без пруне) в списке узлов теперь некоторые пиры показывает тип: "полный ретранслятор" или "ретранслятор блоков"
У меня вопрос если знаете ответ. Вопрос из двух частей
1) если узел "ретранслятор блоков" то есть смысл к нему коннектиться для отправки транзакций? Или он только блоки ретранслирует? И смысла нет
2) я для максимального распространения моей транзакции запустил клиента с опцией -maxconnections=50 . И что? И них#я! он показывает коннект к 10 пирам через час работы. Баг? Или я что-то неправильно понимаю?
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
А в чем смысл было городить огород с ограничением размера блока? Чтобы не было спама? Ну так нашли способ, как в столитровую бочку наливать 400 литров не меняя правила. А кто-то и цистерну на три тонны налил (спасибо за ссылку на хитрую транзакцию, потом гляну повнимательнее).
Эти inscriptions стали возможным благодаря тапруту, а не сегвиту. Недосмотрели что-то там разрабы, ну теперь уж поздно, джина выпустили из бутылки.

Какие-то изменения в RBF последнее время были? Может я не учел этого? Раньше как-то транзакция успевала разойтись и даблспенднуть ее было не так просто.
Да, были. Full-RBF появился (в 24 версии, кажется), теперь на нодах, где он включен, транзакции даблспендятся и без rbf-флага.
sr. member
Activity: 770
Merit: 305
Не, ну обидно немного.
Вот стараюсь я, посылаю хитрую транзакцию
А по дороге ее перехватывает какой-то Робин Гуд (на него я уже обращал внимание), увеличивает в ней комиссию на децл и отправляет себе
https://www.blockchain.com/explorer/transactions/btc/17ff2104878f430fd7e16d9bc77f109392b830f11ead924ff8bd458b44995da0
Просто подарил ему 700 баксов честно найденные в блокчейне! Грр! (тут нужен злобный смайлик)
Какие-то изменения в RBF последнее время были? Может я не учел этого? Раньше как-то транзакция успевала разойтись и даблспенднуть ее было не так просто.
Придется как-то извращаться.
sr. member
Activity: 770
Merit: 305
У майнера, конечно, больше возможностей, чем у простого юзера, но всё-таки правила он нарушать не может, тут вы немного преувеличили ).
Есть правила, а есть полиси. Правила никто не может нарушать. Ну вернее все просто проигнорируют это нарушение, как будто человек и не делал ничего. Поэтому мы и не видим нарушений - караван идет дальше, кто нарушил -- тот просто отстал.

Quote
На китайском потому, что сатошин клиент его не понимает? Ну а как иначе прогрессировать? Да и сколько их осталось, тех древних нод? В общем, не вижу проблемы в переносе скриптов/подписей в witness-часть, по большому счету это ничего не меняет в плане проверяемости транзакций. Наверное, недостаточно глубоко понимаю предмет.
Отлично понимаете. Старому клиенту (если такие остались) просто показывают без витнес-части. А там всё гладко. Все загадки "да?", все разгадки "ну да!"

А в чем смысл было городить огород с ограничением размера блока? Чтобы не было спама? Ну так нашли способ, как в столитровую бочку наливать 400 литров не меняя правила. А кто-то и цистерну на три тонны налил (спасибо за ссылку на хитрую транзакцию, потом гляну повнимательнее).

Теоретически, есть возможность расширения биткойн-блока до бесконечности, причем он по-прежнему останется "мегабайт в старом исчислении".
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Вообщем-то да, если майнеру хорошо заплатить да ещё и мимо кассы, то он может любой муссор/транзакцию в блок засунуть с нарушением всех норм и правил. Вот пример такой транзакции https://mempool.space/tx/0301e0480b374b32851a9462db29dc19fe830a7f7d7a88b81612b9d42099c0ae
У майнера, конечно, больше возможностей, чем у простого юзера, но всё-таки правила он нарушать не может, тут вы немного преувеличили ).

Я помню Сатоши Накамото писал, что не все пользователи Биткоина будут использовать полные ноды, некоторым достаточно и лёгкого клиента (вроде сегодняшнего криптовалютного кошелька Electrum).
Electrum не совсем SPV-кошелек, о котором писал Сатоши, лишь отчасти.

Теперь в Segwit-V0 и Taproot загадка звучит "да пофиг, угадал", а всё остальная проверка вынесена в witness-часть. То есть scriptSig тоже пустой, ибо это самый простой ответ на такую загадку. А сама загадка, условно говоря, на китайском языке.

По факту, консенсус соблюден. Ничего не нарушено с 2009 года. Но это формально. По сути дела куча геморроя связанная с обратной совместимостью. И если в концепции Сатоши как-то подразумевалось "ну почти каждый может проверить используя популярные, общедоступные и стандартизированные средства", то сейчас уже это мало кому доступно. Идея потерялась. Осталась только вера в вечный туземун Smiley
На китайском потому, что сатошин клиент его не понимает? Ну а как иначе прогрессировать? Да и сколько их осталось, тех древних нод? В общем, не вижу проблемы в переносе скриптов/подписей в witness-часть, по большому счету это ничего не меняет в плане проверяемости транзакций. Наверное, недостаточно глубоко понимаю предмет.
sr. member
Activity: 770
Merit: 305
Если раньше для проверки блокчейна нужно было посчитать хеш транзакций в блоке, затем...
Прежде всего этого надо было проверить что транзакция сама по себе валидна.

Напомню: "выходы" и "входы" - это "загадка" и "разгадка"
Самые первые транзакции были P2PK, когда загадкой было "вот публичный ключ, дай подпись"  и разгадкой собственно "на тебе подпись этим ключом, проверяй!"
Потом появились P2PKH, загадка стала "вот хэш публичного ключа, предъяви его самого и подпиши им". Эти адреса мы знаем как 1ххххх
Потом появились P2SH, загадка стала "вот хеш загадки, предъяви загадку, и дай разгадку к ней, разумеется". Это 3ххххххх
Теперь в Segwit-V0 и Taproot загадка звучит "да пофиг, угадал", а всё остальная проверка вынесена в witness-часть. То есть scriptSig тоже пустой, ибо это самый простой ответ на такую загадку. А сама загадка, условно говоря, на китайском языке.

По факту, консенсус соблюден. Ничего не нарушено с 2009 года. Но это формально. По сути дела куча геморроя связанная с обратной совместимостью. И если в концепции Сатоши как-то подразумевалось "ну почти каждый может проверить используя популярные, общедоступные и стандартизированные средства", то сейчас уже это мало кому доступно. Идея потерялась. Осталась только вера в вечный туземун Smiley
legendary
Activity: 2338
Merit: 1775
Catalog Websites
hero member
Activity: 714
Merit: 1298


Всякие вопросы "сколько будут весить входы" беспокоят лишь создателей транзакций, если они трясутся над каждым сатоши комиссии. Всем остальным по#уй.

Вообщем-то да, если майнеру хорошо заплатить да ещё и мимо кассы, то он может любой муссор/транзакцию в блок засунуть с нарушением всех норм и правил. Вот пример такой транзакции https://mempool.space/tx/0301e0480b374b32851a9462db29dc19fe830a7f7d7a88b81612b9d42099c0ae


Просто подобные  ходы майнеров сильно не афишируются и мы мало о них знаем.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Сатоши нам что завещал? Типа каждый может проверить клиента и правильность алгоритма. Сейчас проверить алгоритм самого блокчейна -- это задача со многими звездочками.
Вот здесь мне непонятно, что вы имеете в виду. Если раньше для проверки блокчейна нужно было посчитать хеш транзакций в блоке, затем дерево Меркла, и, наконец, хеш заголовка блока, то с появлением сегвита работы стало в два раза больше по объему (дополнительно надо посчитать хеш witness, их дерево и сравнить с значением в op_return коинбейз-транзакции), но не по сложности. То есть те, кто раньше мог такое сделать, те и сейчас могут.
sr. member
Activity: 770
Merit: 305
Интересно было бы ознакомиться с популярным изложением (для не особо грамотных) работы подписей Шнорра.
Совсем уж на пальцах не могу пока внятно сам объяснить. Но в целом там разработчики избавились от каких-то конструкций, связанных с "стандартизацией". То есть там теперь нет завязок на "лишние" байтики. Приватный ключ - 32 байта (так и раньше было). Публичный ключ - 32 байта (было 33 или 65), подпись - 32+32 байта (раньше было переменной длины около 72 байтов). Крутим-вертим-хешируем -- если ответ сошелся -- значит подпись верная. А вот понять почему -- это пипец непонятно. Как там работают эллиптические кривые и почему вот такое умножение и сложение в группе -- это я пока не осилил. Должно улежаться в голове. Я, конечно, дискретную математику люблю. Первое знакомство еще в 9-ом классе было. Но эллиптические кривые -- это все-таки не школьная программа. Мы и в университетах это не проходили.
Quote
А сейчас уже нужна "третья сторона"? Алгоритм немного изменился, но в чем его ущербность?
Не совсем так, конечно. Сатоши нам что завещал? Типа каждый может проверить клиента и правильность алгоритма. Сейчас проверить алгоритм самого блокчейна -- это задача со многими звездочками. Думаю, считанное число людей в мире могут это. Остальным приходится полагаться просто на то, что клиент работает правильно. Мы все равно ушли от концепции "каждый сам себе банк"
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Вот посвятил прошлую неделю изучению Schnorr-алгоритмов. Интересно аж жуть. Могу теперь на пальцах рассказать.
Интересно было бы ознакомиться с популярным изложением (для не особо грамотных) работы подписей Шнорра.
Quote
Сатоши использовал алгоритмы ECDSA, он банально тупо подключил в свой код OpenSSL-библиотеку. Он, возможно и про компрессированные публичные ключи не знал, потому что использовал классические. Ну да ладно, его код прекрасно продолжил работу когда все стали использовать короткий вариант публичного ключа. Я не об этом.
Когда сделали сегвит -- это позволило весь консенсус-код забыть нахрен. Ща обьясню логику.
Основной принцип биткойна от Накамото: "вот вам алгоритм проверки и теперь пока у сети будет консенсус (общее мнение участников), то для операций не нужна третья сторона". Разработчики биткойна холили и лелеяли этот тезис (хотя в гениальности этого тезиса я сомневаюсь). Они не меняли принцип (в отличие от разработчиков хард-форков). Но теперь с помощью сегвита и тапрута вся идеология поменялась. Транзакции теперь из разряда "anyone-can-spend" (с точки зрения оригинального клиента 10-летней давности), а вся логика написана в скриптах внутри витнесс-части. То есть консенсус-соглашение вроде как не нарушено. Но на низком уровне всё изменилось.
А сейчас уже нужна "третья сторона"? Алгоритм немного изменился, но в чем его ущербность?
Quote
Как вам объяснить это? Ну представьте, в каком-то городе по какой-то причине решили что "можно ездить на телегах, а на автомобилях нельзя, потому что ДВС загрязняет воздух". Но умельцы внутрь телеги засунули ракетный двигатель. По факту - телега осталась телегой. И ДВС нет. Никто закон не нарушает. Но логика полностью перевернута.
Сомневаюсь, что это адекватная аналогия.
sr. member
Activity: 770
Merit: 305
Поскольку экономического смысла в этих транзакциях нет, значит присутствуют некие послания.
Да выяснили, что это некий побочный продукт реализации лайтнинга. У нас ведь как? Типа лайтнинг сделан был для того, чтобы не замусоривать блокчейн. Но что-то пошло не так  Grin.
Quote
Амаклин вроде биткойн-скептиком быть перестал или это ложное ощущение?
Ощущение ложное. Я по-прежнему считаю, что это дело на#бнется рано или поздно по объективной причине того, что поддерживать безопасность блокчейна слишком дорогое удовольствие. Но эта уверенность не мешает мне исследовать как всё это внутри работает. И в принципе, даже использование биткойнов я для себя не исключаю -- в наше страшное время другие способы перевода денег пропадают.
Вот посвятил прошлую неделю изучению Schnorr-алгоритмов. Интересно аж жуть. Могу теперь на пальцах рассказать. Сатоши использовал алгоритмы ECDSA, он банально тупо подключил в свой код OpenSSL-библиотеку. Он, возможно и про компрессированные публичные ключи не знал, потому что использовал классические. Ну да ладно, его код прекрасно продолжил работу когда все стали использовать короткий вариант публичного ключа. Я не об этом.
Когда сделали сегвит -- это позволило весь консенсус-код забыть нахрен. Ща обьясню логику.
Основной принцип биткойна от Накамото: "вот вам алгоритм проверки и теперь пока у сети будет консенсус (общее мнение участников), то для операций не нужна третья сторона". Разработчики биткойна холили и лелеяли этот тезис (хотя в гениальности этого тезиса я сомневаюсь). Они не меняли принцип (в отличие от разработчиков хард-форков). Но теперь с помощью сегвита и тапрута вся идеология поменялась. Транзакции теперь из разряда "anyone-can-spend" (с точки зрения оригинального клиента 10-летней давности), а вся логика написана в скриптах внутри витнесс-части. То есть консенсус-соглашение вроде как не нарушено. Но на низком уровне всё изменилось.
Как вам объяснить это? Ну представьте, в каком-то городе по какой-то причине решили что "можно ездить на телегах, а на автомобилях нельзя, потому что ДВС загрязняет воздух". Но умельцы внутрь телеги засунули ракетный двигатель. По факту - телега осталась телегой. И ДВС нет. Никто закон не нарушает. Но логика полностью перевернута.
legendary
Activity: 2660
Merit: 3710
Quote
Экономического смысла точно нет. Конечно, может кто-то верит, что такого рода действия вынуждают остальных юзеров платить больше комиссий и вообще нахваливать прекрасное будущее и туземун. А как вы думаете?
Одно время по этому поводу читал одну конспирологическую теорию (может даже не совсем бредовую), что это, мол, некто посылает некие знаки свои респондентам. А в этих рассылках, якобы, зашифрованы тайные послания по управлению ценой. Поскольку экономического смысла в этих транзакциях нет, значит присутствуют некие послания. Хотя также нельзя исключить что какие-то долбаёбы небедные пользователи забавляются  созданием головоломок для аналитиков блокчейна.
--------
Амаклин вроде биткойн-скептиком быть перестал или это ложное ощущение? Grin Grin Grin
sr. member
Activity: 770
Merit: 305
Но это и не надо знать, достаточно знать, сколько весит utxo на выходе моей транзакции, и сколько вбайтов займет доказательство его владения в следующей чужой. И сумму вбайт выхода и входа
Когда на пуле майнер выбирает из пула еще неподтвержденных в блок транзакций те, которые ему хочется включить в свой блок -- он не парится подсчетами сколько весят входы и выходы. Он просто отсеивает "нестандартные" транзакции. А в коде где-то зашит алгоритм (приблизительно) "если это сегвит-выход, минимальным допустимым пересылаемым значением является 330, если OP_RETURN ноль, все остальное 546". (Код клиента смотреть лень, меня от него тошнить начинает, но если хотите -- проверим вместе).

Тот же самый фильтр "стандартная/нестандартная" применяют узлы при пересылке транзакций, поэтому до пула нестандартные транзакции и не добираются.

Всякие вопросы "сколько будут весить входы" беспокоят лишь создателей транзакций, если они трясутся над каждым сатоши комиссии. Всем остальным по#уй.
Pages:
Jump to: