Bitcoin desde cero

Bitcoin desde cero

Programador bitcoin

Encuentro fascinante el blockchain porque extiende el desarrollo de software de código abierto a código abierto + estado. Esto parece ser una innovación genuina/excitante en los paradigmas de la computación; no sólo llegamos a compartir el código, sino que llegamos a compartir un ordenador en funcionamiento, y cualquiera en cualquier lugar puede utilizarlo de una manera abierta y sin permisos. Podría decirse que las semillas de esta revolución empezaron con Bitcoin, por lo que sentí curiosidad por profundizar en ella con cierto detalle para comprender intuitivamente su funcionamiento. Y en el espíritu de «lo que no puedo crear no lo entiendo», ¿qué mejor manera de hacerlo que implementarlo desde cero?
Vamos a crear, firmar digitalmente y emitir una transacción de Bitcoin en puro Python, desde cero y con cero dependencias. En el proceso vamos a aprender bastante sobre cómo Bitcoin representa el valor. Vamos a por ello.
Primero queremos generar una nueva identidad criptográfica, que no es más que un par de claves privadas y públicas. Bitcoin utiliza Criptografía de Curva Elíptica en lugar de algo más común como RSA para asegurar las transacciones. No voy a hacer una introducción completa a la ECC aquí porque otros han hecho un trabajo significativamente mejor, por ejemplo, encontré la serie de entradas del blog de Andrea Corbellini como un recurso excepcional. Aquí sólo vamos a escribir el código, pero para entender por qué funciona matemáticamente tendrías que ir a través de la serie.

Aprendiendo sobre bitcoin

Según esa lógica, todo se ejecuta en un navegador. El principio de equivalencia computacional nos dice que un lenguaje completo de Turing puede hacer lo mismo que cualquier otro.Así que sí, todo puede ser policompletado o transpilado.Pero eso no se ajusta realmente a lo que yo entiendo por «Corre en el navegador».
> El PoW es suficiente si el hash comienza con un cierto número de 0sEsta es una explicación común de PoW, pero en realidad es incorrecta. Si lo piensas, esto significaría que la dificultad del PoW sólo podría aumentar (o disminuir) en un factor de dos. En realidad, el hash del bloque se interpreta simplemente como un número (muy grande), y este número debe ser menor que otro número muy grande (el «objetivo»). Por lo tanto, acabas con un montón de ceros a la izquierda, pero esto es sólo un efecto secundario, no la cosa que se está midiendo.
Por supuesto. Gracias por señalar esto. Si la dificultad se ajusta en factores de dos, la capacidad de la red para mantener con precisión su tiempo de bloqueo de 10 minutos se ve afectada.Trato de mantener estos conceptos bastante simplificados para facilitar el proceso de lectura y aprendizaje. Quizás debería haber una nota para estas situaciones.

Programación de bitcoin: aprende a …

Aprende a programar una librería de Bitcoin con esta guía práctica de uno de los principales profesores de bitcoin y programación de bitcoin. El autor Jimmy Song te muestra los fundamentos, incluyendo las matemáticas, los bloques, la red y las APIs que hay detrás de esta popular criptodivisa y su sistema de pago blockchain. Este libro es ideal para los programadores que buscan cambiar el curso de sus carreras, las empresas que exploran las aplicaciones de Bitcoin y los estudiantes que toman una clase de nivel universitario. Puede utilizar este libro como herramienta de formación para ayudarle a aprender los conceptos de Bitcoin y luego como una práctica guía de referencia una vez que empiece a construir su biblioteca de Bitcoin.Aprenderá cómo:
Jimmy Song es un programador con 20 años de experiencia, los últimos 4 en Bitcoin. Es el editor de bitcointechtalk.com y tiene un blog en medium.com. Ha contribuido a Bitcoin Core así como a otros proyectos de Bitcoin. Fue vicepresidente de ingeniería en Armory, un monedero de Bitcoin.

Comentarios

Sumérjase en la tecnología Bitcoin con esta guía práctica de uno de los principales profesores sobre Bitcoin y programación de Bitcoin. El autor Jimmy Song muestra a los programadores y desarrolladores de Python cómo programar una biblioteca Bitcoin desde cero. Aprenderás a trabajar con lo básico, incluyendo las matemáticas, los bloques, la red y las transacciones que hay detrás de esta popular criptodivisa y su sistema de pago blockchain.
Al final del libro, entenderá cómo funciona esta criptodivisa bajo el capó codificando todos los componentes necesarios para una biblioteca Bitcoin. Aprenda cómo crear transacciones, obtener los datos que necesita de sus compañeros y enviar transacciones a través de la red. Tanto si está explorando las aplicaciones de Bitcoin para su empresa como si está considerando una nueva trayectoria profesional, este práctico libro le ayudará a empezar.
Jimmy Song es un programador con 20 años de experiencia, los últimos 4 en Bitcoin. Es el editor de bitcointechtalk.com y tiene un blog en medium.com. Ha contribuido a Bitcoin Core así como a otros proyectos de Bitcoin. Fue vicepresidente de ingeniería en Armory, un monedero de Bitcoin.

Acerca del autor

Marta

Ver todos los artículos