Bitcoin Forum
October 05, 2024, 01:04:00 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 [5]  All
  Print  
Author Topic: Замусоривание блокчейна  (Read 931 times)
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
August 15, 2024, 09:16:21 AM
 #81

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

Итак.
Возьмем транзакцию https://mempool.space/ru/tx/54ce1cb7d23ba80d058a66cdfe16cbafb9fc55af6d591e975499fb1f7174d3d2
Это закрытие канала между (ну, короче сами посмотрите, там все написано)
После закрытия канала часть бабла ушла одному концу канала, часть другому. Тут всё понятно
И ещё эта транзакция закрытия канала создала два выхода по 330 сатоши. Для чего, спросите вы?
А для того, чтобы, если эта транзакция закрытия каналов зависла бы из-за недостатка комиссии в момент загруженности сети, то каждый из "концов" этого канала смог бы, используя эти "довески" её попытаться пропихнуть.
Но! Что мы видим? Всё и так прошло штатно (на момент написания мною этого текста транзакция имеет 3 подтверждения, а в блок она попала всего-навсего ожидая 13 минут -- это нормально)
Довески не понадобились, а использовать их сперва могут только "стороны этого канала".
И что? Кто-то будет париться из-за одинокого utxo в 330 сатоши? Человек точно не будет. Однако, и та, и другая сторона решили утилизировать эти "хвостики", соответственно в транзакциях
https://mempool.space/ru/tx/589e55cb488303fcd03f5dd8ae379f19de0ba6771c347bd54b1d7e3f1ba08234
https://mempool.space/ru/tx/182c924ab48c61eff1073b94238028d00ed9e2c577601af971606d8640670ada
Повторюсь, эти две транзакции появились в сети после того, как транзакция закрытия канала была помещена в блок.

А смысл? Первый заплатил 1785 сатоши за 330 сатоши, второй ещё круче -- заплатил 4529 сатоши за 330 сатоши
Плюс две лишние транзакции в блокчейне.

Я не верю, что это делалось руками, скорее всего лайтнинг-клиент сам решает "а давай-ка я сделаю CPFP для транзакции, несмотря на то, что она уже подтверждена в блоке, мне похуй на хозяйские деньги"

Update: единственное разумное объяснение, это то что канал был в некотором роде "тестовый" (он действительно просуществовал недолго) и стороны не парились особо над расходами и комиссиями. Но об этом должны париться разработчики клиента!
igor72
Legendary
*
Offline Offline

Activity: 1988
Merit: 2066


Crypto Swap Exchange


View Profile
August 15, 2024, 11:04:15 AM
 #82

Не, ну разработчики лайтнинга -- странные люди.
Вроде бы лайтнинг был создан для того, чтобы уменьшить расходы и освободить другим место для транзакций в блокчейне.
На деле же херня творится.
Почему? Расходы уменьшаются, место в блокчейне экономится. Если, конечно, лайтнинг-канал открывается не ради одного-двух платежей.
Quote
Возьмем транзакцию https://mempool.space/ru/tx/54ce1cb7d23ba80d058a66cdfe16cbafb9fc55af6d591e975499fb1f7174d3d2
Это закрытие канала между (ну, короче сами посмотрите, там все написано)
После закрытия канала часть бабла ушла одному концу канала, часть другому. Тут всё понятно
И ещё эта транзакция закрытия канала создала два выхода по 330 сатоши. Для чего, спросите вы?
А для того, чтобы, если эта транзакция закрытия каналов зависла бы из-за недостатка комиссии в момент загруженности сети, то каждый из "концов" этого канала смог бы, используя эти "довески" её попытаться пропихнуть.
Мне не очень понятно, зачем эти дополнительные utxo, особенно два. Если они принадлежат пользователям канала, то почему бы пользователю в случае зависона просто не сделать cpfp своего основного выхода? А если принадлежат посреднику, то хватило бы и одного дополнительного. Может, там какая-то другая задумка?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
August 15, 2024, 11:47:47 AM
Last edit: August 15, 2024, 12:03:01 PM by amaclin1
 #83

Мне не очень понятно, зачем эти дополнительные utxo, особенно два. Если они принадлежат пользователям канала, то почему бы пользователю в случае зависона просто не сделать cpfp своего основного выхода? А если принадлежат посреднику, то хватило бы и одного дополнительного. Может, там какая-то другая задумка?
Они принадлежат именно владельцам нод -- там внутри у них (при трате) публичный ключ ноды.
(Если посоветуете мне хостинг картинок -- я вам тогда на картинках смогу показывать, imgur почему-то у меня не работает в связке с bct)
Да, этот вопрос меня самого в тупик ставит -- если одной из сторон канала надо пропихнуть транзакцию -- значит у неё есть баблосы на выходе. А значит из этих баблосов можно организовать CPFP. А если канал закрывается "в одну сторону", то другая сторона (та которая пустая в результате) в закрытии канала и не заинтересована вовсе. Гори оно всё синим пламенем.

