Posted on Leave a comment

BCubium out stock

BCubium out stock

We have not sent for a long time BCubium Because the motherboard on which it is mounted, the NanoPi NEO Plus2 Friendly Elect has stopped manufacturing it which has caused us to run out of supply.

There are several websites that sell the ones they have in warehouses at high prices but that does not guarantee supply in the medium term.

It is true that there are many other boards in the market but our bet was to have a minimalist Bitcoin full node, that is, of very small dimensions (FAQs) to have a node with larger measures, there are already very interesting solutions on the market.

The BCubium web project has been released on Github from the beginning in the BGeometrics BCubium-web repository. The rest of the project, which are installation, configuration and management scripts, will be released later.

BCubium is a complete Bitcoin node in a wenge wood cube of only 62 mm on a side to achieve these minimum dimensions. It is used:

  • Motherboard NanoPi NEO Plus2
  • CPU: Allwinner H5 , Quad-core 64-bit high-performance
  • DDR3 RAM: 1GB
  • WiFi: 802.11b / g / n
  • 500GB microSD Samsung or Lexar

On that hardware runs: 

  • Bitcoin Core 0.20
  • Lightning Network Daemon 0.10.0-beta
  • Tor 0.2.9.14
  • BTC RPC Explorer 1.1.8
  • Ride The Lightning 0.7-beta
  • WireGuard
  • BCubium 0.0 .1 It

It may seem that it is just about resources but it is enough for what a full node is required to do: update the Blockchain, request information through BTC-RPC Explorer or directly with RCP commands and basic operations with LND and Ride The Lightning. It falls short to synchronize the history of the Blockchain, that’s why it was sent preloaded and when starting the LND process it demands a lot of RAM so we adjust the parameters of Bitcoin Core reducing it. The use of Docker containers was not chosen due to the excess consumption of both CPU and RAM (Why don’t we use Docker in BCubium full node).

So with this notification we end our journey with BCubium, our minimalist full node. 

Posted on Leave a comment

Sin stocks de BCubium

BCubium out stock

Desde hace tiempo ya no enviamos BCubium porque la placa base sobre la que está montado, la NanoPi NEO Plus2 de Friendly Elect ha dejado fabricarlo lo que ha provocado que nos hayamos quedado sin suministro.

Hay varias websites que venden las que tienen en los almacenes a precios elevados pero eso no garantiza el suministro a medio plazo.

Es cierto que existen en el mercado otras muchas placas pero nuestra apuesta era tener un Bitcoin full node minimalista es decir de dimensiones muy reducidas (FAQs) para tener un nodo con medidas más grandes ya existen en el mercado soluciones muy interesantes.

El proyecto web de BCubium ha estado liberado en Github desde el principio en el repositorio BCubium-web de BGeometrics. El resto del proyecto que son scripts de instalación, configuración y gestión lo liberaremos más adelante.

BCubium es un nodo completo de Bitcoin en un cubo de madera de wengué de sólo 62 mm de lado para conseguir tener esas dimensiones mínimas se utiliza:

  • Motherboard NanoPi NEO Plus2
  • CPU: Allwinner H5,Quad-core 64-bit high-performance
  • DDR3 RAM: 1GB
  • WiFi: 802.11b/g/n
  • 500GB microSD Samsung or Lexar

En ese hardware se ejecuta: 

  • Bitcoin Core 0.20
  • Lightning Network Daemon 0.10.0-beta
  • Tor 0.2.9.14
  • BTC RPC Explorer 1.1.8
  • Ride The Lightning 0.7-beta
  • WireGuard
  • BCubium 0.0.1

Puede parecer que va justo de recursos pero es suficiente para lo que se le pide a un full node: actualizar la Blockchain, solicitud de información a través de BTC-RPC Explorer o directamente con comandos RCP y operativa básica con LND y Ride The Lightning. Se queda corto para sincronizar el histórico de la Blockchain, por eso se enviaba precargado y a la hora de arrancar el proceso de LND demanda mucha RAM por lo que ajustamos los parámetros de Bitcoin Core reduciéndola. No se optó por la utilización de contenedores Docker por el exceso de consumo tanto de CPU como de RAM (Why don’t we use Docker in BCubium full node).

