profile
viewpoint
Ján Sáreník jsarenik Czechoslovakia https://järok.bublina.eu.org Embedded Linux Accordionist

ElementsProject/lightning 1783

c-lightning — a Lightning Network implementation in C

jsarenik/heroku-traffic 6

Script that parses logs from Heroku and computes used data.

jsarenik/eeprog 3

EEprog from http://www.codesink.org/eeprog.html with applied changes from `tear` fork

jsarenik/bin.bublina.eu.org 0

Minimalist POSIX shell reimplementation of PrivateBin

jsarenik/bip39 0

A web tool for converting BIP39 mnemonic codes

jsarenik/bitcoin 0

Bitcoin Core integration/staging tree

jsarenik/bitcoin-iterate 0

Simple fast iterator to extract data from bitcoind's blockchain files.

jsarenik/blockly-games 0

Games for tomorrow's programmers.

jsarenik/ccan 0

The C Code Archive Network

fork dylan-thinnes/material-color

Material colors in Elm https://package.elm-lang.org/packages/samueldple/material-color/latest/

fork in 3 hours

startedimmunant/c2rust

started time in 7 hours

startedmicro/micro

started time in 7 hours

issue commentZmnSCPxj/clboss

Implement Lightning Loop support

The reverse submarine swap - using an untrusted server to exchange lightning btc for chain btc - allows new nodes to bootstrap themselves into being useful for routing and useful for receiving. The mechanism of the swap is simple, a on chain buyer makes a request then an on chain address is funded with a script like

HASH160 <hash of preimage> EQUAL
IF <chain buyer pubkey>
ELSE <timeout> CHECKLOCKTIMEVERIFY
DROP <chain seller pubkey> ENDIF
CHECKSIG 

If the timeout has not been reached then the only way the chain coins can be claimed is using the preimage. The preimage is the secret lock of a lightning invoice and must be revealed in order to receive the lightning payment, thus an exchange can happen with no trust between the participants.

The problem with this is the CHECKLOCKTIMEVERIFY creates a confirmation urgency. In boltz-backend implementation even in a low fee moment the lockup fee rate was 95sat/byte+. Paying this level of fees to balance digs a very large hole that routing fees will take years to make up. Seems like lightning loop uses the same transaction dynamic, subject to the same confirmation urgency.

Naively, a script like

HASH160 <hash of preimage> EQUAL

would allow a server to put outputs up for sale indefinitely? But the server has the preimage as well so it could play dirty games like self sending the output with a large fee once the invoice is paid. Think it is important to be able to do reverse submarine swaps with low fees. Wondering if an asynchronous, counterparty flexible version of reverse sub-swaps is possible? The fees paid by boltz backend are too damn high!

ZmnSCPxj

comment created time in 8 hours

pull request commentZmnSCPxj/clboss

Have explicit .onion Boltz

Hey this is cool and btw great work on budgeting the balancing. Pulled and started running this branch to see if I can get a swap, but it started to swap with the original boltz server, so I made a small modification to make my boltz server the only choice. Left it run overnight, did not made contact.

ZmnSCPxj

comment created time in 9 hours

MemberEvent

startedalexanderwasey/stupid-computer

started time in 10 hours

push eventcryptoadvance/specter-diy

Stepan Snigirev

commit sha 96cf661d9b48901a75b36f042f10f222ad139b07

use sdram for storage of scanned QR parts

view details

push time in 12 hours

GollumEvent

startedskiftOS/skift

started time in 13 hours

pull request commentElementsProject/lightning

Weekly cleanups -- release edition

Weird mypy error from Travis. Trivial rebase...

Yep, seems mypy==0.800 broke some things, I pinned it to 0.790 in another cleanup

cdecker

comment created time in 14 hours

startedsirnewton01/ghfs

started time in 14 hours

push eventcryptoadvance/specter-diy

Stepan Snigirev

commit sha cdb6b9486c1cd1ee5ef14fd0006a982fc290dc17

add battery monitor

view details

