project screenshot 1
project screenshot 2
project screenshot 3

IPSProtocol

IPSProtocol aims to erradicate Web3 hacks by embedding smart contract security directly into the protocol's layer and consensus process. Our goal is to offer dapps the tools to analyze, detect hacks and reverse malicious transactions, ensuring a safer ecosystem.

IPSProtocol

Created At

ETHOnline 2023

Project Description

After extensive research spanning several months on effective smart contract hack prevention, it became evident that the key was to integrate application layer (smart contracts) security back into the infrastructure layer. IPSProtocol empowers DApps to proactively prevent malicious transactions with confidence, in a decentralized and transparent way.

How it's Made

I've been contemplating the concept of IPSProtocol for a while. Although I had designed it, I hadn't put it into action. The Global hackathon presented an ideal two-week window to do so. However, even with that timeframe, diving into the go-ethereum code was a challenge since I hadn't worked with it before. Given the complexity of the project, I decided to go Solo. I have tried to onboard a few people but the asynchronous communications and the difficulty in finding reliable information on the candidates made me decide to spare time and hack solo.

I opted to fork geth for its advanced tracer capabilities and EVM compatibility. Additionally, understanding the execution client's implementation was crucial, especially if we were to transition this project to a production environment. Geth, being a mature client, seemed like the best choice.

Initially, I aimed to modify the smart contract deployment parameters to mandate the inclusion of a security smart contract. This would ensure projects prioritize their safety. However, what seemed like a minor API parameter adjustment turned out to be a significant overhaul, given its integration with the RLP protocol for storage and communication. As a result, I decided to maintain the security smart contract mapping within the smart contract itself, similar to proxies.

On the development tools front, I encountered challenges. While Brownie syncs seamlessly with Ganache and Hardhat, it struggles with the geth client. Hardhat fares better, but it's not perfect. I've always believed in Apeworx's potential, but their limited documentation has been a hurdle. Every few months, I revisit it, but often find it challenging to utilize effectively. For now, Brownie remains the more comprehensive tool.

Nothing hacky. I really tried to implement the flow as they would work in production. maybe should have mocked a few things to be able to demo it.

background image mobile

Join the mailing list

Get the latest news and updates