Así que con esta notificación finalizamos nuestra andadura con BCubium nuestro full node minimalista.

Posted on Leave a comment

BCubium hardware

BCubium Board

Hardware

  • CPU: Allwinner H5,Quad-core 64-bit high-performance Cortex A53
  • DDR3 RAM:1GB
  • Storage: 8GB eMMC
  • Network: Gbps Ethernet
  • WiFi: 802.11b/g/n
  • Bluetooth: 4.0 dual mode
  • USB Host: 2 x Independent USB Host
  • MicroSD Slot: 1 x Slot. It supports system booting or is used to hold a storage card
  • Audio Input/Output: 4-Pin, 2.54mm pitch pin-header
  • MicroUSB: power input
  • Debug Serial: 4Pin, 2.54mm pitch pin-header
  • GPIO1:24Pin, 2.54mm pitch double-row pin-header containing UART, SPI, I2C and IO
  • GPIO2:12Pin, 2.54mm pitch pin-header containing USB, IR receiver,I2S and IO
  • Power Supply: DC 5V/2A
  • PCB Dimension: 40 x 52mm
  • PCB Layer: 6-Layer

And

  • BCubium Box 
  • Motherboard NanoPi NEO Plus2
  • 500GB microSSD
  • Power supply (with worldwide connectors)
  • Network Cable
Posted on Leave a comment

BGeometrics accepts payments with bitcoins

BTCPay

You can now buy the Bitcoin full node BCubium and pay in BTCs.

For BGeometrics it makes perfect sense to accept payments with Bitcoin since as a company we are focused on the use and spread of Bitcoin.

Until yesterday we only allowed payment by card payment or by bank transfer, the latter we have eliminated because it was not used.

We have installed thefor payments in Bitcoin BTCPay Server, which in addition to supporting payments in BTC has no cost for either the seller or the buyer, is open source and is built and maintained by a worldwide community of passionate collaborators.

Posted on Leave a comment

Generate private keys in Bitcoin safely and cheaply

private public keys

I had started writing this post when diving online I have come across several pages of bitcoiners who had already written about the generation of keys using Ian Coleman’s BIP39 tool plus the Tails system, so I will limit myself to putting the links already specify the steps roughly.

Resources

Operational

  1. Download Tails, verify the signature and copy it to a USB. We downloaded version 4.7
wget https://mirrors.ukfast.co.uk/sites/tails.boum.org/tails/stable/tails-amd64-4.7/tails-amd64-4.7.img

Check the image

https://tails.boum.org/install/linux/usb-download/index.en.html#command-line

Copy the image

dd if=tails-amd64-4.7.img of=/dev/sda bs=16M oflag=direct status=progress
  1. Start the computer from the Tails USB and configure Internet access.
  2. Download the bip39-standalone.html file from https://github.com/iancoleman/bip39/releases

For version 0.4.3 the command would be this:

wget https://github.com/iancoleman/bip39/releases/download/0.4.3/bip39-standalone.html -O /home/amnesia/Tor\ Browser\bip39-standalone.html
  1. Remove the Internet connection from Tails.
  2. Run bip39-standalone.html from Tor-browser. 
tor-browser /home/amnesia/Tor\ Browser\bip39-standalone.html
  1. On the page loaded in the browser generate the 24 words. Entropy can be added for greater security.
  2. Generate the passphrase with 6 random words from the Long Diceware Wordlist 

Save in a safe place

  • The list of the 24 words of the seed → My recommendation is to do it on one or more metal plates. References Metal Bitcoin Seed Storage Reviews could also be worth a simple stainless steel sheet .
  • The 6 words of the passphrase → Store them on one or more metal plates, different from the previous ones. We want to store the seed and the passphrase in different places.
  • Derived Addresses → These are our public addresses where we will have to enter the funds.
  • BIP32 Derivation Path → This value may be useful in the future when wanting to retrieve private keys in a wallet.
  • Account Extended Public Key → Key from which we can extract all our public keys.
  • BIP32 Extended Public Key (XPUB) → Key in BIP32 format to extract all our public keys.
