The following Q&A refer to the Bitcoin-focused macro-architecture built on functional partition that is described elsewhere.

Why a Macro-Architecture?

Figuring out how to access full-node services through a mobile client has been a long-standing problem for Bitcoin users, resulting in the creation of multiple protocols intended for exactly this purpose. We believe that the simple method of accessing full-node RPC services through Tor slices right through this long-standing problem in Bitcoin development. It supports Independence, Openness, and Privacy, which are three of Gordian’s core principles.

Blockchain Commons is all about solving the knotty problems in blockchain infrastructure that are holding back our joint development. That’s why we have the Borromean Rings in our logo. One twist of the magician’s hands, and they’re split apart. We hope to similarly make other problems of blockchain infrastructure go away, with our “not for profit” open source and open development work. The Gordian architecture is just one such project (or rather: many such projects).

Why Partitioning?

Our Hetergeneity article discusses more of the reasons behind partioning your Bitcoin macro-architecture.

Why Run a Full Node?

Running a full node such as the Fully Noded Server (or previously, or own Gordian Server)supports many of the Gordian Principles and also offers other advantages.

1. Independence

  • Validation is the most important reason to operate a Bitcoin full node. With a full node, Bitcoin users can check whether transactions are valid according to all of Bitcoin’s rules. Users can verify that any bitcoins they receive are legitimately mined, correctly signed, and more. This ensures your independence by maintaining Bitcoin as a trustless solution. Without your own full node you lose that because you are inherently trusting a third party to tell you how many bitcoins you own and to construct transactions correctly; with your own full node you can personally verify with certainty that your bitcoins are real, that they belong to you, and that they get sent to the intended recipient.
2. Privacy
  • Without a full node, you are relying on someone else’s server. Therefore, they know all your addresses and spending habits as well how much money you have. Obviously, this is not ideal. Utilizing your own node allows you to use Bitcoin in a much more private way whereby you do not need to leak your transaction patterns to a third party.
  • A full node built to do so can take advantage of a Torgap for enhanced privacy. When you use the clearnet, all of your devices’ network traffic is highly correlatable, making it trivial for third parties to track which websites you visit. They could easily see Bitcoin related traffic linked to your IP address, and since IP addresses can be tied to physical locations, this poses a risk. This is where Tor comes in: with GordianServer all remote RPC access to your GordianServer is obfuscated with Tor. For example, you may use the GordianWallet app over Tor to get information from your node and it would be very difficult for any third party to see that your device is speaking to a Bitcoin Core node, let alone what it is specifically doing.
3. Resilience
  • FullyNoded installs Bitcoin Core, which is the reference implementation of Bitcoin. That means that you are utilizing one of the most highly peer reviewed and scrutinized pieces of software in the world.
  • Having your own full-node server gives you an additional place to store private keys, which is how we originally designed the (deprecated) GordianWallet and GordianServer to interact: they combine to form a two-of-three multisig, with one key stored on each of GordianWallet and GordianServer (and the third backed-up off-network)..
4. Openness
  • Access to funds is a critical component for storing your Bitcoin in a self-sovereign way, where you maintain control and agency. If you are not using your own node you may be encumbered by third-party software limitations, which may not allow you to export your seed or private keys or be interoperable with other Bitcoin software. Our reference apps are instead built on the interoperability of specifications such as UR, Animated QRs, and Gordian Envelope, which make it easy to interoperate with anyone using the same specifications.
5. Testing and Learning
  • Utilizing your own node allows you to test the bitcoin network. Simply run FullyNoded over testnet and you can experiment with tutorials like Learning Bitcoin from the Command Line and you can experiment with fake money before committing any real funds. A ridiculous percentage of circulating bitcoins have been lost due to misuse or mistakes. A local server allows you test everything using your own node, ensuring you are comfortable with how it works (and that it does work) before utilizing mainnet.