QWeB
|
|
February 11, 2019, 01:01:01 PM Last edit: February 11, 2019, 01:33:02 PM by QWeB |
|
... Просто интересно, как-то такой вариант атаки учтен и есть способ борьбы с ним?
Хорошая идея. Проверять её я конечно не буду. Для её реализации потребуется: 1) создать исходящий канал в размере блокируемого платежа на стороне А; 2) добиться от кого-то входящего канала на сумму блокируемого платежа на стороне Б; По моему опыту, платежи сейчас проходят в среднем через 2-3 ноды (одна из которых предоставила ликвидность). Соответственно, для блокировки сети потребуется примерно около 100 таких цепочек и соответствующие суммы в каналах (1/3 от ёмкости блокируемых цепочек, не только в каналах от А, но и во входящих каналах к Б). Проведу мыслительный эксперимент: Когда запустится эта адская машина, тот, кто дал входящую ликвидность Б, увидит в логах что-то не ладное и отрубит канал к Б. И, вообще, нужно ещё поискать тех, кто даст столько входящей ликвидности... Чем-то похожим (надеюсь, в научных целях) судя по моим логам занимался Rompert.com (блокировал канал, но не проводил транзакцию) "pending_htlcs": [ { "incoming": true, "amount": "50003", "hash_lock": "Rompert/made/this///////////////zoecddcSV8A=", "expiration_height": 0 }, { "incoming": true, "amount": "26124", "hash_lock": "Rompert/made/this///////////////OFwRcw7zRpE=", "expiration_height": 0 }, { "incoming": true, "amount": "34904", "hash_lock": "Rompert/made/this///////////////RuSE4XvLido=", "expiration_height": 0 }, { "incoming": true, "amount": "17328", "hash_lock": "Rompert/made/this///////////////HpKpsQs1sdY=", "expiration_height": 0 }, { "incoming": true, "amount": "36102", "hash_lock": "Rompert/made/this///////////////SRsp2EtnNow=", "expiration_height": 0 }, { "incoming": true, "amount": "18211", "hash_lock": "Rompert/made/this///////////////gRJbZjJh0iQ=", "expiration_height": 0 }, { "incoming": true, "amount": "18371", "hash_lock": "Rompert/made/this///////////////DGAsh3HgCYU=", "expiration_height": 0 }, { "incoming": true, "amount": "26588", "hash_lock": "Rompert/made/this///////////////L8AwVTmLf9Y=", "expiration_height": 0 } ],
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
February 11, 2019, 01:53:28 PM |
|
... Просто интересно, как-то такой вариант атаки учтен и есть способ борьбы с ним?
Для её реализации потребуется: 1) создать исходящий канал в размере блокируемого платежа на стороне А; 2) добиться от кого-то входящего канала на сумму блокируемого платежа на стороне Б; Исходящие каналы вроде нет проблем создавать. Входящий со стороны Б - тоже не вижу проблем. Можно сделать исходящий и сделать один платеж в А. Атака не зависит от размера платежа, поэтому совершенно не нужно создавать толстые каналы. По моему опыту, платежи сейчас проходят в среднем через 2-3 ноды (одна из которых предоставила ликвидность).
Соответственно, для блокировки сети потребуется примерно около 100 таких цепочек и соответствующие суммы в каналах (1/3 от ёмкости блокируемых цепочек, не только в каналах от А, но и во входящих каналах к Б).
Так как маршрут составляет отправитель, то длина маршрута может быть ограничена только технически. А суммы же можно брать самые маленькие. А если длина маршрута будет очень длинной, то очень с большой вероятностью транзакция прервется, не доходя до Б. Проведу мыслительный эксперимент: Когда запустится эта адская машина, тот, кто дал входящую ликвидность Б, увидит в логах что-то не ладное и отрубит канал к Б. И, вообще, нужно ещё поискать тех, кто даст столько входящей ликвидности...
Б можно и замаскировать. Создать перед Б свою еще одну ноду М. И маршруты делать через -> М -> Б Или же Б будет сообщать, что транзакция прерывается не на нем, а дальше. Если кто-то будет отрубать каналы в результате атаки, то считай, что злоумышленник уже добился своей цели. Где гарантия, что точно вычислили. p/s/ По поводу "1/3 от ёмкости блокируемых цепочек" не понял. Возможно, у меня не хватает знаний.
|
|
|
|
QWeB
|
|
February 11, 2019, 02:18:52 PM Last edit: February 11, 2019, 02:40:51 PM by QWeB |
|
p/s/ По поводу "1/3 от ёмкости блокируемых цепочек" не понял. Возможно, у меня не хватает знаний.
Да не, это у меня не хватило глубины погружения в вашу мрачную идею. Я думал, вы не планируете переписывать ядро ноды (построение маршрутов). Действительно, чтобы заблокировать большой канал достаточно минимального платежа (но если не модернизировать построение маршрутов, то и блокироваться будут мелкие каналы по кратчайшему пути). И отмену после блокировки можно не посылать, пусть блокировка по таймауту отваливается. Вот тут год назад что-то похожее обсуждали: https://www.reddit.com/r/btc/comments/7mh89n/new_attack_vector_on_the_lightning_network/Как показывает история биткоина, всё, что бесплатно (условно бесплатно), можно заспамить.
|
|
|
|
QWeB
|
|
February 11, 2019, 03:20:50 PM |
|
GoodLN_BTC моя Запущено будет серия серверов, пока что все на старте. Если у кого есть предложения открытия ответных каналов,... пишите в ЛС. Я вижу у вас стали появляться новые ноды. Как вы решили проблему резервирования каналов? П.С. Открыл ответный канал, как обещал. Платёж ждёт подтверждения.
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
February 11, 2019, 04:31:53 PM |
|
Спасибо за ссылку. Да, идея похожая. Никакого решения проблемы в обсуждении нет. Было год назад, надеюсь, разработчики нашли какое-то решение. Не думаю, что они надеются, что никто так делать не будет. Будет смешно.
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
February 11, 2019, 05:00:57 PM |
|
А насчет планов внедрения LN в кошелек core ничего не слышно?
|
|
|
|
QWeB
|
|
February 11, 2019, 07:06:47 PM |
|
Спасибо за ссылку.
Спасибо за конструктивный диалог! По безопасности много идей, но они пока не включены в текущие сборки. На данном этапе это не актуально, т.к. сеть пока не работает как платёжный инструмент, только как демонстрационный вариант.
|
|
|
|
vovannovig2
Member
Offline
Activity: 714
Merit: 11
|
|
February 12, 2019, 06:42:00 AM |
|
Я вижу у вас стали появляться новые ноды. Как вы решили проблему резервирования каналов?
Серверная с разными трассами включения,маршрутизаторами... ... Виртуализация серверов...+ локальный бекап... в моем распоряжении. Меня больше волнует то что есть как у меня сейчас Eclair, есть lnd... вот к примеру вышло обновления у lnd и нужно пересоздавать каналы при обновлении(насколько помню когда релиз читал так было указано) к Eclair с мобильного подключаться не хочет ( к моему ), нужно разбираться что предпочтительнее юзать, унифицирование и конечно удобнее. За пару дней заметил что некоторые каналы часто бывают offline ... На сайтах время непрерывной работы ни где не отображается ... проблема у них, в протоколе или разных клиентах - не понятно. В общем дело интересно но требует длительно изучения материалов.P.S.> За канал спасибо
|
|
|
|
QWeB
|
|
February 12, 2019, 06:53:33 AM |
|
Я вижу у вас стали появляться новые ноды. Как вы решили проблему резервирования каналов?
Серверная с разными трассами включения,маршрутизаторами... ... Виртуализация серверов...+ локальный бекап... в моем распоряжении. Меня больше волнует то что есть как у меня сейчас Eclair, есть lnd... вот к примеру вышло обновления у lnd и нужно пересоздавать каналы при обновлении(насколько помню когда релиз читал так было указано) к Eclair с мобильного подключаться не хочет ( к моему ), нужно разбираться что предпочтительнее юзать, унифицирование и конечно удобнее. За пару дней заметил что некоторые каналы часто бывают offline ... На сайтах время непрерывной работы ни где не отображается ... проблема у них, в протоколе или разных клиентах - не понятно. В общем дело интересно но требует длительно изучения материалов.P.S.> За канал спасибо Да что-то зависла в мемпуле транзакция по каналу. По поводу offline я тоже пока не разобрался, т.к. при этом айпишник и порт пингуется. Последнее время обновлялся без пересозданя каналов, просто останавливал ноду, ставил обновление и снова запускал. И, по моим наблюдениям, лучше меньше каналов, да толще
|
|
|
|
amaclin1
|
|
February 12, 2019, 07:24:39 AM |
|
Почитал я тут ваши диалоги. В мозгу нарисовался образ книжки "Настройка LN для чайников" (Это я не к тому, что хочу чтобы вы это выпустили в печатном варианте, а к тому, что надо бы ушлым товарищам из издательства уже подсуетиться)
|
|
|
|
dariloff
|
|
February 12, 2019, 08:56:37 AM |
|
Почитал я тут ваши диалоги. В мозгу нарисовался образ книжки "Настройка LN для чайников" (Это я не к тому, что хочу чтобы вы это выпустили в печатном варианте, а к тому, что надо бы ушлым товарищам из издательства уже подсуетиться)
Ещё настолько ранняя стадия, что даже издатели ещё чайники. Нихрена непонятно. Вчера открыл 2 канала, сегодня пишет - минимум на открытие канала 0.16BTC. Это с чего вдруг? Баланс периодически обнуляется, каналы уходят в офлайн, api просто со списком открытых каналов не сыскать.
|
|
|
|
QWeB
|
|
February 12, 2019, 09:22:55 AM Last edit: February 12, 2019, 10:14:50 AM by QWeB |
|
сегодня пишет - минимум на открытие канала 0.16BTC
0.16BTC это текущий максимум канала, вообще-то. А что там за реализация у вас и какая версия? Я такие штуки последний раз в апреле 2018 наблюдал, давно уже всё стабильно (более-менее). Баланс ончейн на эклере у меня однажды уполовинивался
|
|
|
|
amaclin1
|
|
February 12, 2019, 10:14:59 AM |
|
Ещё настолько ранняя стадия, что даже издатели ещё чайники. Нихрена непонятно. Тут ведь такое дело: кто умеет работать - работает, кто не умеет - учит. Мне вот попалась книга год назад "Технологии блокчейн" https://img-gorod.ru/web/261/2618794/jpg/2618794_detail.jpgТак вот - в ней обнаружилось информации чуть меньше, чем ничего. То есть автор на несколько сот страниц размазал воду, о том, как блокчейн спасет все отрасли хозяйства, но о самой технологии ни сказал ни слова. По идее, чтобы разобраться - надо как раз писать мануал для чайников. Мне лично это помогало привести в порядок мысли. Да и люди вокруг - не звери, если видят какие-то ошибки, описки, опечатки сделанные по незнанию - поправят и подскажут. Хуже, если куча ламеров (а посетители этого формума именно такими мне видятся) начинают штамповать мифы и друг друга в эти легенды заставляют верить. Я удивлен, что вы с завидным упорством занимаетесь этими нодами и каналами. Бог в помощь, кто я такой чтобы судить, что могут, а что не могу делать другие в свободное время. Я бы начинал с технической части - как формируются каналы, что хранится на нодах, как выстраивается маршрутизация. А потом уже более понятно будет - как работает собственно нода, что она пишет в лог и почему сделано так, а не иначе.
|
|
|
|
dariloff
|
|
February 13, 2019, 11:40:09 AM |
|
Решил написать небольшой отчёт по транзакциям, прошедшим через мою ноду. Нода была переведена в октябре на "движок" LND. Сейчас у нее 37 каналов. Ниже приведу обезличенную статистику только по каналам, по которым были транзакции: "total_satoshis_sent": "32707", "total_satoshis_received": "31785",
"total_satoshis_sent": "0", "total_satoshis_received": "370240",
"total_satoshis_sent": "184016", "total_satoshis_received": "0",
"total_satoshis_sent": "1000", "total_satoshis_received": "50004",
"total_satoshis_sent": "26124", "total_satoshis_received": "0", "total_satoshis_sent": "147648", "total_satoshis_received": "0", "total_satoshis_sent": "40743", "total_satoshis_received": "0",
"total_satoshis_sent": "18480", "total_satoshis_received": "2001",
"total_satoshis_sent": "0", "total_satoshis_received": "2000",
Слушай, у где ты эту статистику дёргаешь? В rpc не нашёл такой команды. Где-то в логах?
|
|
|
|
QWeB
|
|
February 13, 2019, 11:48:57 AM Last edit: February 13, 2019, 12:05:16 PM by QWeB |
|
Слушай, у где ты эту статистику дёргаешь? В rpc не нашёл такой команды. Где-то в логах?
...а потом удаляю всё лишнее П.С. - для красоты, можно без него
|
|
|
|
QWeB
|
|
February 15, 2019, 10:40:16 AM |
|
Новость из мира Lightning! Всем известно, что сеть лайтнинг можно построить на чём угодно, где есть смарт-кантракты (даже на физических банковских ячейках). Но что делать, если у монеты смарт-контрактов нет? С мультисигом всё более менее понятно, но как быть с Hash Time Locked (с временными блокировками)? Ответ: нужно изобрести смарт контракты без смарт контрактов (scriptless scripts)! По этому пути планируют пойти разработчики Beam. Эта монета сделана на базе Mimblewimble и не имеет места для скриптов. Они пишут, что будут инкапсулировать скрипты в подписи (encoding the script into a signature instead)! https://docs.beam.mw/Beam_lightning_network_position_paper.pdfП.С. интересно было почитать комментарии под этой новостью в твиттер. Сообщество BEAM негодуЭ, что контора продалась Лайткоину! (хочется процитировать Лаврова, но какая монета, такое и комьюнити).
|
|
|
|
amaclin1
|
|
February 15, 2019, 11:03:46 AM |
|
Всем известно, что сеть лайтнинг можно построить на чём угодно, где есть смарт-контракты... Не всем известно. Я, допустим, не мог (и не могу ещё) сказать, что это мне известно. Обещаю подумать. В принципе (если я правильно понимаю) лайтнинг - это система взаимозачетов основанная на каналах между участниками, в отличие от традиционной финансовой системы, основанной на депозите/корсчете в клиринговом центре (то бишь в центробанке). Ну, я так, на пальцах пытаюсь объяснить. Нужно ли в Mimblewimble пытаться встроить лайтнинг? По-моему, это делается только для поднимания информационного фона вокруг монеты. Чтобы раскачать курс и кому-то срубить обычного бабла.
|
|
|
|
|
QWeB
|
|
February 16, 2019, 05:28:52 AM |
|
ИМХО, не получится таким способом решать проблему, т.к. у тех, кто занимаются торговлей все каналы имеют разбалансировку в одну сторону. Это связано с тем, что биткоин и лайтнинг экономика не замкнуты, т.е. тем кто занимается торговлей необходимо продавать все полученные биткоины, чтобы платить налоги и закупать товар. Т.е. они получают биткоины через лайтнинг, но не платят ими через лайтнинг, от этого дисбаланс, решить который можно только переоткрытием каналов.
|
|
|
|
dariloff
|
|
February 16, 2019, 06:41:23 AM Last edit: February 19, 2019, 07:12:53 AM by dariloff Merited by chimk (5), QWeB (1) |
|
ИМХО, не получится таким способом решать проблему, т.к. у тех, кто занимаются торговлей все каналы имеют разбалансировку в одну сторону. Это связано с тем, что биткоин и лайтнинг экономика не замкнуты, т.е. тем кто занимается торговлей необходимо продавать все полученные биткоины, чтобы платить налоги и закупать товар. Т.е. они получают биткоины через лайтнинг, но не платят ими через лайтнинг, от этого дисбаланс, решить который можно только переоткрытием каналов. Ну да, утром соображается быстрее. Но для транзитных нод это всё равно выход. Слушай, у где ты эту статистику дёргаешь? В rpc не нашёл такой команды. Где-то в логах?
...а потом удаляю всё лишнее П.С. - для красоты, можно без него Нашёл я нормальный метод. lncli fwdinghistory 1547759472 1550659472 { "forwarding_events": [ { "timestamp": "1550130593", "amt_in": "250001", "amt_out": "250000", "fee": "1", "fee_msat": "0" }, { "timestamp": "1550136333", "amt_in": "550001", "amt_out": "550000", "fee": "1", "fee_msat": "0" }, { "timestamp": "1550413953", "amt_in": "310001", "amt_out": "310000", "fee": "1", "fee_msat": "0" } ], "last_offset_index": 3 }
3 транзы всего перебросилось через меня. В спике каналов всё мешается с твоими транзами. Вчера расковырял LND, собрал клиента, открыл себе порт с этой casa, сграбил информацию о сети. Теперь буду прокидывать каналы до нод с дальности от 3х каналов. Потом займусь ребалансировкой. Посмотрим что это даст по числу транзитных транзакций.
|
|
|
|
|