What is Ethereum?
Looking to get started with Ethereum Web Development? Ethereum is a blockchain based platform that runs smart contracts. The heart of it is based on the successful technology Bitcoin Blockchain, Ethereum runs decentralized smart contracts that function as decentralized applications that are programmed into the blockchain itself. Among web developers, it is rapidly being considered as Web 3.0. Ethereum allows developers to use current styling tools and technology mixed with the power of the Ethereum Computer to create unstoppable applications that cannot be interfered with. The project started in August 2014, with a pre-sale to jumpstart the coin. Over the last two years, Ethereum has gained a sizable amount of users and adopters looking to explore what the currency has to offer.
Web Developer Point of View
Most web developers are quite familiar with web applications and how the client/server architecture model operates, at least at a high level. Right now, web applications are housed at hosting providers like Azure, Amazon Web Services, Google App Engine, or a VPS/server combo. In this model, all of a company’s clients interact with one centralized application system. This allows clients to interact and utilize services from a variety of devices. When clients make a request to a service, the server does all the magic–such as accessing the database, caching systems, and returning data to the client. This current method is the gold standard for most development systems and works very well, at least most of the time. For certain applications, it would be more helpful if the application database was securely and publicly accessible by everyone, making it so one does not have to rely on the application owner to secure your data.
A good example of this is selling on Ebay. You may have a ton of great reviews for your store, but then Ebay suspends your account for whatever reason. This will severely impact your ability to do business, as it blocks you from access to all your collected data. It would be better if certain information, such as reviews, ranking, and ratings were stored in a public ledger that allows users to move platforms without losing hard work. If you could eliminate Ebay from the equation, you could save on the commissions and also not run the risk of losing access to your data if something unexpected happens.
How Ethereum Dapps Work
Ethereum Dapps work very similarly to how our centralized applications work. The fundamental difference between the two is that each client communicates with a private instance of the application. There is no central server or hardware in which clients have to connect to. Each Client that interacts with a Dapp will need a complete copy of the Ethereum blockchain on the local device to start using the application. While it may sound a bit unusual at first, this method has major advantages over a centralized server system. You only need to download the blockchain a single time before using Ethereum, after that it will continually update with new blockchain records as smart contracts are processed on the network. The Dapps are embedded and run from the blockchain completely using the Ethereum computer.
What exactly is the Blockchain?
The Ethereum Blockchain is broken up into two parts, the Database and Code.
- Database:All the smart contract transactions that occur on the network are packaged into blocks of data and each of these blocks is linked to the next block in the chain. The blockchain is essentially series of data blocks that contain all the transaction data of the entire network. This blockchain data is shared with all users on the network and verified by other users before being written to the database. To ensure no invalid data is saved, Ethereum uses a Proof of Work Algorithm that process transactions against blockchain data before making changes.
- Code: The actual application code is also stored within the blockchain like the database information. With Ethereum you can write your application contract using a language called Solidity. Your Application contract allows for all the logical to buy, sell, refund, cancel, etc based on your determination of what your want your application to do. When you are happy with your Dapp, you can compile your Solidity code into Ethereum byte-code and have it deployed to the blockchain. Once your code is on the blockchain, it can be run from any system accessing the Dapp. There are other languages that can be used for Ethereum but solidity is the most popular option for development.
In a nutshell, the blockchain stores your database, code and also runs your contract code in the Ethereum Virtual Machine. The code is hosted on the blockchain data each node connected to the Ethereum network.
Ethereum uses a javascript library called web3.js to connect web-based Dapps to your blockchain node. This makes it easy to use existing Javascript Frameworks to rapidly build out new applications. Your Dapp can act as its own bank account called a wallet that stores Ether and information connected to a smart contract. This makes Ethereum an all-inclusive solution for transactions, Data Storage, Privacy, and extendability.
This is just breaking the surface of what Ethereum and Dapps have to offer. There are still many interesting details about the inner workings of the blockchain that can be explored if you wish to learn more. We wanted to show how centralized web applications work when compared to Decentralized applications. It’s a bright future for the internet and Ethereum is leading the way in 2017.
More Reading: