Does Phoenix run a Bitcoin full node (no pruning) under the hood (such as Bitcoin Core or Bitcoin Knots) by default?
No
Or does it simply connect to one remotely?
No, it does not connect to one "simply," it connects to one "complicatedly."
Phoenix runs a lightning full node in your phone but not a bitcoin full node. Lightning (the software) and bitcoin (the software) are different and Phoenix only has a full copy of the former.
For the latter, it connects to an electrum server (which is a full node) but does not "simply" ask it for data. It asks it for data and then uses an incomplete copy of bitcoin (the software) to check the validity of some of it.
Specifically, it uses a stripped down and customized copy of bitcoin (the software) in "SPV mode" (simplified payment verification) to check if a transaction you received was (1) included in a block (by validating a "merkle proof of inclusion") and (2) if that block was expensive to produce (by validating the block's "proof of work").
If the incoming transaction passes those two tests, Phoenix considers it legit, on the grounds that it is unlikely that someone would spend a large amount of money to produce a proof of work for a fake block in order to trick a phone into accepting a fake transaction. Remember that phone wallets are only designed for small amounts anyway. For large amounts, use a full node.
It doesn't use a full lightning node. Routing, for example, is offloaded to the ACINQ service so that your phone doesn't need to keep an up-to-date network graph, which is a pretty heavyweight operation.
reply