Injective’s Novel Trezor Integration: Adding EIP-712 Support for all Ethereum Applications
Engineering talent is arguably the scarcest resource in the crypto industry, so we are extraordinarily lucky to have some of the most talented devs building Injective Protocol. With our work, Injective is increasingly expanding its contribution to the underlying open source infrastructure within DeFi.
Today we are proud to share a groundbreaking milestone for the space achieved by our engineers — Trezor support for the EIP-712 signature standard. This can allow a plethora of Ethereum based applications to be utilized by Trezor users.
Until now, all Trezor users were cut off from the opportunities presented by the blooming layer-2 (L2) ecosystems, including ability to participate in the recent NFT craze outside on Ethereum network and (more importantly) the Injective Staking Competition. Today we can finally mark this issue as “Resolved” as users globally can now participate in new forms of interoperation between Ethereum and Trezor. Basically, this allows us to sign Cosmos transactions using Ethereum wallets such as MetaMask and Trezor.
Injective’s Technical Overview of the Trezor EIP-712 Upgrade: Link
Cryptographic signatures are a key part of any blockchain. Abstracting away the technical aspects of the process, to confirm any transaction or action on-chain users are prompted to first prove ownership of the address from which the transaction is initiated.
From the user experience perspective, signing a transaction will lead to a Metamask pop up (or a pop up on an alternative wallet). The prompt will request to sign a hashed message. Before Injective’s development team was able to fix this issue, the message displayed was a hexadecimal string rather than readable text, so most users had to blindly trust the dApps and click “Sign”, unless they knew how to verify the hash themselves. This standard was a persistence security flaw on many levels.
Ethereum Improvement Proposal 712 (EIP-712) was introduced with an intention to improve security by conforming to the adage in crypto: don’t trust; verify.
Indeed, using the new standard users can easily verify the messages they are asked to confirm. Since then, many projects, including Injective, have adapted to the new signature standard, but some have found the integration to be technically challenging. Most critically, the delay to support EIP-712 by two hardware wallet providers, Ledger and Trezor, caused significant hindrances to a streamlined user experience within crypto.
Hardware wallets are an important tool that enables you to take complete control of your crypto. Two of the main players in the field are Ledger and Trezor, who account for a significant part of users both within and outside of the Injective community.
Shortly after beginning the Injective’s Equinox Staking competition, we have come across a re-occurring issue faced by our users that prevented many of them from participating. The problem was rooted in the long-lasting unresolved issue with the EIP-712 signatures on Trezor.
Injective’s Technical Solution
The beauty of open source culture in crypto enables external teams to collaborate and contribute to the open source code of other projects.
We quickly realized that if so many Injective users were facing this issue it meant that thousands of other users within the crypto space were facing these problems on a daily basis. So we quickly prioritized this task to help the Trezor team before the end of Equinox Staking.
Our engineering lead, Maxim, was able to bring EIP-712 message support to Trezor and has submitted the solution to Trezor’s team to review. Maxim’s work has finally passed the review and his seminal code now merged as part of the official code of Trezor. We are excited to see the solution live since it will be available to all users who accept firmware updates on their wallets.
What does this mean for Injective Users?
As a novel L2 solution, Injective Chain relies heavily on the EIP-712 typed data standard for interoperability between Ethereum and MetaMask.
In particular, it is critical to have this functionality so that users can seamlessly transfer their tokens from Ethereum to Injective Chain to take part in trading, staking, or participating in the governance of the protocol. We believe this feature update will be critical in reducing friction for our users as they explore the limitless possibilities of Injective.
What does this mean for the Crypto Ecosystem?
The issues related to EIP-712 support in hardware wallets are critical as the demand for L2 infrastructure rises.
The problem continued to become increasingly salient as more users started trading and minting NFTs, since many are minted through L2 solutions which almost all depend on EIP-712 as well. By successfully addressing this technical challenge, Injective is excited to eliminate another significant hindrance for many crypto users to participate in the multi-chain future and benefit from L2 solutions.
The upgrade helps Injective work towards creating a truly borderless DeFi universe by further accelerating the interoperability structures within crypto.
Additional Reading and References
- Injective’s Technical Overview of the Trezor EIP-712 Upgrade: Link
About Injective Protocol
Injective Protocol is the first layer-2 decentralized exchange protocol that unlocks the full potential of decentralized derivatives and borderless DeFi. Injective Protocol enables fully decentralized trading without any restrictions, allowing individuals to trade on any derivative market of their choosing. Injective Protocol is backed by a prominent group of stakeholders including Pantera Capital, one of the most renowned venture capital firms in the world, and the leading cryptocurrency exchange, Binance.
Want to learn more about Injective? Join us via the channels below!