Abstract
We all have come across using different operating systems namely Mac, Windows, Linux, Chrome Operating System. However, you might have never heard about Blockchain Operating System. Its a new technology which offers to improvise the vulnerabilities and security threat involved in the operating systems.
A blockchain operating system uses blockchain as a support in background. A blockchain-based Operating System captures all commands and transactions from a users device but authenticating, executing, and recording them occurs on the blockchain.
A blockchain essentially works as a transaction processing engine. Whether a payment needs to be processed or a distributed application is to be built and run on Ethereum platform or making a bitcoin transaction all such applications of blockchain are built on Blockchain Operating System.
Introduction
To understand Blockchain Operating System, lets see what is blockchain. Blockchain is, in the simplest of terms, a time-stamped series of immutable record of data that is managed by cluster of computers not owned by any single entity i.e. it is decentralized. Each of these blocks of data are secured and bound to each other using cryptographic principles. Basically, its a distributed database which maintains a continuously growing tamper proof data structure blocks which holds batches of individual transactions.
Now lets have a look at why blockchain technology is of great importance for the data integrity. Data is for the current age become an invaluable resource, indeed it guides all business decisions in most of the computer-aided human activities. Threats to data integrity are thus of utmost relevance, as tampering with data may maliciously affect crucial business decisions. Thus, it become really important to make our system very safe and secure to all types of threats. We feel blockchain operating system is the answer for all types of threats because of its main feature of using a complex hashing 256 bit algorithm to access every BlockChain transaction between the both the sender and the receiver which makes it nearly impossible for possible hackers to hack their system.
In this report we have done a research on integrating the Blockchain technology on Operating System with a aim of removing all the vulnerabilities and security threats which are still faced by multiple Operating System Platforms. We have used and implemented ethOS (Ethereum Based Operating System) to support our claim.
What is blockchain Operating System?
A blockchain-enabled virtual OS is one that gives the system ability to combine communication and commerce in a single unified platform. Here the virtual aspect means that the main and intelligent stuff will be carried in the cloud data center and not on the device itself, which make it very secure to use.
The introduction of this new unified technology proposal means that, currently in the theory at least, users can start engaging with blockchain based services on smartphones with security and privacy already locked down.
Advantages of Blockchain OS over other Operating System
Blockchain users will be able to harness the benefits of blockchain OS. As we know that whatever we do on our iOS mobiles or Android, or Mac PCs or Windows are prone to be captured by the respective apps, ISPs, as well as the OS manufacturers by recording user activities from the OS logs. Here is what Blockchain OS plays its role by providing security and privacy, and the deregulated, decentralized use of OS.
Blockchain OS platform is open-source and accepts contributions from partners and customers as they adapt the platform to their specific uses. It builds a community that can recover quickly and will keep improving the system as Blockchain itself gains more traction. It is a platform on top of which we can build applications that are secure scalable and distributed in nature resisting attacks.
An aspect that sets Blockchain apart is neither the distributed aspect nor the need for security on an adversarial network. Today, most softwares running on internet are highly vulnerable to attacks. This is what blockchain makes it different where the higher stakes are directly associated to failure. Thus, once Blockchain Operating System exists, many users outside of Blockchain will demand the same standards of security and developers will enjoy the same quality of development tools. As we are using more personal devices which controls our lives and money there is a high and vital need of software security. This is what would raise the demand for blockchain.
What is Ethereum and how we have used it in our project?
Ethereum is one of the particular application of the Blockchain OS. It is a global, open-source platform for decentralized applications. It is blockchain based operating system that supports modified version of Nakamoto consensus of transaction-based state transitions. On Ethereum, we can write code that controls digital value, runs exactly as programmed, and is accessible anywhere in the world. Blockchain Operating System is a new technology which has several advantages over regular Operating System and in this project we have used ethOS which is a Ethereum Based operating System.
It is implemented using memory- hard hash function.
Ethereum Network
Geth/Parity Node : It is the implementation of an Ethereum Node/Block.
Genesis File: A genesis file is the building block of the blockchain ethereum that contains the setting file for example the chain configuration. We can create our own genesis file which in Json format
There are 4 required value(config, difficulty, gasLimit, alloc) that we need to specify in genesis.json.
Config : The blockchain configuration.
Difficulty : mining difficulty // set this value low so you dont have to wait too long for mining blocks.
gasLimit: the limit of gas cost per block // set this value high to avoid being limited when testing
alloc: pre-funded address, the first parameter of each is the address . Need to be a 40 digits hex string (160 bit, one hex digit is 4 bit). Note that this does not create an account
Implementation:
1. Download and install (if needed) the most recent versions of Geth (Ethereum client) and Mist (Ethereum Browser and Wallet)
Geth can be obtained below. Get Geth 1.7.3 Installer or Geth & Tools 1.7.3 for Windows 64-bit system (if thats your system).
https://geth.ethereum.org/downloads/
Get Mist-win64-0-9-3.zip from the following link and unzip.
https://github.com/ethereum/mist/releases
When your run geth or mist, make sure you either run in the directory that contains these commands or add the directory of these commands to your system PATH variable, so that you can access these programs.
2. Create a genesis file.
For example, create the file C:ethereumcodesgenesis.json with the following contents. The file should be a pure text file (e.g., you can use NotePad or PSPad to edit such a file). The chainId variable is set to 3456 in this file you can set this to any positive integer you want. This number will be the id of your private network so you should set it to be a unique number if possible.
{
coinbase : 0x0000000000000000000000000000000000000001,
difficulty : 0x20000,
extraData : ,
gasLimit : 0x8000000,
nonce : 0x0000000000000042,
mixhash :
0x0000000000000000000000000000000000000000000000000000000000000000,
parentHash :
0x0000000000000000000000000000000000000000000000000000000000000000,
timestamp : 0x00,
alloc: {
},
config: {
chainId: 3456,
homesteadBlock: 0,
eip155Block: 0,
eip158Block: 0
}
}
3. Initialize the private blockchain.
Run cmd to obtain a new command window. Change into the directory that contains geth command. Here the directory is C:ethereum.
Run the following command. This initializes the private blockchain with the first (genesis) block based on the genesis file. The blockchain and its associated data will reside in the directory specified, C:ethereumchaindata3456 here.
geth datadir=C:ethereumchaindata3456? init C:ethereumcodesgenesis.json
4. Run a geth client that works on the blockchain
Run the following command. Note that it is important to specify the network id to be 3456 (or any other network id that you have defined in your genesis file). This tells the geth client that you are running a private network. If you dont specify the network id, your geth client will keep trying to connect to the main Ethereum network.
geth datadir=C:ethereumchaindata3456? networkid 3456
5. Start another geth client that runs commands on the blockchain.
Start another cmd window and run:
geth attach ipc:\.pipegeth.ipc
6. Run the Mist program from the directory that you downloaded and unzipped Mist.
When you see the following window, click on Launch Application. Click on Add Account and follow the instructions to enter passwords to create your first account on the blockchain. This first account will be the coinbase account that your mining rewards will go to. Make sure that you remember the password! There is no way to recover the password if you forgot it. Since this is only a private network that does not involve real money, you can choose a simple password thats easy to remember. Now you should see the account and its address on the Mist browser as follows:
7. You can now start mining.
Run the command miner.start() at the geth prompt in the second window that runs geth (see Step 5)
On the first geth window, you should now see the mining process starts (it may need one or two minutes) and you should be able to mine blocks very quickly (about one block each second).
Type miner.stop() at the second geth window to stop mining for now.
8. You should now see some Ether in the main account in the Mist browser. Of course, these Ethers are only valid in your private network! You can also see that there are now some blocks (31 in this case) on the blockchain.
9. You can now practice creating more accounts (remember the passwords) on Mist and transferring ether among the accounts. For any transaction to go through and be confirmed, you need to start mining on the geth attach window since only miners can verify and write transactions to the blockchain.
10. You can check balances using the Mist browser or typing commands in the geth attach window. Note that 1 ether = 1018 wei and the balances are stored as weis and hence need to be converted to ethers in the commands.
Conclusion:
Blockchain Operating System is still a developing and new technology which promises to provide increasing speed by increasing the scalability of the system which is considered as the biggest challenge the Blockchain technology faces.
Moreover, the Blockchain Operating system technology enables any application to seamlessly communicate with any blockchain and it is very secure.
This added to all the Blockchain features makes it a very important technology which has already been implemented by many of the companies viz GemOS, WABnetwork, EOS Blockchain & Overledger to name a few.
References:
https://www.investopedia.com/terms/b/blockchain-operating-system.asp
https://medium.com/alacris/alacris-the-blockchain-operating-system-a37fdf4fae8e
https://medium.com/coinmonks/transactions-in-ethereum-e85a73068f74
https://www.investopedia.com/terms/e/ethereum.asp
https://www.investopedia.com/terms/c/cryptocurrency.asp
https://www.nynja.io/
https://www.prnewswire.com/news-releases/nynja-group-and-amgoo-to-deliver-high-performance-tools-for-communications-collaboration-and-blockchain-powered-e-commerce-to-latin-america-300664148.html
https://eprints.soton.ac.uk/411996/
https://steemit.com/crypto/@bikash08/differences-between-ethereum-blockchain-and-bitcoin-s-blockchain
https://www.forbes.com/sites/adrianbridgwater/2018/07/03/what-is-a-blockchain-operating-system/#74cd55b236ae
https://medium.com/blockchannel/life-cycle-of-an-ethereum-transaction-e5c66bae0f6e
Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Find out more
