lunes, 22 de marzo de 2021

A minar Ethers

🎵 Cavar cavar cavar cavar, en la mina quiero yo... 🎵

Creo que la mayor parte de la gente que trabaja en tecnología ya sabe que es una blockchain, por tanto no vamos a centrarnos en contar qué es, sino como es el proceso de minado en la blockchain de Ethereum. El proceso de minado es aquel con el que se van a realizar una serie de cambios en los datos que se almacenan en la blockchain. 

Todo empieza enviando transacciones a los nodos de la blockchain. Una transacción consiste en una modificación de la blockchain, por ejemplo para cambiar el saldo de las cuentas o para cambiar el estado de los smart contracts.

En el caso de Ethereum podemos enviar estas transacciones a dos tipos de cuentas:

  • Cuenta de contrato: cuenta donde se encuentra el código de un smart contract. Se envían transacciones a este tipo de cuentas con el propósito de ejecutar una parte del código.
  • Cuenta externa: una cuenta donde se almacenan los Ethers y que controla una persona. Se usa para enviar, recibir y almacenar criptomonedas.

Ambas transacciones quedan registradas en la blockchain, y podemos verlas en tiempo real desde la página de Etherscan.


Al enviar las transacciones, estas se quedan en estado pendiente hasta que los mineros las seleccionan para añadirlas al siguiente bloque. Esta selección se basa en el beneficio que les vayan a reportar las transacciones elegidas. Siempre escogerán primero aquellas que más gas vayan a utilizar y en las que el precio dispuesto a gastar por cada unidad de gas sea mayor, para obtener el mayor beneficio posible por bloque.




El gas es básicamente una unidad que mide la capacidad de computación necesaria para realizar las transacciones y podemos encontrar el coste en unidades de gas de cada operación que haya que utilizar al realizar la transacción en el Apéndice G del yellow paper de Ethereum. Este concepto permite que la blockchain sea más segura evitando por ejemplo el ataque del 51% además de que las unidades de gas * precio de gas es una parte de la recompensa que se va a llevar el minero por minar un bloque.



Un bloque es un almacén donde se van a guardar permanentemente las transacciones que no se han añadido anteriormente en otro bloque. Se puede ver como una una hoja de un libro de contabilidad donde se van apuntando las entradas y salidas y se lleva un control del saldo de cada cuenta.

No solo se guardan las transacciones, también se guarda otra serie de datos como el número del bloque, el total del gas utilizado, el nonce (que ahora explicaré), el hash del bloque anterior...



Una vez que se han añadido las transacciones al bloque, comienza el proceso de minado. En Ethereum se usa el algoritmo de consenso de Proof of Work (PoW) o prueba de trabajo, por tanto los mineros tienen que calcular un hash a partir de toda la información que guarda el bloque. El problema matemático a resolver para que el bloque se considere minado correctamente es que dicho hash tiene que representar un valor numérico menor a un número X dado, y para ello solo pueden ir modificando el campo del nonce.

El número X va cambiando dependiendo de la dificultad del bloque, que a su vez va cambiando según el tiempo medio de minado de un bloque que debería de estar entre 10 y 15 segundos. Si el tiempo medio de los bloques supera los 15 segundos entonces la dificultad del bloque baja, y por el contrario, si el tiempo medio baja de 10 segundos, la dificultad aumentará haciendo que la X sea un número más grande o más pequeño.

Debido a que este algoritmo de consenso no es muy sostenible, Ethereum cambiará próximamente su algoritmo de consenso dejando atrás el  de PoW para empezar a utilizar el de Proof of Stake (PoS) o prueba de participación.


Resuelto el problema que se pide, el minero tiene que avisar al resto de nodos de que ya ha terminado para que los demás comprueben que el bloque es válido. Para ello les envía el nuevo bloque.

El resto de nodos según van recibiendo el bloque minado, tienen que validar que el problema se ha resuelto correctamente, además de comprobar que las transacciones que van en el bloque se pueden realizar, es decir, que tienen el saldo necesario para realizar el cambio de estado en la blockchain.


Si el resto de nodos validan el bloque entonces este se añade definitivamente a la blockchain y el minero recibirá su recompensa: 2 Ethers + el gas total utilizado para realizar los cambios de estado en la blockchain.

Y una vez terminado este proceso, los nodos empiezan de nuevo la carrera por ser los primeros en minar el siguiente bloque de la blockchain para llevarse su recompensa.

