Michelangelo Riccobene

Computer Engineer (MSc), Ethereum Core dev, Blockchain/trustless application architect

About Me

I design and build software systems taking into account architectural issues and human factors.

My professional interests concern trustiness security and reliability of systems, software architecture and the qualities it determines, as well as human-machine interaction.

I am an Ethereum core dev and I also design trustless applications using blockchain, cryptography and software engineering. Additionally, I am experimenting with employing large language models (AI) as support assistants for the systems I build.

I have written software using programming languages like C++, Java, Python, JavaScript/TypeScript, Solidity.

I live and swim in Genoa.

Ah, I think code is mostly for humans rather than for machines ;-)

Projects

Silkworm (Ethereum EL)

github.com/torquem-ch/silkworm

Open source C++ implementation of the Ethereum Execution Layer (EL) protocol.

Silkworm is a greenfield C++ implementation of the Ethereum Execution Layer (EL) protocol based on the Erigon Thorax architecture. It aims to be the fastest Ethereum EL client while maintaining the high quality and readability of its source code.

I contributed to the project by developing the C++ version of the header and body downloader for Proof of Work (PoW), adapting the innovative approach originally devised in Erigon.

Furthermore, I played a supportive role in the integration of Proof of Stake (PoS), specifically by implementing an inversion of control strategy as envisioned by our lead developer. This pivotal modification transformed the operational dynamic, enabling the Consensus Layer (CL) to direct the EL. This shift away from an EL-centric loop involving the CL to a more flexible architecture made it possible to plug different CL algorithms into the system, significantly enhancing its adaptability and performance.

Folks Finance

folks.finance

A capital markets protocol for borrowing and lending built on the top of the Algorand blockchain.

Folks Finance is a DeFi (Decentralized Finance) project developed by Blockchain Italia. I was instrumental in laying the foundation for this project and have been part of the team since its inception.

My role involved drafting the initial design of the protocol on the Algorand blockchain, at a time when there were no DeFi projects on Algorand and skepticism existed regarding the feasibility of such implementations.

My contributions also included the development of the core mathematical models and their practical implementation, thereby establishing the groundwork for what would become a pioneering DeFi service on the Algorand platform.

Ethereum Gateway

A serverless application that uses AWS Step Functions workflow to model an Ethereum transaction life cycle. It signs & submits a tx, tracks its outcome, speeds up or recovers it if lost.

The application enables an enterprise component to interact with an Ethereum-like blockchain using an HTTP REST interface hiding the underlying details.

The project uses the serverless framework (see here) so that the owner only pays when he/she uses it; it generates an AWS Api Gateway backed by lambda functions and uses MongoDB for persistence.

Thanks to its object-oriented model, the code is short and the lambda functions are clean (they only manage HTTP issues); persistence is schemaless to truly take advantage of the NoSQL paradigm. I used ethers.js for blockchain related stuff.

DeeCert

A decentralized application for document certification, contract acceptance and property transfer that issues ERC-721 tokens.

I was a member of the team that developed this application. We used the Universal Login framework for frictionless user experience with Ethereum-like blockchain, IPFS as document repository, an Ethereum sidechain as default blockchain, a transaction relay infrastructure to pay gas using tokens, the Arbitrary Message Bridge to transfer relevant tokens to the Ethereum mainnet and vice versa, react.js for the user interface and no servers!

Experience

Erigon

Ethereum Core Dev

Feb 2021 - Present

erigon @ github

Open source project

Initially, my role was in a specialized sub-team dedicated to the development of Silkworm, which is a C++ version of Erigon, an Ethereum client implementation. Presently, I am engaged in the quality assurance efforts for Erigon.

Blockchain Italia

Blockchain Solutions Engineer - Cofounder

Aug 2018 - Apr 2023

blockchainitalia.io

Blockchain Italia is a software house based in Milan specialized in fintech and blockchain solutions.

I employ the blockchain and some elements of cryptography to ensure trustiness, decentralization, privacy, reliability (certainty of data and code execution).

RSE

Software Solution Architect - Owner

Jan 2014 - Present

Mixing studies and practice

Working as a consultant, I apply the experience that I gained designing and implementating computer systems in various sectors, to solve the customer’s problems.

Deepit

Blockchain and dApp Engineer - Cofounder

Jul 2018 - Dec 2020

deepit.ch

We support companies in their approach to the blockchain world through the highest technological standards and the best expertise in the industry.

I was part of a team of talented people who built a decentralized application for document tokenization; during our collaboration, we have also jointly developed an extension for a DeFi token to bridge it with AAVE protocol.

During this time I also sketched some ideas on the use of blockchain and cryptography to disintermediate authority in real life scenarios.

Noku

Blockchain Engineer

Dec 2017 - Dec 2018

noku.io

Noku is not a software, is not a blockchain, is not a bank. It's a community of people that want to exchange value and trust.

I was in the ICO dev team. Later I co-designed the Ethereum smart-contracts of the TokenRaise platform which offers easy to use interfaces to create your own token and launch any blockchain crowdsale.

Jtech

Application Design, Engineering & Development

Jan 2014 - Dec 2022

Java Enterprise Applications

I am a partner of Jtech, a software house developing software to serve the needs of several different industries: energy governance, maritime, safety, assurance, pharmaceutical.

Telecom companies

Senior/Lead Software Engineer

Feb 2001 - Nov 2013

Reliability and scalability focused works

I worked in teams responsible of evolving a proprietary telephone switch (written in C++) in a soft real-time context. Relevant projects: VOIP implementation and quality/cost-based call routing; an interactive voice responder (IVR) in python with Asterisk as phone server.

The team pioneered the devops paradigm being responsible of the software development, hardware maintenance, networking configuration and service operation.

Education

University of Palermo

MSc in Computer Engineering

2000

Linear algebra, calculus, physics, systems theory, software engineering, artificial intelligence, statistics, programming languages are fun courses ;-)

I graduated cum laude with an experimental thesis on the control software of a generator. Relevant projects: construction of a language to program a numerical control lathe; construction of an ide with an interpreter for an image processing language; an object oriented library to do matrix calculation; parallel programming on a transputer board.

A Little More About Me

I have experience and expertise in:

  • object-oriented analysis design and development
  • design patterns
  • analysis & design of concurrent reactive and distributed systems
  • serverless paradigm
  • organization of Sql and NoSql data bases
  • cloud computing
  • networking
  • web development
  • blockchain development