Posted on Leave a comment

Import verification of Coldcard seed and passphrase at Electrum and Wasabi

Wallet Bitcoin

Before providing funds to our hardware wallet Coldcard (CC) It is important to make sure that in the future whatever happens we will be able to recover them.

Over the years many situations can arise whereby we find ourselves in the position of having to recover these funds without having the hardware wallet (hww), such as losing it or it being damaged and not being manufactured anymore, either because that model does not exist or because the company has closed. To this day we do not know which companies will exist and which will not exist in 10 years, and although it was still alive, technology evolves very quickly and within a few years devices that are now in common use may not be available, such as microSD memory cards, microUSB connectors, internal battery… 

Therefore it is vitally important to verify that we are going to be able to access the private keys that our hww handles. In this post we will test to recover these private keys from the CC addresses in other wallets from the generated seed and the passphrase that we have put.

There is documentation on this on the Coldcard website on how to carry out this operation, but I think that this is well worth a practical exercise to verify that this is the case. There is also apage walletsrecovery. where they give very valuable information about the compatibility between the different wallets.

  • Turn on the Coldcard, for this we connect it to an external USB charger or an adapter connected to a socket, never charge it with the USB connector of the computer we must keep the Coldcard always offline.
  • Put the prepin and the pin, you have to write it down because the device will request it whenever you turn it on. Do not save them on any digital medium or on the Internet, you have to minimize the risks.
  • Updating the firmware is optional but recommended, we will not go into it.
  • Create the wallet

Option: New Wallet

  • Add the passphrase and write it down because it is not saved in the hww. Important, it must be entered every time the Coldcard is started and you want to operate with these addresses.

Option: Passphrase → Edit Phrase → APPLY → OK

When you start the HWW it will not warn you that you have to enter it and the menus they have do not help but if you forget to enter it you will end up operating with other different Bitcoin addresses.

Option: Passphrase → A very long explanatory text but that is important because it indicates the problem of not entering it → Edit Phrase, It is not the best text for this option since what you have to do is enter your Passphrase and not edit it and then → APPLY → OK

When choosing the passphrase it is important that it is very difficult to discover on this page “Can BIP-39 passphrase be cracked?” they tell you how secure your password is.

  • Visualize your identity. 

Option: Advanced → View Identity to ensure that everything has been done correctly, we can check the fingerprint and that the text “BIP30 passphrase is in effect” appears to ensure that we are working with our passphrase.

  • Enter a microSD and export master public key (xpub) for the Electrum wallets and Wasabi which is where in the future we could import them.

Option:

microSD → Export Wallet → Electrum wallet -> Native Segwit

microSD → Export Wallet → Wasabi wallet

  • Saving addresses on the microSD card.

Option: Advanced -> Address Explorer -> 4 -> Select format (1b…) 1 

Generate a file addresses.txt in the microSD with 256 addresses.

  • Import the xpub in the Electrum wallet. 

It is recommended to run it within a Tails and not connect it to the Internet, it is not necessary for what we are going to do.

Take out the microSD card and connect it to the computer where we have installed the Electrum and Wasabi wallets.

  • Now we are going to create a wallet in Electrum with the same seed and passphrase that we have introduced in Coldcard.

Option: File → New / Restore

We choose the Standard Wallet option

We open the file addresses.txt exported from the CC to verify that the addresses shown by Electrum and those of Coldcard are the same.

Now we will perform the same check on the wasabi wallet.

  • We retrieve in Wasabi the wallet

It is not necessary and it is recommended for this exercise not to have the Wasabi connected to the Internet.

Option: Recover Wallet and introduce the seed and the passphrase

  • We load the Wallet

Option: Load Wallet

In the info of the wallet explorer we can verify that the Extended Master Fingerprint that shows wasabi matches the one that appears in Coldcard

  • Generate some addresses

Option : Recive 

When you restart wasabi it already shows the addresses

AND they actually match.

If initially only the Public Key appeared and not the address, we could perform the conversion to check that they are the same.

Address and Public Key at Electrum.

With this we have verified that from the Coldcard seed and passphrase we can recover the private keys in another wallet.

