Tecnologías digitales. Tendencias tecnológicas. Estándares. Personajes.

buenas prácticas para la construcción de software como servicio

Doce buenas prácticas para la construcción de software como servicio

Uno de los paradigmas que trae consigo el cloud computing es el ofrecimiento de las capacidades IT como un servicio siguiendo el modelo de utility empleado en agua, electricidad, etc. Una de las formas, quizá la más avanzada, de esa prestación ‘como servicio’, sea el Software como Servicio (SaaS, ‘Software as a Service‘).   Proporcionar…

ciberseguridad con Mónica Valle

Una introducción a la ciberseguridad con Mónica Valle

‘Ciberseguridad. Consejos para unas vidas digitales mas seguras‘ es un libro más bien corto y de intenciones eminentemente divulgativas, en que se aborda la temática de la ciberseguridad pero no desde el punto de vista de la tecnología exactamente sino, más bien, desde su percepción y empleo por parte de usuarios finales, y pensando principalmente…

Blockchain es una tecnología muy relevante en el panorama actual pero no es precisamente una tecnología sencilla de entender. Quizá porque es intrínsecamente compleja, quizá porque, en realidad, más que una tecnología por sí misma es una combinación de tecnologías que proporcionan la base para una diversidad de soluciones y casos de uso. Así que agradezco cualquier aportación que ayude a estructurar y hacer más digerible el mundo del blockchain. He comenzado a leer una las obras más relevantes publicadas actualmente, a saber, el libro 'Mastering Ethereum' de Andreas M. Antonopoulos y Gavin Wood. En el primer capítulo, de intención divulgativa, los autores identifican los ocho componentes que ellos entienden que suelen estar presentes en todas las plataformas de blockchain públicas. Y estos son los componentes que identifican: Una red Peer-to-Peer que conecte a los participantes y propague las transacciones y los bloques de transacciones verificadas Mensajes, en forma de transacciones, que representen cambios de estado. Un conjunto de reglas de consenso, que gobiernen lo que constituye una transacción y qué transacciones son válidas. Una máquina de estados que procese las transacciones con arreglo a las reglas de consenso. Una cadena de bloques securizada mediante criptografía que recoja todas las transacciones verificadas y aceptadas Un algoritmo de consenso que descentralice el control sobre la cadena de bloques haciendo que los participantes colaboren en el cumplimiento de las reglas de consenso. Un esquema de incentivos que asegure económicamente la máquina de estados en un entorno abierto. Una o más implementaciones de lo anterior en un entorno abierto. Y luego, hacen un 'mapping' a los ocho componentes específicamente de Ethereum. Y se traduce en lo siguiente: Red Peer-to-Peer: En concreto, Etehereum se ejecuta sobre la red denominada 'Ethereum main network' que se encuentra a nivel de protocolo TCP en el puerto 30303. Reglas de consenso: Ethereum dispone de unas reglas de consenso descritas la especificación de referencia (Yellow Paper). Transacciones: Las transacciones en Ethereum son mensajes de red que incluyen entre otras cosas. al emisor/receptor, el valor y la carga de datos (payload). Máquina de estados: En Ethereum existe la 'Ethereum Virtual Machine' (EVM), una máquina virtual que ejecuta bytecodes y cuyos programas, los llamados contratos inteligentes, se escriben en lenguajes de alto nivel y se compilan a bytecodes para su ejecución. Estructuras de datos: El estado de Ethereum se almacena localmente en cada nodo, como una base de datos, que contiene las transacciones y el estado del sistema en una estructura de datos serializada. Algoritmo de consenso: Ethereum adopta un mecanismos de consenso similar al de Bitcoin en que se usa la firma secuencial de bloques, ponderada por la importancia de la prueba de trabajo ('Proof of Work', PoW) para determinar la cadena más larga y, por tanto, el estado actual. Seguridad económica: Ethereum usa 'Ethash' como algoritmo de PoW. Clientes: Existen ya varias implementaciones de clientes interoperables de los cuales, los más relevantes son 'Go-Ethereum (Geth)' y 'Parity'. Hay que reconocer que esta explicación, por sí misma, tampoco es precisamente cristalina, pero, aunque todavía hay mucho que 'rascar' para entender realmente blockchain en general, y Ethereum en particular, la identificación de estos ocho componentes creo que ayuda a poner, al menos, esa estructura que voy buscando.

Los ocho componentes de una blockchain pública y los ocho componentes de Ethereum

Blockchain es una tecnología muy relevante en el panorama actual pero no es precisamente una tecnología sencilla de entender. Quizá porque es intrínsecamente compleja, quizá porque, en realidad, más que una tecnología por sí misma es una combinación de tecnologías que proporcionan la base para una diversidad de soluciones y casos de uso.   Así…

Ética para Web Scraping

Ética para Web Scraping

Últimamente oímos hablar de ética en relación con la tecnología, muy especialmente con la Inteligencia Artificial. Y es afortunado que así sea porque la ética es un fundamento de nuestra sociedad y porque, en efecto, algunos avances científicos y tecnológicos desafían tanto el ‘status quo‘ y abren posibilidades tan desafiantes, que conviene acompañarlas, precederlas a ser posible,…

algoritmos de Optical Character Recognition

Los algoritmos de Optical Character Recognition con Arindam Chaudhari et al.

‘Optical Character Recognition for different languajes with soft computing‘ es una obra muy especializada y técnica sobre reconocimiento óptico de caracteres. Su objetivo es mostrar el trabajo llevado a cabo por el equipo que redacta el libro y con el que quieren demostrar que las técnicas de soft computing son más efectivas que los algoritmos…

colaboración entre humanos y robots

Dos pensamientos sobre la colaboración entre humanos y robots

No quisiera con el título de este artículo generar unas expectativas desmedidas. No voy a hacer un tratado completo sobre la relación entre humanos y robots, por más interesante que me resulte el tema. Ni voy a analizar de manera profunda las implicaciones técnicas, sociológicas, legales o laborales que esta colaboración implica.   Lo que…