Is MATLAB a good bet to implement Blockchain in? My University is trying to procure MATLAB license and wants us to evaluate MATLAB. Which other Simulation tools/Software would you recommend for simulating Blockchain?
I saw one tool in matlab for simulating blockchain. But, after reading the feedback, it seems that tool didn't give flexibility in the simulation. In my opinion, it will be better if you either implement blockchain from scratch and perform simulation or use the existing blockchain platform (e.g., ethereum, hyperledger) and perform simulation.
I saw one tool in matlab for simulating blockchain. But, after reading the feedback, it seems that tool didn't give flexibility in the simulation. In my opinion, it will be better if you either implement blockchain from scratch and perform simulation or use the existing blockchain platform (e.g., ethereum, hyperledger) and perform simulation.
The blockchain simulation tool available in MATLAB is waste of time...I am also searching a good tools...in matlab you can simulate distributed network and apply blockchain by coding urself...untill now I come to know that...My research topic is also blockchain...lets build it together if u r interested...we will both get some benefits..( I am learning Matlab for this purpose only and I am in initial phase only)
There are a number of Blockchain simulators and each with its specific features:
Bitcoin Testnet
Ethereum Testnet
IOTA Testnet
Hyperledger Testnet
SimBlock
BlockSim
MultiChain
Blockchain Demo
VIBES
Bitcoin Simulator
CryptoSpaniards Simulator
BLOCKBENCH
Developers have the ability to develop their own BC simulator using programming languages such as python or via other simulators like Matlab or NS3 network simulator.
Simulator BC using Game Theory or Queuing Theory.
please refer to the following papers:
A Survey on Applications of Game Theory in Blockchain
Simulation Model for Blockchain Systems Using Queuing Theory
Recently I found a good but complex simulation/Emulation tool. Shadow(http://shadow.github.io/). It's mainly developed to test Tor protocol as there is no way to simulate the whole of the tor network ni a simulator.
It runs real applications like Tor and Bitcoin over a simulated Internet topology
Shadow does the following:
creates an isolated simulation environment where virtual hosts may communicate with each other but not with the Internet
natively executes real applications like Tor and Bitcoin
provides efficient, accurate, and controlled experiments
models network topology, latency, and bandwidth
runs without root on a single Linux machine, or in the cloud
simulates multiple virtual hosts in virtual time
simulates the network (TCP stack) and CPU processing delays
can run private Tor networks with user/traffic models based on Tor metrics
Mohammed El-hajj Thanks for your detailed list of Simulators. And some of the associated papers published. But I found that to apply Queuing Theory, there is a need for existing statistics,
like in the paper "Simulation Model for Blockchain Systems using Queuing Theory", uses 2 months worth of statistics to test their theory. For Bitcoin, there is existing data. For Permissioned Blockchains, which are not public, there is no way to gather such large scale data.
So, there is a need for a simulator which can run locally or hosted on a cloud to test out newer features or figure out the bottlenecks
Hyperledger Umbra is trying to test out such a tool. They choose first, Shadow tool but later chose Mininet
In Shadow tool, it allows Blockchain clients to run natively on a machine, while the Shadow Sim(Em)ulator translates some system calls to simulate a network and the interactions between them. In this way, there is no need to run these Blockchain clients in a seperate VM and thereby reducing the use of system resources - which in turn allows the simulator to scale up well.
As such, I think, there is a need for Simulation either be it locally on a single machine or scale up the simulation with thousands of nodes on a cloud. And Shadow(http://shadow.github.io/) seems to be a really good one!
As Hyperledger Umbra chose Mininet to simulate Hyperledger Fabric, even Mininet might be a good bet!
Mohammed El-hajj thanks for your detailed list of simulators! This made my task easier to choose a good tool.
Beyond the above mentioned solutions, I would also recommend Ganache, https://www.trufflesuite.com/ganache, of Truffle Suite is a ready to deploy solution for blockchain!
I also recommend using ganache which I used in simulations for my published papers in the following links. You can have a look at what did by integrating it with web3 for full emulations.
Article ABCrowd: An Auction Mechanism on Blockchain for Spatial Crowdsourcing
Article SenseChain: A blockchain-based crowdsensing framework for mu...