Author

Topic: Redphone - telephone service for Lightning Node (Read 339 times)

legendary
Activity: 3430
Merit: 3080
Bitcoin works without DNS seeders too, set dnsseed=0  ... if you do this on the initial run it might take a couple hours to get connected to the network. Smiley


without using the -connect= parameter? How does it do it, crawling random IPs? O_o
staff
Activity: 4284
Merit: 8808
(because of the DNS seeders to bootstrap addrman)
Bitcoin works without DNS seeders too, set dnsseed=0  ... if you do this on the initial run it might take a couple hours to get connected to the network. Smiley
full member
Activity: 170
Merit: 108
Quote
What happens if you want to do a telephone meeting with several people?
I guess the solution will be similar to what we have in protocols like IRC: you can create a query with someone, you can always open a room with two people, but if you want to talk with N people at the same time, then you have two options in decentralized networks: you can connect everyone with everyone by making N*(N-1)/2 connections or you can create some "server" node connected with everyone and change that "server" at any time if needed. In IRC the latter is used and I expect it will be similar here, just voice will be transmitted instead of text. Also, as far as I know IRC can transfer voice, but last time I tried it was hard to set up everything.

This is pretty much it. Webrtc requires each peer to connect to all other peers.
So if you want to setup 3 person conference call you need to setup 6 connections, each person need to setup 2.
copper member
Activity: 821
Merit: 1992
Quote
What happens if you want to do a telephone meeting with several people?
I guess the solution will be similar to what we have in protocols like IRC: you can create a query with someone, you can always open a room with two people, but if you want to talk with N people at the same time, then you have two options in decentralized networks: you can connect everyone with everyone by making N*(N-1)/2 connections or you can create some "server" node connected with everyone and change that "server" at any time if needed. In IRC the latter is used and I expect it will be similar here, just voice will be transmitted instead of text. Also, as far as I know IRC can transfer voice, but last time I tried it was hard to set up everything.
legendary
Activity: 3542
Merit: 1965
Leading Crypto Sports Betting & Casino Platform
I presume ...only one call can be made between the two nodes ...right? So the NS@ cannot listen in on your conversation.. if a 3rd or 4th person comes in on the call. (Obviously you need to "answer" the call to establish the connection... so I guess this is not going to be an issue)

What happens if you want to do a telephone meeting with several people? (Like you do with other Apps)? - Obviously you want to rather use this and replace other platforms that record or listen in on your conversations? .....so this must also have a feature like this for the future?

Well Done.... I love this!
legendary
Activity: 3430
Merit: 3080
I think that tox.chat is not using any centralized servers and it is open source software, but there are not payments built in.

unless you count the tox DHT seeders, but according to this logic, Bitcoin is similarly centralized (because of the DNS seeders to bootstrap addrman)


Looks revolutionary to me and it can have real use case with some easy to use app, having a phone number (Node ID) without an actual phone number, that nobody can shut down.

that's what tox does already. Tox is nearly 10 years old, so this new idea is not the first message/video call network that doesn't need a phone number
legendary
Activity: 2212
Merit: 7064
I've been building LN stuff for 3 years now, you can find my other apps on kriptode.com
Page bookmarked.
I didn't know that so many apps exist for Lightning Network, Sms 4 Sats looks interesting and those games are also cool.
Like I said before, we need to have separate Lightning Network board in bitcointalk forum.

I didn't know about other privacy implications of webrtc re: fingerprinting etc. It might also be prone to timing attacks if a state actor wants to identify the parties.
I don't know how it works exactly, but it is more related with web browsers that have webrtc when people are using vpn's.
This restoreprivacy page may explain this issue better than me:
https://restoreprivacy.com/webrtc-leaks/
full member
Activity: 170
Merit: 108
Sure, I'm glad people find it interesting, I'm sure others will come up with even cooler stuff. I just made the first thing that I could finish realistically before hackathon ended 😁
I see that hackathon is ending soon on August 20, so please let us know about final results and who won those BTC rewards, and continue working on more projects like this.

Thank you for explaining about Webrtc, and I know it can be used for tracking and fingerprinting so privacy oriented people are disabling this option in their web browsers, that is the reason I asked about it, but I am not sure how this works in your app.

I've been building LN stuff for 3 years now, you can find my other apps on kriptode.com

