Hey folks,
I wonder if you will like this idea to put your air gapped machine on a bootable USB stick with persistent memory.
How to do it:
To use it successfully you need 2 USB sticks. The first one will be used to run the air-gapped machine on an USB stick. The second one will be used to share the files between your cold and hot environment.
- Install the bootable UBUNTU with persistent memory following this guide:
https://www.howtogeek.com/howto/14912/create-a-persistent-bootable-ubuntu-usb-flash-drive/
It is a copy and paste guide. Just be careful to choose your USB stick device and not your system partition. The good thing is, this guide is for Windows and Linux users! I did try it on Mac, but I have UBUTNU installed on my MAC. - After you have followed this guide shut down your system plug in the bootable USB stick with persistent memory. Then turn on your computer. This time if you are on MAC press the ALT/[Option Key]. This will prompt you to the menu where you can boot from your USB stick. On Windows you need to enter your BIOS and boot from USB stick. On Windows It helps to press during the boot time multiple times F2 or F10 or F12. If you are not familiar on how to boot UBUNTU from an USB stick, there are many guides out there. But we can open for this an extra topic.
- Now you should be able to use UBUNTU as usual, but this time shut down all connections, like Bluetooth and WIFI. The persistent memory of your UBUNTU will safe these changes. Also make sure you are disconnected from your wired internet connection.
- You can use your second USB stick to copy your cardano-cli binary and all your keys to the air-gapped machine. For example make sure that you create your cold keys on the air-gapped machine
cardano-cli node key-gen --cold-verification-key-file node.vkey --cold-signing-key-file node.skey --operational-certificate-issue-counter node.counter
- Create your payment key pair:
payment.skey
andpayment.vkey
air-gapped
- Now you are able to sign your tx/transaction files on the air-gapped machine and push them signed with the second USB stick to your hot environment. For this shut down your air gapped, machine remove the bootable USB stick. Start your computer as you would usually do and plug in the second USB stick containing the signed files.
- Make sure to make a copy of all your cold files to some other device which will never be connected to the internet.
This is not a complete guide about an air-gapped machine itself, but you can find it useful to study this source:
https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node#6-configure-the-air-gapped-offline-machine
I am happy to hear from you some critics and if you agree that this idea is as good as using a second computer which never connects to the internet.
I wish you happy delegates!
Best,
Johann ADAholycs