2023.04.16 - pyKeysend: send large amounts of data using lightning keysend payments





With Distributed Charge, communication between the buyer and seller is critical in negotiating the terms of sale. Depending on the internet connection type that both parties have, it can be difficult to establish a direct communication link. Data exchanged over keysend payments is sent through the lightning network, enabling data to be sent through firewalls and across IPv4, IPv6 and tor connections. It was thought that maybe something like a TCP socket could be created that uses keysend payments to send and receive the data packets.

Before going through the effort to build a TCP like socket running over data attached to keysend payments, a small research project was initiated to understand the limitations (transfer rate and cost/byte) of data exchange using keysend payments. The results are available in the pyKeysend Python module. pyKeysend breaks up an arbitrary size message (such as a file) into many smaller data chunks and sends that data over many lightning keysend payments. The receiver than receives all the data chunks and reassembles them back into the original, larger message.

The pyKeysend module is being shared with the community for further discussion, but at this time it is not used in Distributed Charge.









bitcoin accepted here

©2007 - Andy Schroder