I didn't know about other privacy implications of webrtc re: fingerprinting etc. It might also be prone to timing attacks if a state actor wants to identify the parties..
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
...
Thank you for explaining about Webrtc, and I know it can be used for tracking and fingerprinting so privacy oriented people are disabling this option in their web browsers, that is the reason I asked about it, but I am not sure how this works in your app.

In todays world if you do disable WebRTC there are a lot of sites that will no longer work. So, yes it will increase privacy, but you are no longer able to do certain things.
This will probably always be the case. You want to make phone calls though your browser using lightning, knowing that some privacy will be lost may just have to be part of the cost.

It's kind of like why I do have some coin in a crappy multicoin wallet on my phone and some electrum wallets on my laptop. Giving up some privacy and security for doing some things simply and quickly. For larger amounts that is where another PC and hardware wallet come into play. Same concept can be applied here too. Want to do something like this then that older laptop gets a new drive and this installed.

-Dave
legendary
Activity: 2212
Merit: 7064
Sure, I'm glad people find it interesting, I'm sure others will come up with even cooler stuff. I just made the first thing that I could finish realistically before hackathon ended 😁
I see that hackathon is ending soon on August 20, so please let us know about final results and who won those BTC rewards, and continue working on more projects like this.

Thank you for explaining about Webrtc, and I know it can be used for tracking and fingerprinting so privacy oriented people are disabling this option in their web browsers, that is the reason I asked about it, but I am not sure how this works in your app.
HCP
legendary
Activity: 2086
Merit: 4363
Not really something I've really looked into... but from what I'm understanding from reading the descriptions and watching the demo, is that this system is a way for two peers to find, connect and manage a (fully encrypted) WebRTC connection between themselves without requiring any sort of central co-ordinator of some description?

With the added benefit of being able to set a fee that needs to be (continuously) paid for the connection to continue.

I assume the call fee is only able to be charged by the "receiver" of a call?  Ie. You can't set a 10000 sat/min fee on your node, call someone else and after they answer they have to send you payment (after the first 60 seconds)?

And is there a notification warning that pops up when you call someone/the call is connected that advises of their current fee? Huh

In any case, it's definitely a fascinating idea... and I can see the potential benefits for existing Bitcoin/LN Node operators... but the overheads required to set this up for someone who doesn't already have a node are quite high. Undecided
full member
Activity: 170
Merit: 108
@realpseudozach I am glad to see you here explaining Redphone better than me, and I think this is a great idea but I have few questions regarding privacy.
- Is it possible for anyone else to listen the conversation between two people talking with Redphone, maybe for purpose of surveillance and tracking?

Tor is not possible, I actually started with tor but I had to change it because webrtc is disabled in tor browsers.
Is there any alternative for webrtc that could work with Tor?

I agree tg, signal, matrix are all more convenient but basically now we have an alternative p2p network (Lightning Network) that has payments built in. Even though those platforms will do end to end encryption, there will still be some central servers that arrange the call, help with discovery etc.
No central servers for phone conversation can be a absolute game changer in time of censorship.
I think that tox.chat is not using any centralized servers and it is open source software, but there are not payments built in.



Sure, I'm glad people find it interesting, I'm sure others will come up with even cooler stuff. I just made the first thing that I could finish realistically before hackathon ended 😁

Webrtc is encrypted by default, which means only your peer that you've exchanged keys with can decrypt the bytes you've send over UDP and convert them to meaningful audio data.

I'm not familiar with tox.chat but I know how internet routing, key exchange and overall how these things work. I'm pretty sure they need some coordination. For instance for websites your traffic is encrypted but you trust CA(certificate authority) that tells you which site is which. Pretty much all E2E encryption requires some coordinator.
Redphone and LN don't because only claim is that I have pubkey x and only I can unpack the LN payment onion to read the message inside.
legendary
Activity: 2212
Merit: 7064
@realpseudozach I am glad to see you here explaining Redphone better than me, and I think this is a great idea but I have few questions regarding privacy.
- Is it possible for anyone else to listen the conversation between two people talking with Redphone, maybe for purpose of surveillance and tracking?

Tor is not possible, I actually started with tor but I had to change it because webrtc is disabled in tor browsers.
Is there any alternative for webrtc that could work with Tor?