To summarize what we have to save to ensure recovery would be: 

  • The seed
  • The passphrase 
  • The type of address that we used in our case Native SegWit (bech32) which is the only one compatible with wasabi
  • The derivation paths “m / 84 ‘ / 0 ‘/ 0’ / 0 / XXXX ” 
  • It is recommended to also save an image of the Operating System together with the software used by Electrum and Wasabi. 

Another possible option for recovering private keys from seed and passphrase is to use the iancoleman bip39 web tool that has a downloadable version and works offline.

Posted on Leave a comment

Verificación de la importación de la semilla y passphrase de Coldcard en Electrum y Wasabi

Wallet Bitcoin

Antes de proveer fondos a nuestro hardware wallet Coldcard (CC) es importante asegurarnos que en un futuro pase lo que pase vamos a poder recuperarlos.

Con el paso de los años se pueden dar muchas situaciones por las cuales nos encontremos en la tesitura de tener que recuperar estos fondos sin contar con el hardware wallet (hww), como puede ser perderlo o que se estropeé y que ya no lo fabriquen, ya sea porque ese modelo no existe o porque la empresa ha cerrado. A día de hoy no sabemos que empresas existirán y cuáles no dentro de 10 años, y aunque siguiese viva la tecnología evoluciona muy rápido y dentro de unos años dispositivos que ahora son de uso común podrían no estar disponibles, como las tarjetas de memoria microSD, los conectores microUSB, la batería interna… 

Por lo cual es de vital importancia verificar que vamos a ser capaces de acceder a las claves privadas que maneja nuestro hww. En este post haremos la prueba de recuperar estas claves privadas de las direcciones de CC en otros wallets a partir de la semilla generada y de la passphrase que hemos puesto.

Existe documentación al respecto en la web de Coldcard sobre cómo realizar esta operativa pero creo que esto bien merece un ejercicio práctico para verificar que es así, además existe una página walletsrecovery donde dan información muy valiosa sobre las compatibilidades entre los distintos wallets.

  • Encender la Coldcard, para ello la conectamos a un cargador externo de usb o a un adaptador conectado a un enchufe, nunca cargarla con el conector USB del ordenador debemos mantener la Coldcard siempre offline.
  • Poner el prepin y el pin, hay que apuntarlo porque el dispositivo te lo solicitará siempre que lo enciendas. No guardarlos en ningún medio digital, ni en Internet, hay que minimizar los riesgos.
  • Actualizar el firmware, es opcional pero recomendable, no vamos a entramos en ello.
  • Crear el wallet

Opción:  New Wallet

  • Añadir la passphrase y apuntarla porque no se guarda en el hww. Importante, hay introducirla cada vez que se arranca la Coldcard y se quiera operar con estas las direcciones.

Opción: Passphrase → Edit Phrase → APPLY → OK

Cuando inicies la HWW no te va avisar que tienes que introducirla y los menús que tienen no ayudan pero si se te olvida meterla acabarás operando con otras direcciones diferentes de Bitcoin.

Opción: Passphrase → Un texto explicativo muy largo pero que es importante porque te indica el problema de no introducirla  → Edit Phrase, No es el mejor texto para esta opción ya que lo que tienes hacer es meter tu Passphrase y no editarla y luego → APPLY → OK

A la hora de elegir la passphrase es importante que sea muy difícil de descubrir en esta página “Can BIP-39 passphrase be cracked?” te indican cuanto de segura es tu clave.

  • Visualizar tu identidad. 

Opción: Advanced → View Identity para asegurarnos que todo se ha realizado correctamente, podemos comprobar la fingerprint y que aparece el texto “BIP30 passphrase is in effect” para asegurar que se está trabajando con nuestra passphrase.

Opción:

microSD → Export Wallet → Electrum wallet -> Native Segwit

microSD → Export Wallet → Wasabi wallet

  • Guardado de las direcciones en la tarjeta microSD.

Opción: Advanced -> Address Explorer -> 4 -> Select formato (1b…) 1 

Genera un fichero addresses.txt en la microSD con 256 direcciones

  • Importar la xpub en el wallet de Electrum. 

