Our Custom Operating System – BOLOS

Medium Oct 23, 2019

Bolos
Key takeaways
– Ledger hardware wallets are the only devices in the market that uses a Secure Element in combination with a custom Operating System.
– Ledger’s custom OS BOLOS increase the security of the device: all crypto applications are isolated from each other, they communicate only through the OS with no exceptions possible for malicious users or developers.
– Thanks to this OS, anyone can develop and load their own applications on Ledger devices.

What is an Operating System?

A good example of an OS that you use everyday can be found on your computer. By having an Operating System, for example Windows or Mac OS, you can install applications (example: Microsoft Word) to make using your computer much more user-friendly and accessible.

Why make a custom Operating System?

Specific devices need specific Operating Systems.
You would not use the same OS you have on your mobile phone to handle your cars’ audio and navigation system. 

BOLOS



To get the most out of our hardware wallets, we have developed BOLOS to increase its security and to create a user-friendly interface.

If your firmware is designed in a very monolithic way, meaning all your applications are set in the firmware once and for all, you don’t need to have an Operating System approach – everything can be packaged in your firmware. Many hardware wallets producers do not use an OS, but rather store everything in a single application: the device’s firmware. This approach is called monolithic. For hardware wallets, it means that your firmware has all the coding for all of your crypto assets. While it does work, this single application architecture does have some major drawbacks, however.

If the crypto assets are all in the same application, it will mean that they are all connected to each other. Should any problem occur for one crypto asset, it will influence the rest as well – the entire firmware would then need to be updated. The same goes for when you want to add a new crypto asset, making third party development a much more difficult process.  

“Each cryptocurrency should be its own application, just for security reasons.”

Nicolas Bacca, CTO at Ledger


We wanted to be multi-application by design to increase the security of your crypto assets and allow for third parties to be able to develop their applications securely. 

Hardware wallet providers working with an Operating System use an off-the-shelf one. Secure Elements can be purchased in one of two ways:

  • A Secure Element with a generic OS already on it.
  • A completely blank Secure Element, not having any Operating System.

The generic OS on the Secure Element does not fit the requirements for developing blockchain applications, whereas BOLOS does.

How does BOLOS help make Ledger hardware wallets special?

Cryptocurrency Applications & Isolation

BOLOS allows for installing applications which are isolated from each other. BOLOS also keeps your 24-word recovery phrase isolated from the applications. 

Private data, such as your private keys will be protected and never leave the device due to the combination of BOLOS and the Secure Element.

Custom OS and applications
As shown in the schematic above, applications do not have an opportunity to interact with each other. Their communication goes directly and only to BOLOS, with no exceptions possible even for malicious users or developers.

Open: Anyone can develop and load their own apps

Thanks to the isolation and flexibility that BOLOS brings, third parties can easily develop applications for Ledger devices as well. Naturally, there is a process for being accepted as an official app on Ledger Live, which can be found here.

Signature and Genuineness Mechanisms

BOLOS allows the use of a system called a Root of Trust. Through it, we can verify the genuineness mechanism of your device when connecting it to Ledger Live (and Ledger Manager). It does the same for the installation of applications and updating your firmware. 

Verifying Your Transactions Physically

BOLOS also ensures that a physical confirmation needs to be given for each cryptocurrency transaction by the user through pressing either the left button (reject) or the right button (confirm). The device’s screen shows you the true details of the transaction you are about to make – your computer’s screen could be manipulated by a hacker. This cannot happen to your device’s screen.

what a custom OS enables

An Operating System on a device is vital for making it more user-friendly and for increasing its security. At Ledger, we believe it best not to use a generic OS for hardware wallets. We have developed BOLOS to make the most out of our hardware wallets for flexibility, security and user-experience reasons. BOLOS is designed to make full use of the features of a Secure Element. Ledger can proudly say that we have the only hardware wallet currently in the market that uses a Secure Element in combination with a custom Operating System.


Related article