Shyft Network: Purpose of the Shyft Bridge | Part 2 of 2
Shyft Bridge: 51% attacks resilience and future work plans
As mentioned in the previous piece, Purpose of the Shyft Bridge | Part 1 of 2 there has been ongoing research on how the Shyft Blockchain could be affected in the case of a 51% attack, and how Shyft Bridge in particular will recover.
To ensure normal functioning of the Shyft Bridge, the Shyft Bridge periodically interacts with Shyft Ring nodes by sending messages. The symbiotic relationship between the Shyft Bridge and the Shyft Ring is what enables Shyft to easily detect attacks on the Shyft Bridge. Moreover, the fact that a certain threshold of relayers need to sign off on roots before adding and relaying them helps us detect attacks. Since initially, relayers will be determined by Shyft, if the threshold of relayers don’t sign off on a merkle root, this is a sign that a significant portion of relayers may be down and thus an attack might be occurring on the network.
In order to have access to the bridging capabilities of the Shyft network while it is experiencing a 51% attack, we require the following:
- Enough honest nodes to continue to listen for transactions and if possible process those transactions
- Bridges are still connected to honest nodes
- Users can still make transactions
In the event of a 51% attack, the Shyft blockchain may become unusable. In this case, the honest nodes need to retain a minimum amount of information about the Shyft blockchain before it goes down.
We have outlined the following possible ways to maintain bridging functionality:
- Shyft Ring nodes can maintain two sets of blockchains: the complete Shyft blockchain and a truncated Shyft blockchain. The truncated Shyft blockchain will contain the modified block headers instead of the full block headers.
- When the Shyft Ring nodes are alerted of an attack, they can go into a sort of survival mode where they only store modified block headers. Once the attack has been mitigated, they can go back to storing full block headers. In order to incentive nodes to reconstruct the modified block headers, we will need to construct a game in which the nodes that rebuild block headers will be get rewarded.
- We can create a network of low storage nodes that store erasure-code fragments of blocks. This consists of creating fixed sized segments of the blocks and creating linear combinations of those fragments. In order to recover blocks, the nodes can just download the necessary coded-segments and perform inverse linear operations to get the desired blocks.The low storage nodes can use fraud proofs to make sure that they are indeed getting valid blocks from full nodes. A variation of this idea is to have the Ring nodes directly store these fragments as opposed to creating another network of nodes. Essentially, using erasure codes comes down to relatively simple matrix algebra. Again, we can build a game to incentive the nodes to recover blocks.
Future Work
The Shyft Bridge is an ongoing research project and a lot still needs to be determined. Here are ongoing areas of research that need to be completed before the Shyft Bridge is complete:
- Relayer selection and incentivisation is an ongoing problem when building out the client for the Shyft Bridge. Currently, Shyft will determine the relayers and use a reputation for maintaining their honesty. Moreover, they will be determined pseudorandomly using a Proof-of-Stake validator selection algorithm. We need to determine a less centralized approach to relayer selection and incentivisation.
- An intuitive user interface needs to be built so that users that want to transit their own assets across chains can do so on their own. It will make transiting assets for non tech-savvy users more accessible and will help Shyft gain mainstream adoption
- One of the purposes of the Shyft Bridge is to incentive good behaviour of Shyft Ring nodes. In the current implementation of the Shyft Bridge, there is no rewards for the Shyft Ring nodes when they have passed over the appropriate information and have not censored messages.
- As it stands right now, the Shyft Bridge only works for EVM-based blockchains. As other blockchain interoperability projects mature and get released, we will be researching ways on how to integrate them into the Shyft Bridge.
Shyft aims to create tailored solutions by introducing EVM (Ethereum Virtual Machine) customizations to optimize Ethereum’s underlying blockchain. In the next piece, we will outline just how we’ve modified Ethereum and EVM functionality to operate on large sets of data.
For a more general introduction to Shyft Network, please read Shyft’s CTO piece, published here: Shyft Tech Update: Intro to Shyft
Shyft Principles; Users and Their Data + Shyft System Design; Resolution, Redundancy, and CAP Formation.
***
Shyft is building the world’s first modern, secure, multi-stakeholder Blockchain-based digital identity solution that enables KYC/AML attested data transfers. Join our Telegram (https://t.me/joinchat/HhrB_hKGQDQKU7mhpzor_g), follow us on Twitter (https://twitter.com/shyftnetwork), GitHub (https://github.com/ShyftNetwork) and other channels found on https://www.shyft.network/