Celestia and its modular Blockchain solution

SΞBASTIAN
Coinmonks
5 min readMar 25, 2023

--

Blockchain space is known for its frequent innovations. It comes with a passion from builders as well as end users participating in the entire ecosystems. Blockchain technology at its core is giving hope to people around the world for equal ownership rights to anything. It removes the barrier between poor and rich, big and small. As we experience new technology development on top of the blockchain industry all the time it is worth to mention about something called modular blockchain architecture that comes from well known Cosmos SDK toolkit.
To start we have to underline that today Blockchain structure is way different than from its inception when Bitcoin was introduced. Although the core idea and scheme remain the same, the approach of developers changed as more and more technical difficulties occur due to a larger user base and use cases. It’s important here to explain the biggest difference in how it changed over time.

Modular vs Monolithic blockchain

It all started as a Monolithic blockchain type where all the most important operations like consensus mechanism, storage, and transaction processing are held up on one large, single codebase and does everything. This solution is very limited in terms of flexibility and modifications, as any changes made to this type of blockchain require an update of the entire system. At the end of the day, it is a very costly idea, as maintaining hardware for the miner/validator/node can be very expensive.

On the other hand, the Modular blockchain type allows for the separation of the most important blockchain components into different modules. Modularity came out from the initial solution behind sharding and layer 2 blockchains that give greater scalability improvement to layer 1 systems. By making the blockchain modular and splitting up its processes among multiple specialized layers, a more optimal system can be created that is sovereign, scalable, and secure. It gives us the flexibility to change, upgrade or deploy different components separately without affecting any other.

Source: Celestia.org

Celestia |team|idea|token|

Here comes the main actor of this article. One of the first projects that came out with this idea is Celestia with their all-star team consisting among others: former Interchain Foundation and Interchain engineers, creator of Optimistic rollup, creator of Harmony Blockchain, and previous Ethereum Classic core developers.
As clearly stated by them:

Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

It allows for very simple Blockchain creation allowing for spinning that with any EVM and IBC compatible networks. It means native users of Cosmos and Ethereum will be allowed to jump over with no time needed into Celestia’s ecosystem applications.
Celestia for scaling is using Optimistic roll-ups with light nodes architecture however, future creators may deploy their ideas with any type of rollups.
As the number of users (light nodes) in the network increases Celestia remains secure so long as there are enough nodes on the network to sample the entire block. This means that as more nodes join the network and sample, the block size can increase accordingly without sacrificing security or decentralization unlike any of the Monolithic blockchains!

Celestia team propagates their data availability sampling solution as a number one principle.

Data availability becomes a problem when you want to scale a blockchain. As the blocks get bigger, it becomes impractical for normal users to download all the data, and therefore users can no longer verify the chain. Through a new technique we call data availability sampling, normal users can check if the data has been published by downloading a tiny portion of the data, making it possible to verify very large blocks at a low cost.

Token issuance model once on mainnet is going to be inherited from the current state of Ethereum’s EIP-1559:

Celestia is designed to have a token used to secure the network via Proof of Stake and to pay for transaction fees on the network, and eventually a fee burn mechanism similar to EIP-1559 in Ethereum.

This will eventually allow Celestia’s governance token to be deflationary based on how many users will Celestia ecosystem have which is a big thing in crypto having in mind the fact that PoS consensus-based tokens are usually highly inflationary which makes their value decreased over time!

Running a node on Raspberry Pi

Considering the fact Celestia is in its current stage of blockspacerace-incentivised testnet right before releasing mainnet later this year, we can show how easy is to run a node on any device and participate in this unique project by helping secure the network. In my case, I will do it on my standard Raspberry Pi with Ubuntu 22.04 already installed.

For a detailed guide on how to install your Pi4b with Ubuntu follow this guide.

  1. Let’s start by updating and upgrading the OS and installing essential packages that we will require later one by one
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu -y

2. Now we have to install Golang as Celestia mostly is based on this programming language. During the creation of this article, version 1.20.2 is the most recent stable version.
After its done, we add the /usr/local/go/bin directory to $PATH

ver="1.20.2" 
cd $HOME
wget "https://golang.org/dl/go$ver.linux-arm64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-arm64.tar.gz"
rm "go$ver.linux-arm64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile

Check your GO version by typing

go version

3. Now we can start with the node. Let's pull up the GitHub repo and make an install. After that to check if everything is fine we type celestia version

cd $HOME 
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node/
git checkout tags/v0.7.2
sudo chmod 777 /usr/local/bin/
make build
make install
make cel-key

4. We should initialize celestia light node with:

celestia light init --p2p.network blockspacerace

5. Connection of our node to the endpoints from this website should be done through this command:

celestia light start --core.ip <ip-address> --gateway --gateway.addr 127.0.0.1 --gateway.port 26659 --p2p.network blockspacerace

6. Now we have to create a key for our node. It is advisable to choose any name for our key so it will be easier to recognize for us, as well as a network name which is blockspacerace

./cel-key add <key_name> --keyring-backend test --node.type light --p2p.network <network>

Now we start our node with the key name provided above

celestia light start --core.ip <ip-address> --keyring.accname <key_name> --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network blockspacerace

7. Now we need some testnet Celestia tokens. Head over to official Discord and request a faucet. To find your public key just type:

./cel-key list --node.type light --keyring-backend test --p2p.network <network>

8. To check the balance we type:

curl -X GET http://127.0.0.1:26659/balance

To identify block header information:

curl -X GET http://127.0.0.1:26659/header/1

New to trading? Try crypto trading bots or copy trading on best crypto exchanges

Join Coinmonks Telegram Channel and Youtube Channel get daily Crypto News

Also, Read

--

--