Я еще покурю сорцы и почитаю обсуждения, потом может вернусь к теме. Моего знания английского недостаточно, чтобы в простынях текста найти здравое зерно.

Может там логика "если сторона А попытается на#бать сторону Б, то сторона Б (используя все имеющиеся у нее возможности, в том числе хвостик) сможет наказать сторону А рублем по самые гланды"
igor72
Legendary
*
Offline Offline

Activity: 1988
Merit: 2066


Crypto Swap Exchange


View Profile
August 15, 2024, 11:58:51 AM
 #84

хостинг картинок
https://www.talkimg.com/

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
August 15, 2024, 12:24:20 PM
 #85

Закрытие канала
Картинка со страницы https://mempool.space/ru/tx/54ce1cb7d23ba80d058a66cdfe16cbafb9fc55af6d591e975499fb1f7174d3d2
Синим и красным я выделил публичные ключи нод и стрелочками обозначил подписи (обычный мультисиг 2-из-2)


Трата первого "хвостика"
Картинка со страницы https://mempool.space/ru/tx/589e55cb488303fcd03f5dd8ae379f19de0ba6771c347bd54b1d7e3f1ba08234#vin=1


Трата второго "хвостика"
Картинка со страницы https://mempool.space/ru/tx/182c924ab48c61eff1073b94238028d00ed9e2c577601af971606d8640670ada#vin=0

amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
August 15, 2024, 12:48:02 PM
 #86

В то же самое время есть транзакции закрытия каналов, которые из-за недостатка комиссии никак не могут попасть в блок.
И висят они в мемпуле, как будто владельцы забыли про них. Причем, суммы достаточно ощутимые
https://mempool.space/ru/tx/eb7447df1615a81ba383899e51428556a3e38b43cdd8294893ffe8c8aca1db89 3 недели назад
https://mempool.space/ru/tx/5fbb28f57807b2c3bdb1cafbb507bb0ab0b428974fcdf77b99a3ee3c490625b8 4 месяца назад
https://mempool.space/ru/tx/30d086deb442cd464643f3110b068c7e7ff183a4c7288ea83ee8e3b1d9a7848a 7 месяцев назад
(это не все, я нашел больше)
internetional
Legendary
*
Offline Offline

Activity: 1610
Merit: 2026



View Profile WWW
August 16, 2024, 10:24:57 AM
 #87

В то же самое время есть транзакции закрытия каналов, которые из-за недостатка комиссии никак не могут попасть в блок.
Такое может быть при закрытии канала нодой Greenlight.

Greenlight не позволяет стороне канала напрямую распоряжаться выходом транзакции его закрытия. Там нужно отдельной операцией запросить у сервера Greenlight перевод выхода на подконтрольный тебе адрес. Поэтому при недостатке комиссии некому протолкнуть транзакцию. Только сервер Greenlight может это сделать. Но для этого ему придётся волюнтаристски распорядиться чужими деньгами, временно попавшими под его контроль. А тут могут возникнуть юридические проблемы.
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
August 16, 2024, 10:59:38 AM
 #88

Greenlight не позволяет стороне канала напрямую распоряжаться выходом транзакции его закрытия.
Мы, наверное, о разных реализациях говорим. Если покажете пример этого самого Greenlight -- я смогу прокомментировать.
Я говорю о том, что я вижу своими глазами.
а) При закрытии канала создаются два хвостика (бывают исключения, но я сейчас о самом распространенном кейсе)
б) Эти хвостики имеют вполне определенный скрипт для траты
<публичный ключ ноды> OP_CHECKSIG OP_IFDUP OP_NOTIF OP_16 OP_CSV OP_ENDIF
в) особенность этого utxo в том, что его может потратить (то есть отправить транзакцию траты) только владелец этого публичного ключа/ноды сразу же после опубликования транзакции закрытия канала в сети либо любой желающий после 16 подтверждений транзакции закрытия канала
г) за несколько лет в блокчейне накопилось дох#я таких хвостиков, а какой-то перец настроил себе робота и каждый день ~ в 9 утра по московскому времени забирал себе невостребованные хозяевами хвостики за последние сутки (разумеется, никакой гео-привязки я не имею, может он японец и для него это вечер)
д) я прошерстил блокчейн за последние несколько лет, теперь там такой халявы не осталось. А владелец этого утреннего робота-пылесоса на меня обиделся, что я покусился на его каждодневный профит и теперь отправляет все хвостики в OP_RETURN исходя из известного принципа "так не доставайся же ты никому"
internetional
Legendary
*
Offline Offline

