Introducing Fewcha EBCI Protocol: Performance and Security

Fewcha Move Wallet
Fewcha Aptos Wallet
2 min readAug 20, 2022

What is EBCI Protocol?

EBCI Protocol defines and implements tubular communication, based on Broadcast Channel, between components of an extension wallet which are Extension, Background Worker, Content, and In-page.

Extension is the wallet itself which provides interfaces to allow dApp (external) to connect and handle transactions.

Background Worker is the background service worker of an extension to monitor events triggered by browsers. Once it has been loaded, an extension’s service worker generally keeps running as long as it is performing an action.

Content is the set of content scripts that creates and injects In-page scripts to dApp website. It is responsible to handle the communication between dApp website and Background Worker

In-page is the set of injected scripts that injects to the dApp website and allows the dApp website to access the extension provider.

How does EBCI Protocol work?

EBCI establishes a tube (connection tunnel) between two components.

  • Extension vs Background Worker
  • Background Worker vs Content
  • Content vs In-page

This implementation provides delegation & isolation whereby

  • Each component is delegated to handle the communication within its scope.
  • Each component has an isolated connection tunnel (tube) to the direct neighbor components.
  • The message sender is verified and the messages are broadcasted to the correct receivers.

The following diagram explains how EBCI works:

Security

A component can only communicate with another component if there is connection tunnel (tube) between them. Only verified sender can send messages through this tube to a known receiver.

EBCI Protocol mitigates the risks of being attacked when receiving non-relevant messages from unverified sources including the external source (other extensions) and internal sources (between components).

Performance

Messages are broadcasted to selected receivers via persistent tube from a verified sender. A receiver no longer needs to loop-filter the incoming messages and this shortens the processing time at every checkpoint.

In general, any specific task execution time is greatly reduced and benefits the user experience of Fewcha when fetching real-time data like token, NFT, balance, transaction, and more.

Stay up to date

This article provides a summary of the technology framework that we are working on. We love to ship incremental value to our products. To keep up to date on our progress regarding development tools, and integrations, follow our Twitter and join our Discord.

About Fewcha Wallet

Fewcha is developed by a team with 15+ years of experience in software development combined with 5 years of working on blockchain. Fewcha is aimed to be the #1 trusted crypto wallet for the Aptos ecosystem.

Fewcha provides a user-friendly crypto wallet with optimal UI/UX crafted by blockchain lovers & blockchain builders.

Fewcha also provides a web3 connection for dApps builders to integrate with the Aptos ecosystem in a handy way.

Website | Discord | Twitter | Github | Telegram | Extension

--

--

Fewcha Move Wallet
Fewcha Aptos Wallet

We build the wallet for the next the safest and most scalable Layer 1 blockchain — Aptos