Uyy, esto me gusta, voy a poner mi ordenador a minar... Dado que actualmente hay empresas que se dedican exclusivamente a la minería, no tiene mucho sentido poner nuestros ordenadores a minar en esta blockchain ya que es muy improbable que una única máquina consiga resolver el problema propuesto antes que todas aquellas que trabajan en armonía para estas empresas mineras.

🎵 Ay ho, ay ho la hora ya llegó... ay ho, ay ho, a casa vuelvo yo..🎵 

miércoles, 17 de febrero de 2021

Old Problems New Stages

We always been very busy even to improve...

It has been a little over six months that the dynamics have changed dramatically in Pronoide, as well as it has changed for so other many companies, families and individuals. In its day we already exposed in this blog which approach we were going to take to face the convolution that was oncoming due to Covid19. In this article, I would like to do a bit of retrospective of this period of time and try to foresight what in the short-medium term holds for us with what we currently know. 

Here we can see the f
Here we see the Pronoide growth function f convolved by the covid-19 function g

During the second quarter of the year, we focused on increasing our presence in social networks and gaining control over our digital properties... We reactivated this blog, our twitter account, and also caught up with networks of prefessionals on  LinkedIn. We created Facebook and Instagram profiles. We produce a lot of videos on our YouTube channel. We also redesigned our corporate website. In fact, we are dedicated  to all those things for what we never had enough time. Those first months of the crisis, ended with the integration of a payment gateway in our Website (Stripes). We also started to teach open calendar courses for individual students, instead of the business courses we normally teach. Now we can sell on our Website any training service that we develop. 

During this time, we also learned to use Google, Facebook, and LinkedIn advertising campaigns to spread our activities and initiatives that were taking place in our company day by day. We have implemented marketing campaigns focused on Spain, but also others focused on Latin America. Honestly, now we would be able to teach Community Manager or Social Media courses for companies.

We are finally present and active in most social networks

At the beginning of the third quarter of the year, in July, we started a new project. We have created our own online training platform, which we have called Ergane, to teach courses in two mixed ways. On the one hand, webinar sessions led by the trainer; and on the other hand, self-service contents and exercises for students. We have managed to portray our materials generation methodology and everything that we have learned about video editing, now we can create training itineraries available to the student for a specific period of time according to the length of the course - such as three weeks, two months, etc-. 

Ergane, our teletraining platform now available

Since the beginning of the crisis, we discovered that the business of online training for companies has made us accumulate significant 'losses' during all those six months from April to September. While child school life has not resumed it was not going to be as simple as perhaps we had thought at first. In addition to the losses related to the seasonal break that we always have in summer. Well, we always preferred to call it investment rather than a loss. In April, we reacted fast enough and we requested an ICO loan which we received. Although it does not fully cover our 'invested' amount, at least would cover the company over the next five years. So, we try to see this year 2020 as the year of concentrated R&D for the next five ones. It is also appreciated that among more than 30 individual investors on our project none have backed down during this fateful year. Throughout this period, the only economic measure we have taken 'against' the interests of our employees has been the adjustment of the length of the vacations to those defined in the labour agreement. Normally, in Pronoide the total vacation days taken by employees aren't tracked- it is a compensation for not having the highest wages in the market.

We invest today to have benefits tomorrow

Currently, we are already in the last quarter of the year handling turnover figures that do not differ much from the rest of the quartes of the last years - indeed they are a bit lower -. We do not know how it is going to end 2020. However, the other day a member of our team commented at the meeting: 'I know I always tell you, but we need more trainers on the staff'. And I smiled with joy. It is truth that in Pronoide the problem that has always limited us to grow is the lack of trainers to provide all the training demand comes to us. We get more course requests than those we can teach despite of the fact that we do not have commercials. So I take this old problem as a sign that all things are coming back to normal. -Like the true sign that we are recovering from the crisis and getting into a new scenario where a lot has yet to change. However, for us it means returning to our old challenges from the past with the new ones discovered in the present during this year.

My face smiling the other day at the meeting 

In conclusion, to face all these challenges we are going to hire more employees - we are looking for three new to be part of our team - . We are going to accelerate digital transformation of our business process - trying to apply RPA techniques to manage tasks -. We are going to expand the scope of our project to the international market - we are looking back at Latin America and European market for training -. Finally, we are going to continue preparing ourselves for the upcoming challenges while we solve the problems that come from the past. 

Now is the time to take action!

All images are taken from https://pxhere.com/ under the CC0 license.