Engineers thoughts: Fireblocks SI partnership

Subscribe to our newsletter
August 9, 2023

Engineers thoughts: Fireblocks SI partnership

To celebrate being the first accredited Fireblocks Systems Integrator (SI), we sat down with three of our engineers - Roberts, Stoyan and Yiannis - to discuss the training they received, the potential challenges one might face when trying to implement the technology, and why they’re excited about the new partnership.

Roberts Ivanov
Senior Software Engineer
Extensive experience using Rust for backend work and real time communication.

Previously worked with Solidity/dApp development and in the IoT industry.
Stoyan Kirov
Senior Software Engineer
10+ years of software development experience with background in Go, JS and Rust.

Previously worked with distributed cryptography, confidential computing and in the fintech industry.
Yiannis Marangos
Senior Software Engineer
Seasoned professional with experience in Rust, UNIX systems and network programming.

Previously worked with developing backend services on Linux embedded devices.

Q: What did you learn during the training? 

Stoyan: I was surprised by how intuitive the platform is to work with. Fireblocks has done a lot to make blockchain accessible and managed to abstract away a lot of the complicated and niche blockchain behavior.

Yiannis: I thought it was interesting to learn more about MPC-CMP and how Fireblocks used it to develop a non-custodial wallet that can interact with their cloud services. That was quite a neat solution that I hadn’t seen before.

Roberts: I agree - the MPC solution was interesting as well as learning how Fireblocks enables offline signing using optical sensors. In addition, given that I’ve previously focused more on developing dApps, the training was a good refresher on some blockchain fundamentals.

Yiannis: To expand on the MPC point - the technology essentially allows splitting the private key into multiple parts and delegating signing to 3 different entities (usually 2 servers and 1 human). No one knows the entire private key and it’s never fully constructed, but by combining all three signatures you get the final signature for the message.

In addition to that, Fireblocks uses a second layer of protection with Intel SGX (Trusted Execution Environment, or TEE). All computations and communications are done within enclaves, which makes a compromise impossible even if you had physical access to the machine.

Q: Was there something during the training that you found particularly challenging?

Roberts: The most challenging part for me was grasping TAPs (Transaction Authorization Policy), which restricts different transactions in the system. It’s a clever way of systematically authorizing various outgoing transactions from the wallet. It’s not a particularly hard concept, but there is still a learning curve to understand when and how they get executed/applied.

Yiannis: I also found TAPs quite challenging especially when trying to express some more complicated rules. TAPs are inspired by how firewall rules work, i.e. applied from top to bottom. When one rule matches, the remaining rules below are ignored. The hard part was that when applying some high-level logic, it had to be split into 2-3 rules and placed in the correct position in the list of rules.

Q: How does Fireblocks try to make the developer experience smoother?

Roberts: I have previously faced the exact issues and pain points that Fireblocks solves. For example, the process of securely managing private keys, creating a quorum for a given transaction on a shared wallet or communicating with multiple chains. Solutions in the past would span from creating on-chain wallets to custom backend services with complex chain monitoring solutions. Now we can use Fireblocks instead.

I only wish I could use it for my side hustles as well, or even as my personal crypto wallet!

Yiannis: Apart from the SDK, it also enables doing raw calls to the blockchain which is a nice feature. Raw calls are particularly helpful when the developer needs to interact with newer contracts that aren’t yet integrated into the SDK.

Q: For a customer that is looking to implement Fireblocks - What potential risks or challenges can you think of?

Stoyan: Although the Fireblocks platform has many safeguards and security features, that's also kind of its achilles heel. The ease of use can lead to a false sense of security and not correctly understanding what's going on behind the scene. This could lead to some unexpected behavior, and in the worst case put your operations at risk.

Q: Why are we (Eiger) the right people to help with those challenges that a customer might face when implementing Fireblocks?

Roberts: Fireblocks is a powerful tool for an expert in the domain, but it doesn’t mean that non-blockchain developers can pick it up in a single afternoon. They still need to familiarize themselves with the quirks and workings of the blockchain, which means the solutions might seem quite hard to grasp. 

We at Eiger have seen how solutions might look both with and without Fireblocks. Therefore, we understand what’s happening under the hood of their APIs. This combined with our blockchain knowledge means we can apply the best judgment and insights of when, how and why a given piece of technology should be used. 

Stoyan: I would add that we (engineers at Eiger) solve similar problems on a daily basis. The Fireblocks platform just speeds up development and provides the end user with a documented, good looking and easy platform to use, without us having to develop the UI from scratch.

Q: Do you have any previous experience that benefited you in the training and helped you understand how Fireblocks works?

Roberts: I have faced most of the problems that Fireblocks solves in one way or another while doing all kinds of crypto-related work for many clients during the past 2 years. This helped me understand how and why the Fireblocks solutions work the way they do and gave me even more appreciation for the engineering effort they have put into building the platform.

Stoyan: I found my previous experience from confidential computing (more precisely how Intel SGX technology works) quite helpful. Fireblocks heavily rely on it to keep services that handle sensitive data safe. I've also worked in a distributed cryptography company and the MPC protocol that Fireblock uses is very similar to what I've dealt with before, making it easier to understand.

Q: Finally, why are you excited to work with Fireblocks?

Roberts: Blockchain development is often viewed as a very difficult discipline. There are 3 components for almost every web3 project: frontend, backend, and blockchain. Blockchain was previously seen as the mighty beast that needs to be tamed and integrated into the other two (frontend and backend services). With Fireblocks, the taming of the beast becomes more structured and manageable, and the integration part is much less stressful.

Stoyan: Fireblocks adds a layer of abstraction over the blockchain, which makes development and integration with client projects way easier. Apart from that - the training was very professionally done and I’m looking forward to working with the rest of the team!

Yiannis: Fireblocks is a very nice cloud solution for non-custodial wallets. It is something that I never thought would exist, but the potential for this solution is huge and many products can be implemented with it.

Roberts: I would also love for them to target individuals. I really liked their product, and I believe there would be huge benefits for personal use. The UI is intuitive, with great visibility and oversight of what’s happening. Even a simplified version of the current product would suffice.

Thanks to all of you for taking the time to do this, and we look forward to working with Fireblocks and its partners in the future!

Subscribe to news from us

to receive company news, client cases and technical articles on the latest applications of blockchain and web3.
Thank you! Please verify your subscription by clicking on the link we've sent you.
Oops! Something went wrong while submitting the form.