Se recomienda ejecutarlo dentro de un Tails y no conectarlo a Internet, no es necesario para lo que vamos a realizar.

Sacar la tarjeta microSD y la conectamos en el ordenador donde tenemos instalados los wallets Electrum y Wasabi.

  • Ahora vamos a crear un wallet en Electrum con la misma semilla y passphrase que hemos introducido en Coldcard.

Opción: File → New/Restore

Elegimos la opción Standard Wallet

Abrimos el fichero addresses.txt exportado de la CC para verificar que las direcciones que muestra Electrum y las de Coldcard son iguales.

Ahora realizaremos la misma comprobación en el wallet wasabi.

  • Recuperamos en Wasabi el wallet

No es necesario y es recomendable para este ejercicio no tener el Wasabi conectado a Internet.

Opción: Recover Wallet e introducimos la semilla y la passphrase

  • Cargamos el Wallet

Opción: Load Wallet

En la info del wallet explorer podemos comprobar que la Extended Master Fingerprint que muestra wasabi coincide con la que aparece en Coldcard

  • Generar unas direcciones

Opción: Recive 

Al volver a iniciar wasabi ya muestra las direcciones

Y efectivamente coinciden.

Si inicialmente sólo nos apareciese la Public Key y no la dirección podríamos realizar la conversión para comprobar que son iguales.

Dirección y Public Key en Electrum.

Con esto hemos verificado que a partir de la semilla y la passphrase de Coldcard podemos recuperar las claves privadas en otro wallet.

A modo de resumen lo que tenemos que guardar para asegurarnos la recuperación sería: 

  • La semilla
  • La passphrase 
  • El tipo de dirección que hemos utilizado en nuestro caso Native SegWit (bech32) que es la única compatible con wasabi
  • Los paths de derivación “m/84’/0’/0’/0/XXXX” 
  • Es recomendable guardar también una imagen del Sistema Operativo junto con el software utilizado de Electrum y Wasabi.

Otra posible opción para la recuperación de las claves privadas a partir de la semilla y la passphrase es utilizar la herramienta web bip39 de iancoleman que tiene una versión descargable y que funciona off-line.

Enlace al artículo en Inglés “Import verification of Coldcard seed and passphrase at Electrum and Wasabi

Posted on Leave a comment

Bitcoin Core update script to version 0.20.0

The Script executed BCubium the BGeometrics full node Bitcoin to update the Bitcoin Core software to the new version 0.20.0

#/bin/bash

VERSION=0.20.0
PATH_BITCOIN=/var/lib/bitcoin
PATH_BITCOIN_INSTALL=/usr/bin
USER_BITCOIN=bitcoin
PROCESS_DEP_BITCOIN="bitcoind lnd rtl btc-rpc-explorer"

if [ -n "$1" ]; then
    VERSION=$1
fi

systemctl stop $PROCESS_DEP_BITCOIN
su -c "wget https://bitnodes.io/install-full-node.sh" $USER_BITCOIN
su -c "sed -i "s/VERSION=.*/VERSION=$VERSION/g" install-full-node.sh" $USER_BITCOIN
su -c "bash install-full-node.sh" $USER_BITCOIN
su -c "$PATH_BITCOIN/bitcoin-core/bin/stop.sh" $USER_BITCOIN
install -m 0755 -o root -g root -t $PATH_BITCOIN_INSTALL $PATH_BITCOIN/bitcoin-core/bin/bitcoin*
systemctl start $PROCESS_DEP_BITCOIN
rm -fr $PATH_BITCOIN/bitcoin-core/
rm -f install-full-node.sh
$PATH_BITCOIN_INSTALL/bitcoind --version | grep version

In Github: bitcoin-core_update.sh

Posted on Leave a comment

Are MicroSD cards worth to store the Blockchain of Bitcoin?

This is the question you have asked us the most, so we are going to answer it.

MicroSD cards have a bad reputation for long-term storage of information, this comes from old cards that had a low write limit and low-end cards that are very cheap but have high failure rates, there are only We do have to review the comments on the sales websites for these cards, but current and quality cards are valid for storing long-term information.

