Are Bitcoin wallet apps on iOS truly decentralised

0

The only offering for p2p support on iOS that I’m aware of is the MultipeerConnectivity framework. Based on its documentation, it only seems to support nearby devices (ref: https://developer.apple.com/documentation/multipeerconnectivity).

Now, by “truly decentralised”, I mean no use of a backend whatsoever.

Perhaps there’s something I might be missing. If wallet apps are indeed, truly decentralised, how do they achieve this?

AjLearning

Posted 2019-03-24T13:15:13.787

Reputation: 23

Answers

0

An iOS app does not need to use any multiple connection framework provided by the iOS SDK at all. Apple does not need to have any API to support this since it can be done with threading and the normal network connection API.

An iOS app developer can use the standard Network connection framework in order to open a TCP connection to whatever nodes they want to. They can connect to multiple nodes by creating a thread for each node and each thread uses the Network connection framework to establish the connection. In this way, there is no need for anything like MultiPeerConnectivity or any special framework for connecting to multiple network targets.

Andrew Chow

Posted 2019-03-24T13:15:13.787

Reputation: 50 267

If that makes it “decentralized” or not is another matter though. – Anonymous – 2019-03-25T03:11:20.367

@AndrewChow Thanks for that. Could you point me to a sample code snippet that makes use of the network connection API to send data to an IP/Port? I tried looking but couldn’t find any, only found the API reference. – AjLearning – 2019-03-25T13:50:01.650

0

From what I can tell, BRD or "Bread" wallet on iOS uses the P2P network directly to connect to bitcoin nodes. This makes it as decentralized as any other bitcoin node. To achieve that, they use walletkit (https://github.com/blockset-corp/walletkit/), an SPV client in C/Swift.

cloudhead

Posted 2019-03-24T13:15:13.787

Reputation: 127