I agree tg, signal, matrix are all more convenient but basically now we have an alternative p2p network (Lightning Network) that has payments built in. Even though those platforms will do end to end encryption, there will still be some central servers that arrange the call, help with discovery etc.
No central servers for phone conversation can be a absolute game changer in time of censorship.
I think that tox.chat is not using any centralized servers and it is open source software, but there are not payments built in.

full member
Activity: 170
Merit: 108
Looks interesting if I ever get my lightning nodes back up I will have to take a look at it.

EXCEPT, cloudflare? Why?
It should be P2P not P2 -> some big corporate entity -> 2P
Granted I didn't read why they are doing it or much else since I am mobile so it could be in 24 point bold text as the reasons, but to me that in general would be a show stopper.

-Dave

Hi I developed redphone so I wanted to chime in.
- cloudflare is optional if you want to access redphone outside the network where you run the app but if you run it on a raspberry pi or your laptop, no need to use free encrypted tunnel by cloudflare, you can just go to localhost or 192.168.0.x and use redphone normally.
- Tor is not possible, I actually started with tor but I had to change it because webrtc is disabled in tor browsers.

I agree tg, signal, matrix are all more convenient but basically now we have an alternative p2p network (Lightning Network) that has payments built in. Even though those platforms will do end to end encryption, there will still be some central servers that arrange the call, help with discovery etc.
Redphone does the signaling over LN and webrtc is encrypted by default so it's fully p2p.
legendary
Activity: 2212
Merit: 7064
This is cool idea, but honestly i don't expect to receive call if i run LN node.
Maybe not now, but it's not hard to imagine LN node operators communicating like this, also we are slowly moving towards dystopian future and censoring stuff will be more and more common,
it is happening even now for some people, just a matter of time when it will affect you or someone you know.
That is why Impervious is working on this cool idea of using Bitcoin network and Lightning Network for building something that is resistant to censorship and surveillance.



EXCEPT, cloudflare? Why?
It is using cloudflare tunnel to expose Redphone app to public internet, but nobody else will know that url you are using.
I am sure this could also work in some alternative way even without cloudflare, with some tweaking and updates.
Looks revolutionary to me and it can have real use case with some easy to use app, having a phone number (Node ID) without an actual phone number, that nobody can shut down.  

Quote
one can download all kinds of different encrypted comms apps but none of them can cryptographically prove you are talking to a specific public key afaik. this one does.
https://twitter.com/citlayik/status/1424928559080951811
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
Looks interesting if I ever get my lightning nodes back up I will have to take a look at it.

EXCEPT, cloudflare? Why?
It should be P2P not P2 -> some big corporate entity -> 2P
Granted I didn't read why they are doing it or much else since I am mobile so it could be in 24 point bold text as the reasons, but to me that in general would be a show stopper.

-Dave
legendary
Activity: 2212
Merit: 7064
If you already running a Lightning Node you may be interesting to follow and try this project called Redphone- phone for your lightning node, that is completely self-hosted and it can use webRTC audio channel for connecting two peers on the internet.
This software was made by pseudozach and it was built for Impervious AI Hackathon that started on August 4th and it's running until August 20th 2021, and it is in competition for $25,000 in BTC prizes!
Impervious is one more interesting project I started following because they are focused on making p2p internet that is secure, censorship resistant and built on Lightning as Bitcoin Layer 3 network.
https://www.impervious.ai/

Demo video for Redphone: https://www.youtube.com/watch?v=lDii_9ZaiYg

Quote
Setup
- prerequisites: Bitcoin + Lightning Node
- download, configure and start impervious, follow instructions here
- download and install cloudflared for your environment
- clone the repo:
git clone https://github.com/pseudozach/redphone && cd redphone && npm i
- start the app:
npm run start -- 8888 8881 (where 8888 is redphone webserver port, 8881 is impervious http/websocket port)
- expose the app to public internet:
cloudflared tunnel --url http://localhost:8888 (where 8888 is redphone webserver port)

2021-08-05T06:09:08Z INF +------------------------------------------------------------+
2021-08-05T06:09:08Z INF | Your free tunnel has started! Visit it: |
2021-08-05T06:09:08Z INF | https://fits-protest-featuring-mpegs.trycloudflare.com |
2021-08-05T06:09:08Z INF +------------------------------------------------------------+

- go to the provided link to see your LN Phone


Source code: https://github.com/pseudozach/redphone
Jump to: