The Evolution of Blockchain Technologies

  • Andrea Vitaletti – University of Rome “La Sapienza”, Italia.

Breve resumen de la materia

El paradigma dominante para ofrecer servicios a través de Internet es el modelo Cliente/Servidor. A pesar de ser muy efectivo, presenta algunos problemas, entre los cuales se incluyen un único punto de falla, la falta de resistencia a la censura y la dependencia de terceros de confianza. El modelo P2P (Peer-to-Peer) ha surgido en el pasado como una alternativa para abordar estos problemas. En octubre de 2008, Satoshi Nakamoto escribió el whitepaper sobre Bitcoin, la primera criptomoneda descentralizada. Los nodos en la red P2P de Bitcoin verifican las transacciones mediante criptografía y las registran en un libro mayor público y distribuido, llamado blockchain, sin supervisión central. El consenso entre los nodos se logra mediante un proceso computacionalmente intensivo basado en la prueba de trabajo, conocido como minería, que asegura la blockchain de Bitcoin.

Desde entonces, la tecnología Blockchain ha evolucionado para soportar cómputo general más allá de las criptomonedas (es decir, contratos inteligentes) y actualmente está surgiendo el concepto de Web3.0, es decir, una Web descentralizada. A pesar de la impresionante tecnología y la promesa de impactar muchos aspectos de nuestra vida, las Tecnologías de Registros Distribuidos aún deben demostrar su impacto más allá de las criptomonedas.

El curso se basa en la experiencia adquirida durante varios años de enseñanza de Tecnologías Blockchain en la Universidad Sapienza de Roma.

Abstract

The dominant paradigm for providing services over the Internet is Client/Server. Despite being very effective, it suffers from some problems, among them being a single point of failure, being not censorresistant, and relying on trusted third-parties. P2P has emerged in the past as an alternative approach to deal with those problems. In October 2008, Sathosi Nakamoto, wrote the whitepaper on Bitcoin, the first decentralized cryptocurrency. Nodes in the peer-to-peer bitcoin network verify transactions through cryptography and record them in a public distributed ledger, called a blockchain, without central oversight. Consensus between nodes is achieved using a computationally intensive process based on proof of work, called mining, that secures the bitcoin blockchain.

Since that time, the Blockchain technology evolved to support general computation beyond the cryptocurrency (i.e. smart contracts) and nowadays the concept of Web3.0, namely a decentralized Web is emerging. Despite the beautiful technology and the promise to impact in many aspects of our life, Distributed Ledger Technologies still have to demonstrate their impact beyond cryptocurrency.

The course is based on the experience made in some years of teaching Blockchain Technologies at Sapienza University of Rome.

Objetivos del curso

El curso sobre la evolución de las Tecnologías Blockchain está diseñado para proporcionar una comprensión inicial de los principales conceptos más allá de la Blockchain, el desarrollo de contratos inteligentes y aplicaciones descentralizadas (dApps).

Al finalizar el curso, los asistentes deberían ser capaces de diseñar y desarrollar una aplicación descentralizada simple que interactúe con un contrato inteligente escrito en Solidity. Los asistentes deberán ser capaces de comprender claramente los pros y los contras del desarrollo de tales aplicaciones e identificar los casos de uso en los que la Blockchain puede ser, de hecho, un factor decisivo.

Objectives of the Course

The course on the evolution fo Blockchain Technologies is designed to give a first understanding of the main concepts beyond the Blockchain, the development of smart contracts and Decentralized applications (dApps).

At the end of the course, attendees should be able to design and develop a simple Decentralized Application interacting with a Smart Contract written in Solidity. Attendees should be able to clearly understand the pros and cons of developing such applications and to identify the use cases where the Blockchain can be indeed a game changer.

Programa

  • Introducción a las Tecnologías de Registros Distribuidos (DLT). Redes distribuidas fomentando una gobernanza descentralizada. La evolución de DLT desde las transacciones, pasando por los contratos inteligentes, hasta llegar a las aplicaciones descentralizadas (dApps). Tipos de Blockchain. 
  • Ingredientes técnicos de la Blockchain: Fundamentos de los elementos criptográficos. Funciones hash y árboles de Merkle. Redes distribuidas. Estructura de datos de Blockchain. Consenso. 
  • La evolución del Consenso: El problema de los generales bizantinos. Prueba de trabajo (Proof of Work). Prueba de participación (Proof of Stake). Prueba de participación pura (Pure Proof of Stake). El Trilema de la Blockchain: seguridad, escalabilidad y descentralización. 
  • Contratos inteligentes: De las transacciones a las máquinas de estado. Contratos inteligentes. Ethereum. Fundamentos de programación en Solidity. 
  • Aplicaciones descentralizadas (dApps): De la Web 2.0 a la Web 3.0. La estructura básica de una dApp y su integración con los contratos inteligentes.

Brief Index

  • Introduction to Distributed Ledger Technologies. Distributed networking fostering a decentralized governance. The evolution of DLT from transactions, to smart contracts and finally to Decentralized applications (dApps). Types of Blockchain.
  • Blockchain Technical Ingredients: Basics of crypto ingredients. Hash functions and Merkle Trees. Distributed Networks. Blockchain data structure. Consensus
  • The evolution of Consensus: Byzantine Generals Problem. Proof of Work. Proof of Stake. Pure Proof of Stake. The Blockchain Trilemma: security, scalability, and decentralization.
  • Smart Contracts: From transactions to state machines. Smart Contracts. Ethereum. Basics of coding in Solidity.
  • Decentralized applications (dApps): From Web 2.0 to Web 3.0. The skeleton of a dApps and the integration with the smart contracts.

Prerrequisitos

No se requiere ningún conocimiento específico, aun cuando algún conocimiento básico acerca de redes informáticas y criptografía podría ser útil.

Preferred Background

No specific background is needed, even if a basic knowledge of networking and cryptography can help.

Bibliografía

  • Mastering Bitcoin. Programming the Open Blockchain By Andreas M. Antonopoulos, David A. Harding 2023 https://github.com/bitcoinbook/bitcoinbook
  • Mastering Ethereum: Building Smart Contracts and DApps. by Andreas Antonopoulos, Gavin Wood Ph.D. https://github.com/ethereumbook/ethereumbook
  • Hussein, Z., Salama, M.A. & El-Rahman, S.A. Evolution of blockchain consensus algorithms: a review on the latest milestones of blockchain consensus algorithms. Cybersecurity 6, 30 (2023). https://doi.org/10.1186/s42400-023-00163-y
  • Foundations of Distributed Consensus and Blockchains by Elaine Shi http://elaineshi.com/docs/blockchain-book.pdf
  • Bitcoin: A Peer-to-Peer Electronic Cash System https://bitcoin.org/bitcoin.pdf