Activity: 1610
Merit: 2026



View Profile WWW
August 16, 2024, 11:20:25 AM
 #89

Мы, наверное, о разных реализациях говорим. Если покажете пример этого самого Greenlight -- я смогу прокомментировать.
Я говорю о том, что я вижу своими глазами.
а) При закрытии канала создаются два хвостика (бывают исключения, но я сейчас о самом распространенном кейсе)
б) Эти хвостики имеют вполне определенный скрипт для траты
<публичный ключ ноды> OP_CHECKSIG OP_IFDUP OP_NOTIF OP_16 OP_CSV OP_ENDIF
Да, это совсем другая история. У Гринлайта, конечно, такого нет.
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
October 03, 2024, 09:06:12 AM
Merited by Julien_Olynpic (2), igor72 (1)
 #90

Немного поколупался ещё
Оказывается, это началось еще три года назад (может еще раньше)
Вот https://www.blockchain.com/explorer/addresses/btc/bc1qtwpslpqq63ynhtpc5xjhj8t0f09gnw592aqzyet5vxtgnm2zekrsvvyvdr
330 сатоши приехали на адрес bc1qtwpslpqq63ynhtpc5xjhj8t0f09gnw592aqzyet5vxtgnm2zekrsvvyvdr ещё в феврале 2021 года, а были консолидированы (~700 входов у транзакции в 143 килобайта) в январе 2022
Но тогда комиссии были еще божеские.
Интересно, кто же это делает? Я докопаюсь! Меня любопытство гложет!
Стоит отметить, что разработчеги озаботились этой проблемой.
Причем примерно в то же самое время, что и я.
В августе. А мой пост был в июле.
Только они канителились три года, а я эту проблему нашел через месяц после того, как включил свой новый компьютер и с нуля переписал (на это как раз месяц и ушёл) анализатор интересностей в блокчейне.
Они вводят новый стандартный тип адреса в клиенте Satoshi:28
Раньше у нас были P2PK, P2PKH, P2SH и так далее. Десяток уже набралось или около того.
Теперь у нас новый тип стандартного скрипта будет: P2A (pay-to-anchor)
Причем под этот новый паттерн попадает... вы удивитесь... барабанная дробь... один адрес!
https://mempool.space/address/bc1pfeessrawgf

satscraper
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1576



View Profile
October 03, 2024, 10:22:23 AM
 #91

Теперь у нас новый тип стандартного скрипта будет: P2A (pay-to-anchor)
Причем под этот новый паттерн попадает... вы удивитесь... барабанная дробь... один адрес!
https://mempool.space/address/bc1pfeessrawgf



Почитал про этот P2A скрипт. Как я понял потенциально  опасная вещь, так как оставляет выходы не подписанными, отдавая их на откуп  любому желающему.  Будут в основном  использоваться в проблематичных LN  каналах ( хотя может быть и не так понял с первого взгляда их предназначение). Какова ещё цель таких скриптов?

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
amaclin1 (OP)
Sr. Member
****
Offline Offline

Activity: 896
Merit: 343


View Profile
October 03, 2024, 10:41:31 AM
 #92

Почитал про этот P2A скрипт. Как я понял потенциально  опасная вещь, так как оставляет выходы не подписанными, отдавая их на откуп  любому желающему.
А три последних года было что-то иначе?  Grin
Любых желающих заниматься выходами по 330 сатоши на всей Земле дай бог пять человек за три года набралось.
Quote
Какова ещё цель таких скриптов?
Я хз.
Там какая-то непонятная мне тема. Вернее, понятная только в самых общих чертах.
При функционировании лайтнинг-канала мы в каждый момент времени с момента создания канала должны помнить, что
а) наш контрагент спит и видит как нас наебать
б) наш контрагент имеет право захотеть закрыть канал в любую секунду
в) наш контрагент имеет право не согласиться на предложение о закрытии канала с каким-то обоюдным распределением комиссии за транзакцию
г) комиссии в сети в моменте времени могут быть достаточно высокие

Короче, весь сыр-бор не про свадьбу, а про развод и сопряженный с ним раздел имущества в канале.
Так что заранее резервируется некая сумма на непредвиденные расходы. Причем таким образом, что другого штатного варианта без резервирования вроде как и нет.
Pages: « 1 2 3 4 [5]  All
  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!