Appologies for the title, I have editted it on Bitcoin Talk. This system does not require an edit to Bitcoin protocol or LN.
I tried to join Bitcoin-dev message board to discuss this idea before submitting an official BIPS Proposal, So I am launching it here with hopes that it will reach interested developers and bitcoin experts. I am a product developer at heart, please view this through that lense and if there are high level technicalities I am missing, please comment below. Thanks
Bitcoin Transmission Control Protocol/Internet Protocol (BTCP/IP)
BTCP/IP provides end-to-end data communication specifying how data should be packetized, addressed, transmitted, routed, and received.
BTCP/IP operates on the Bitcoin Lightning Network due to the increased transaction speed and reduction in transaction fees.
To request a packet from a host, a user must send a lightning payment for a predetermined amount of Satoshis. Information is then organized into packets and transmitted via a series of lightning transactions.
Each packet should relate to the previous packet to ensure the data can be constructed into a legible message.
While data transmissions of this nature are currently not a part of lightning, it could be possible to chain these transactions together fast enough that small amounts of data add up fast. Even several bytes of data could allow for decentralized private conversations and message boards.
One way to accomplish this without creating massive amounts of mempool data is to have the data automatically prune itself. This would allow, one day, for websites and applications to be built in a browser without overfilling bitcoin blocks with data.
Alice sends the host a satoshi, and the host sends a satoshi back in a transaction that contains a short message. When Alice receives the satoshi in return, she automatically sends another satoshi until the end of the message is triggered by the host.
A message contains 2 characters of reference data so the message can be constructed on Alice’s end. It also contains one or more characters of static data. Once data has been received by Alice, her web browser builds the message and checks that the data is fitting to the right location.
[[1,H,2], [2,e,3], [3,l,4], [4,l,5], [5,o,6], [6, ,7], [7,W,8], [8,o,9], [9,r,A], [A,l,B], [B,d,C] [#,.,#]]
The [x,0] and [x,2] of the transaction array are an example of location data for the message. [x,1] of the transaction array contains the data of the transaction.
If a transaction is received out of order, it can be verified and rebuilt by the browser
This series of transactions would build the phrase “Hello World.” through a series of satoshi sized transactions.
Edit: Crossposted to Bitcoin talk for more discussion opportunity.https://bitcointalk.org/index.php?topic=5258620.0
Edit 2: Discussions with MrRGnome have lead into researching opportunities involving Whatsat to create a system of pinging servers and receiving HTML and other web data.
Edit 3: It seems the amount of data that can be sent is much more than 3 digits,
but as current Whatsat uses failed transactions on LN to send this data. Edit: Hootsumdaddy pointed out that Whatsat has moved away from failed transactions. For internet 2.0 built on bitcoin it would be ideal to use both free and confirmed transactions on the satoshi level to facilitate information transfer.
Edit 4: For proof of concept, we'll be testing chat bots on Whatsat that deliver basic html pages as text and then have them automatically open in your browser. To accomplish this we must first find out the maximum data that can be sent in a message, then create a system that reads the data to a cached file and opens it.