push time in 15 hours

issue commentElementsProject/lightning

Crash at init exchange (on EXPERIMENTAL=1 rc1 with rusty's node)

Ooh:

2021-01-17T17:12:07.684Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: peer_out WIRE_INIT

--- snipped ---

2021-01-17T17:12:09.129Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: peer_in WIRE_INIT

So i receive your INIT 1 second and a half after sending mine to you. It must have been on different interfaces, and lightningd doesn't know what to do.

darosior

comment created time in 18 hours

issue commentElementsProject/lightning

Crash at init exchange (on EXPERIMENTAL=1 rc1 with rusty's node)

Here are the logs for your id previously to the crash:

# grep -B10000 '2021-01-17T17:12:09.139Z' ~lightningd/.lightning/debug.log |grep 024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605

--- REDACTED: normal channel operations, HTLCs addition, commitment revocation, all good --

2021-01-17T15:47:52.196Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: peer_out WIRE_REVOKE_AND_ACK
2021-01-17T15:52:02.566Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Trying commit
2021-01-17T15:52:02.566Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Can't send commit: nothing to send
2021-01-17T16:01:33.244Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Trying commit
2021-01-17T16:01:33.244Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Can't send commit: nothing to send
2021-01-17T16:43:56.829Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Failed reading header: No route to host
2021-01-17T16:43:56.830Z INFO    024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Peer connection lost
2021-01-17T16:43:56.830Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: Status closed, but not exited. Killing
2021-01-17T16:43:56.831Z INFO    024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (9)
2021-01-17T16:43:56.831Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 1 seconds
2021-01-17T16:48:06.664Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 2 seconds
2021-01-17T16:48:06.664Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T16:52:18.177Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 4 seconds
2021-01-17T16:52:18.177Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T16:56:30.083Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 8 seconds
2021-01-17T16:56:30.084Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: No route to host. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T17:00:39.066Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 16 seconds
2021-01-17T17:00:39.067Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T17:04:57.419Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 32 seconds
2021-01-17T17:04:57.419Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T17:09:30.748Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Will try reconnect in 64 seconds
2021-01-17T17:09:30.749Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Failed connected out: [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. 128.199.202.168:9735: Connection establishment: No route to host. [2400:6180:0:d0::5cd2:a001]:9735: Connection establishment: Network is unreachable. Error connecting to ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion: Tor server reply: TTL expired. ki5uack5xb4gicfnpfavzdibojfu3qvwtlg3ca7eyjxik7tgwfxummqd.onion:9735: Connection establishment: Connection refused. Error connecting to ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion: Tor server reply: TTL expired. ytcdmglaxryimsz3z53fggzzqujblmu4ye4luz56ax4kb6dalbss5fqd.onion:9735: Connection establishment: Connection refused. 
2021-01-17T17:12:06.733Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Connected out, starting crypto
2021-01-17T17:12:07.684Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: Connect OUT
2021-01-17T17:12:07.684Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: peer_out WIRE_INIT
2021-01-17T17:12:09.094Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-gossipd: seeker: disabling gossip
2021-01-17T17:12:09.129Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: peer_in WIRE_INIT
2021-01-17T17:12:09.130Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Peer has reconnected, state CHANNELD_NORMAL
2021-01-17T17:12:09.135Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: pid 278110, msgfd 67
2021-01-17T17:12:09.135Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Already have funding locked in (and ready to announce)

Interestingly you seem to disconnect for a small-ish time, reconnect, and then we crash. Could it have been the very hour at which you upgraded your node to 0.9.3rc1 (time in the logs is EST) ?

I see no clue in the logs that would indicate my node tried to reach you on both clearnet and Tor. Could it be a race condition that you reconnected at the very same time my timer tried a connection to you ?

darosior

comment created time in 18 hours

issue commentElementsProject/lightning

Crash at init exchange (on EXPERIMENTAL=1 rc1 with rusty's node)

Do you have logs for the previous minute? This log is very strange:

2021-01-17T17:12:09.129Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-connectd: peer_in WIRE_INIT
2021-01-17T17:12:09.129Z **BROKEN** connectd: FATAL SIGNAL 11 (version v0.9.2)
[...]
2021-01-17T17:12:09.137Z **BROKEN** connectd: backtrace: connectd/connectd.c:511 (peer_connected) 0x55a146d50f75

OK, so we crash at the bottom of peer_connected. Except, we see this, too:

2021-01-17T17:12:09.130Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Peer has reconnected, state CHANNELD_NORMAL
2021-01-17T17:12:09.135Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-channeld-chan#5497: pid 278110, msgfd 67
2021-01-17T17:12:09.135Z DEBUG   024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-chan#5497: Already have funding locked in (and ready to announce)

Which cannot happen until connectd tells lightningd about the new connection, except connectd died before re-entering the io loop!

Do we somehow have two connections at once? We're not supposed to, and the logic there seems sound. This is a Tor connection, so obviously we're using the proxy, which is a less tested path...

darosior

comment created time in a day

PR opened ElementsProject/lightning

lightningd: disallow --daemon without --log-file.

From #clightning:

 (11:24:10) andytoshi: hiya, i'm trying to set up a new lightningd node, and when i run lightningd --network=bitcoin --log-level=debug --daemon
 (11:24:17) andytoshi: i get errors of the form fetchinvoice: Malformed JSON reply '2021-01-25T00:51:16.655Z DEBUG   plugin-offers: disabled itself at init: offers not enabled in config
 (11:24:43) andytoshi: there are a couple variants of this, but always some form of "something: failed to parse <a log line> as json"

Indeed, we close stdout, and it ends up being reused for some plugin. But the real problem is that we log to stdout by default, which doesn't make sense. If they really want to discard logs, they can use --log-file=/dev/null.

+8 -3

0 comment

3 changed files

pr created time in a day

issue commentElementsProject/lightning

Upgrading installed C-Lightning package breaks running instance in potentially dangerous ways

Self-restarting is an interesting thought. One nice aspect is that the new process would retain the same PID as the old process, so system service managers (like OpenRC) wouldn't notice anything awry at any instant.

whitslack

comment created time in a day

issue commentElementsProject/lightning

Upgrading installed C-Lightning package breaks running instance in potentially dangerous ways

Yeah, I learned this the hard way, and I now shutdown before make install.

We could have subdaemons send their version string on startup, then restart lightningd (after a few seconds' sleep) if the version is wrong. If we restart and our own version hasn't changed, then simply fail. I think upgrading running instances is a better choice than trying to keep them going?

whitslack

comment created time in a day

pull request commentElementsProject/lightning

Weekly cleanups -- release edition

Weird mypy error from Travis. Trivial rebase...

cdecker

comment created time in a day

pull request commentElementsProject/lightning

Issue 4305 - Added in_channel,out_channel,state params to listforwards

Yep, this is great! We generally dislike underscores in JSON parameters, but the JSON already outputs those names so consistency wins.

Tests would ofc be nice, so would docs ;)

hosiawak

comment created time in a day

push eventElementsProject/lightning

niftynei

commit sha 6778ea5d0571f0574c843f23733c6d6a6cf8b556

wallet: cleanup fee_states alloc on error

view details

niftynei

commit sha 8591f111887c46fbe84db0fce41f8c0474ce6f02

wallet nit: consolidate stmt free into one line

view details

niftynei

commit sha d1a59b6f0d387af1c29e24720053b19f6ae741e4

nit df: correct spelling mistake

view details

push time in a day

PR merged ElementsProject/lightning

Reviewers
Drive by fixes

Few small fixes I found while re-doing the dual-funding code for RBF

Changelog-None

+23 -23

1 comment

5 changed files

niftynei

pr closed time in a day

MemberEvent

startedengineer-man/piston

started time in a day

startedggreer/the_silver_searcher

started time in a day

startedBurntSushi/ripgrep

started time in a day

MemberEvent

startedaschinchon/pencil-scribbles

started time in 2 days

more