Do you see this possible? There are already phones with 12-16 GB of Ram in the market. One option I have seen is just wrap the current C++ program in an android package. I have also read this way will be very exhausting for the phone in terms of energy use, since the client is designed for computers. However I wonder if it is possible to port bitcoin core software to java (or kotlin, or swift or any native mobile language) so the client will work more efficiently in regards to the phone architecture and capabilities. For example allow the node to be turned off, and to work only when payments are made (when the app is being used). If my node had to sync the last few days/hours every time I open the app that would not be to bad right? The point is, if bitcoin was just a plug and play app (not the SPV or shitcoin bogged apps), then a lot more people would be using it (and running their own node btw). The home node running the core client is awesome and very robust for the network, but not too many people has the time or is willing to set it up.
I gave a talk about consensus about how this is what we'll eventually have.
reply
reply
Great video thanks! Yeah I have similar questions as skreep_. Above all, I would like the full node phones to be able to validate everything, I mean so they can reject or help protecting the network in an eventual user activated soft fork. I may be misunderstanding zkp and utreexo. As long as my phone/POS can do what my home node can in terms of consensus power, that would be great!
reply
Yeah eventually you could have everything on your phone.
reply
You did a great job speaking Ben! I watched in full and enjoyed your presentation.
you talked about basically storing full nodes in the cloud utilizing ZKPs.. I'm curious, how dependent is this on a cloud storage server? also, would this be rendering properly built physical full nodes optional or would these cloud nodes be in some way bouncing off of nodes that are properly storing each block on an ssd?
I have envisioned a future where some company comes along and designs a simple open source Point of Sale terminal very similar to what most debit machines appear as now but they would have a proper full node built into them and full on lightning support.
It would decentralize the ever living shit out of the network, if every PoS terminal in every restaurant in every city was verifying every single block. Now I'm trying to wrap my head around if that would even be necessary given some of the implications of your talk.
I'm no dev nor am I too familiar with how Eth does well anything it does hahah
reply
What I was talking about, the user would be running the full node on their phone, no cloud needed. They just need to be given proofs for the blocks. They don't need to store the entire chain either, just the parts they care about.
Having every POS terminal being it's own node doesn't really make sense. The company doesn't want thousands of divided up funds. Running a couple lightning nodes and having the terminal phone home would be much better.
reply
People have been thinking about this for awhile. It might be naive but I want it too. I want the world's entire banking system on my phone.
reply
Yes. And it is probably quite hard to maintain a separate version in the long term.
I look at Btcd (from Lightning Labs): for every relevant upgrade the c++ version has got, the guys that maintain Btcd have to review and update it every time, so that they can keep up. And we have seen the crashes Btcd had in oct/2022 when those big txs where sent by burak. An Android/iOS version will have to receive a lot of reviewing by their maintainers.
reply
Fundamentally Bitcoin nodes need to do a lot of signature verification which is where most of the energy and compute goes. Bandwidth and network stability are the other concerns that make mobile devices less ideal. Lightning is an easier lift so perhaps the best combo is Bitcoin node on a computer and a lightning node on a phone which connects to it. That being said of you don't mind those issues then go for it but do expect any magic bullets to the signature verification cost.
reply
I wonder if the 5G Ultra wide band will address the bandwidth issues?
reply
You don't need a lot of bandwidth to run bitcoin core, aside from when you initially download the blocks. For bitcoin on-device, I'm far more concerned about it annihilating your battery.
At a max of 4MB per block, you're looking at some pretty wimpy bandwidth requirements
reply
I bought an old server on ebay and I'm grateful I did but agree would be dope to have core straight on my iphone. I kinda hate using windows but still use it on that old server because if I didn't run Bitcoin core I'd feel like a larper calling myself a Bitcoiner
reply
Bitcoin core runs fine on Linux. If you're running a server, Linux is generally the better option anyway. If you want to dip your toes in without wiping the OS you've already got, you can toss an Ubuntu VM on it with VirtualBox
reply
Thanks for the tips
reply
Not lighting, but we’re working on a mobile (and desktop) node runner. You can already test it if you’d like. https://bitcoincore.app/
reply
Thanks I will check out that APK!
reply
I installed on my Android but the network set default to Signet, how to change the network to Mainnet?
reply
Pretty cool . What’s the requirement space for the phone? and want to know is it possible to running on iOS?
reply
Blixt Wallet is LND w/neutrino
reply
Wow... I myself is using a near obsolete mobile phone. but it can perform task and browse effectively. when it comes here at SN, I am still in the process of knowing the site.
reply
it just needs to be compiled for arm64 and you configure its network interfaces and voila. It just never was done before pruning so I don't think anyone has built it this way. Soon it will happen I think.
There's nothing stopping it being done, just hasn't been done yet I think. So many things haven't been done.
reply