In the case of BCubium the card that comes is high-end, we only use two

Samsung Memory MB-MC512GAEU cards – Micro SD 512 GB Evo plus  

Lexar High-Performance 512GB 633x microSDXC UHS-I

These cards that cost between 4 and 5 times more than the low-end ones and have very good references by consumers.

Both Samsung and Lexar give a 10-year warranty on these cards.

These microSD are normally used in video and still cameras where the writing volume is very high and they respond very well.

In our case, the operating system is in the eMMC memory of the NanoPI Neo Plus 2 motherboard and the MicroSD card is used to store the Blockchain and it is already preloaded from our laboratory, so the read and write ratios are due to the operation. derived from the writing of the blocks every 10 minutes (approx.), the indexing of the transactions and the communication between the different full nodes of the network. This functionality involves an average number of card reads and a very low number of writes, which means that the card suffers very little because what most affects microSD is the writing of information.

Choosing a day at random the average rate of io per second is 742 kB of reading and only 53 kB of writing.

We can also see it at the moment by running the dstat tool, obtaining similar values:

So, making the full node functionality of Bitcoin plus a Lightning Network Daemon as it is done in BCubium, we have an average ratio of reads and very low write range microSD cards alta are a fully valid device for safe storage in the short, medium and long term. Commenting that the personal information of the node is not stored in the microSD, only the Blockchain is stored, so if it were damaged, another card could be inserted and the history of Bitcoin could be resynchronized.

Posted on Leave a comment

¿Valen las tarjetas MicroSD para almacenar la Blockchain?

Esta es la pregunta que más nos habéis hecho con diferencia así que vamos a contestarla.

Las tarjetas MicroSD tienen mala fama para el almacenaje de la información a largo tiempo, esto viene debido a las tarjetas antiguas que tenían un límite bajo de escrituras y a las tarjetas de baja gama que son muy baratas pero que tienen índices de fallo alto, solo hay que revisar los comentarios en las webs de ventas de estas tarjetas, pero las tarjetas actuales y de calidad son válidas para almacenar información a largo plazo.

En el caso de BCubium la tarjeta que viene es de alta alta gama, sólo utilizamos dos tarjetas

Samsung Memory MB-MC512GAEU – Micro SD de 512 GB Evo plus  

Lexar High-Performance 512GB 633x microSDXC UHS-I

Estas tarjetas que cuestan entre 4 y 5 veces más que las de baja gama y tienen muy buenas referencias por parte de los consumidores.

Tanto Samsung como Lexar dan una garantía de 10 años para estas tarjetas.

Estas microSD normalmente se utilizan en cámaras de vídeo y de fotografía donde el volumen de escritura es muy alto y responden muy bien.

En nuestro caso el sistema operativo está en la memoria eMMC de la placa base NanoPI Neo Plus 2 y la tarjeta MicroSD se utiliza para almacenar la Blockchain y ya viene precargada desde nuestro laboratorio así que los ratios de lectura y escritura son los debidos a la operativa derivada de la escritura de los bloques cada 10 minutos (aprox.), el indexado de las transacciones y la comunicación entre los distintos full nodes de la red. Está funcionalidad conlleva un número medio de lecturas de la tarjeta y un número muy bajo de escrituras lo cual significa que la tarjeta sufre muy poco porque lo que más le afecta a las microSD es la escritura de información.

Escogiendo un día al azar el ratio medio de io por segundo es 742 kB de lectura y sólo 53 kB de escritura.

También podemos observarlo al momento ejecutando la herramienta dstat, obteniendo valores similares:

Así que realizando la funcionalidad de full node de Bitcoin más un Lightning Network Daemon como se hace en BCubium tenemos un ratio medio de lecturas y muy bajo de escrituras las tarjetas microSD de gama alta son un dispositivo totalmente válido para el almacenaje con seguridad a corto, medio y largo plazo. Comentar que en la microSD no se guarda la información personal del nodo sólo se almacena la Blockchain por lo que si se estropease se podría introducir otra tarjeta y resincronizar el histórico de Bitcoin.

La versión del artículo en inglés “Are MicroSD cards worth to store the Blockchain of Bitcoin?“.