Propuesta de Mejora a la Minería de Blockchain

Published on Author lopezLeave a comment

En estas semanas, lei el post 25-second irreversible confirmations for instant payments de @sdlerner, donde menciona: Bitcoin forwards a block by packing the block header with all the transactions contained in the block. This strategy, while being the most easy to analyze, is known to perform badly, both regarding block propagation latency and bandwidth usage.… Continue reading Propuesta de Mejora a la Minería de Blockchain

Armando una Blockchain (9)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post Ya estuve publicando detalles de mi proyecto personal de blockchain escrito en C#: https://github.com/ajlopez/BlockchainSharp Esta semana comencé otra implementación, esta vez usando JavaScript/NodeJS: https://github.com/ajlopez/SimpleBlockchain Es interesante comparar las dos implementaciones, una en un lenguaje tipado y otra en un lenguaje dinámico. Al igual que en C#, los conceptos bases a implementar… Continue reading Armando una Blockchain (9)

Armando una Blockchain (8)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post En el anterior post, describí parte de la virtual machine que estoy incorporando a mi proyecto personal de blockchain, escrito en C#, usando el flujo de trabajo de TDD: https://github.com/ajlopez/SimpleBlockchain Agregué un simple compilador de bytecodes, para simplificar algunos tests. Esta clase no es necesaria en producción, pero aún así quedó… Continue reading Armando una Blockchain (8)

Armando una Blockchain (7)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post En mi proyecto personal de blockchain: https://github.com/ajlopez/BlockchainSharp quiero tener la capacidad de ejecutar código, lo que se llama codechain, o smart contracts. He adoptado las ideas de la máquina virtual de Ethereum (ver el Yellow Paper de Ethereum). Algunas clases: Un DataWord representa un número usando 32 bytes. He implementado la… Continue reading Armando una Blockchain (7)

Armando una Blockchain (6)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post Esta semana pasada, agregué proceso de transacciones a mi proyecto personal de blockchain: https://github.com/ajlopez/BlockchainSharp En el anterior post, describí el Trie inmutable que estuve armando. Ahora voy a usarlo para guardar el AccountState por dirección de cuenta: public class AccountState { private BigInteger balance; public AccountState(BigInteger balance) { if (BigInteger.Compare(BigInteger.Zero, balance)… Continue reading Armando una Blockchain (6)

Armando una Blockchain (5)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post En esta semana pasada estuve trabajando bastante en mi proyecto personal: https://github.com/ajlopez/BlockchainSharp implementando una blockchain en C#, usando como es habitual el flujo de trabajo de TDD (Test-Driven Development). Un elemento que necesito implementar es el almacenamiento (store) de los estados de cuentas (en principio, voy a guardar sus balances). El… Continue reading Armando una Blockchain (5)

Armando una Blockchain (4)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post En este post quiero describir algunas de las partes esenciales a implementar en el ejemplo de blockchain que estoy escribiendo en: https://github.com/ajlopez/BlockchainSharp usando C# y TDD (Test-Driven Development). Lo principal a implementar son: – Bloques – Transacciones y los conceptos de: – Cuenta – Estado de Cuenta – Smart Contracts (ejecutados… Continue reading Armando una Blockchain (4)

Armando una Blockchain (3)

Published on Author lopezLeave a comment

Anterior post Siguiente post Agregué bastante código en estos días a mi simple implementación de una blockchain, escrita en C#: https://github.com/ajlopez/BlockchainSharp Como es usual, seguí el flujo de trabajo de TDD (Test-Driven Development), persiguiendo también la simplicidad en cada paso, haciendo baby steps, avanzando de a poco pero firme. En el anterior post mencioné el… Continue reading Armando una Blockchain (3)

Armando una Blockchain (2)

Published on Author lopezLeave a comment

Anterior Post Siguiente Post En los días pasados, escribí una primera implementación de una blockchain, usando TDD (Test-Driven Development). Las decisiones que tomé fueron guiadas por la simplicidad: la blockchain reside en memoria, y los bloques se identifican por un número y un hash. Dos bloques que tengan el número 42 son diferentes si tienen… Continue reading Armando una Blockchain (2)

Armando una Blockchain (1)

Published on Author lopezLeave a comment

Siguiente Post El mes pasado, febrero 2016, comencé a trabajar en el equipo de desarrollo de Rootstock, en un proyecto muy interesante que tiene “smart contracts” en una “blockchain” distribuida. En las semanas que pasaron, estudié las ideas e implementaciones de  Bitcoin, Ethereum, y criptomonedas. Estuve leyendo varios “papers”, libros, artículos y código. Mis enlaces:… Continue reading Armando una Blockchain (1)