What is Ethereum? Project, platform, fuel, stack.
What is the Ethereum project?
The Ethereum project is an open source, community-driven effort designed to create the next generation of decentralized application platforms with the potential to be as flexible and powerful as possible.
Platform, what is Ethereum?
The Ethereum platform combines a generalized peer-to-peer networking platform with a next-generation blockchain architecture to provide a decentralized consensus-based (decentcon), full-stack platform for developing, delivering, and using decentralized application services. The consumer-facing application, called EtherBrowser, integrates front-end and back-end to create an environment where anyone can quickly and easily build highly secure, scalable, and interoperable decentralized applications.
Like the BitTorrent content sharing system, Ethereum network nodes run on thousands of computers around the world and cannot stop operating unless the Internet shuts down. This is because P2P systems typically involve a very large number of independent actors (people or organizations) running peer node software on one or more computers. In the Bitcoin system, these nodes are called “miners.”
Like Bitcoin, in Ethereum, the nodes in the network act as miners, whose purpose is to process and verify transactions and computations in the system and quickly achieve consensus on what happened in the system and when. This agreement provides security to the network. The more nodes there are, and the more work those nodes have to do to cast their votes on what happens on the network, the greater the sense that the shared consensus view of the system’s history is a standard, undeniable representation. . In Ethereum, miners are rewarded for performing the work necessary to broadcast and activate their votes, and are also rewarded for providing resources to the network in the form of bandwidth, storage, and computational processing.
Bitcoin is a system for safely transmitting and storing value. It can therefore serve as a financial foundation for the emerging global Deacon economy. A conservative and careful development roadmap for Bitcoin will make the protocol easier to use and make it more secure against strange situations and extreme cases that could be exploited in the future (so far, it is very solid at the protocol level). Although it has been proven). In contrast, as a platform for hosting decentralized or decentralized applications (ÐApps – capitalized “eth” and pronounced by cognoscenti as “dapps” or “eth-apps” :-)) and services, Ethereum is agile and forward-thinking. It has to be. moving. In Q4 2014, the Ethereum team will deliver a feature-rich system that will be feature-rich, have a rich user interface, and deliver a compelling user experience for both end users and businesses building and serving apps on the platform. However, technology evolves rapidly, so Ethereum needs an upgrade roadmap and ongoing development.
What is Ether, the cryptocurrency fuel?
Just as the Bitcoin system has a token called Bitcoin (lowercase) that acts as a medium of exchange, Ethereum also has Ether (ETH), which acts to some extent as a unit of exchange, but more importantly, acts as fuel. This powers applications on the Ethereum system.
Engineers on the Ethereum project are building computational devices, or devices, in the form of software programs that anyone can download and run on a computer, smartphone, or dedicated high-speed hardware. This software appliance requires a specific type of token with the appropriate amount of fuel to operate.
Decentralized applications on Ethereum must pay these tokens to facilitate all computation and storage operations in the system. Without requiring payment for its operation, the system would be vulnerable to various kinds of attacks and would be neither viable nor secure. Payments are made to owners of computational resources in return for securing the Ethereum network, transmitting transactions, storing data, and processing computations required for decentralized software applications.
Individuals and businesses are interested in purchasing ETH to power their own business applications, leverage business applications provided by other service providers, trade on exchanges in the future, or hold speculatively for future sale to people and businesses. There is this. ETH can be purchased from the Genesis Sale (more details to come, watch this space), future third-party exchanges and ATMs, and exchanges implemented as DApps on Ethereum.
By purchasing ETH at the Genesis Sale, buyers are supporting product development, similar to a Kickstarter campaign. Once the product is complete and ready to ship, the buyer can claim the purchased ETH from the Genesis block, the root block of the Ethereum blockchain.
What is Ethereum, a software stack?
A software stack is a set of technologies that are implemented at different layers and levels of abstraction and have a variety of complementary features that work well together to enable software development teams to build front-end software services from a complete back-end for end users. . Ethereum provides a full-stack solution for developing and delivering apps that end users can access from a web page, a dedicated front-end application, or typically from the Ethereum app browser. The Ethereum stack is the first stack that allows developers to deliver Decentcon software applications.
When offering a ÐApp, the developer or distributor of that ÐApp does not arrange for hosting of back-end server processes, as is the case with traditional software services. Rather, the code is included as a payload in transactions on the Ethereum network and sent to one or more mining nodes on the network. A miner that receives a transaction broadcasts it to all peers it knows if the transaction sender has included enough ETH, the cryptocurrency needed to operate the system, to pay for the transaction. These transactions spread peer-to-peer through the network and are eventually packaged into blocks and locked onto the blockchain. Blocks are created by miners approximately once per minute. Once a transaction with a code payload is included in a block, subsequent transactions can be sent to the address specified by that ÐApp’s controller interface to invoke ÐApp processing.
When an end user wants to activate one or more services provided by this app, he or she typically interacts with a front-end user interface loaded in the app browser (possibly Qt-based or JavaScript/HTML5/CSS3) to execute the desired action. User interface components are cached in the cloud, sort of like a decentralized BitTorrent, and pulled from the ÐApp browser as needed. The user interface formalizes the Ethereum transaction and sends it to the ÐApp’s controller interface address along with the appropriate amount of crypto fuel and required input data. When collected as a block, the transaction triggers the execution of the ÐApp and the states of the ÐApp’s various components (called contracts) transition to the resulting state. Peer-to-Peer (P2P) high-speed messaging protocols allow user interfaces to reflect these changes and facilitate communication between different DApps and users.
One thing to note is that from an application hosting perspective there isn’t really anything to do. The backend runs in the blockchain “cloud” and the frontend is typically represented as an installable tile in the Ethereum ÐApp browser. End users download the browser once, and the browser will receive ongoing updates from BitTorrent or a BitTorrent-like distribution system. While browsing the catalog of distributed apps in the browser, end users can install apps of interest in the browser without a one-click installation fee. These tiles are organized into categories for each user, and each tile is sized “responsively” so that it can be invoked as a complete user interface that is configured to the size and capabilities of the browser (although some weaker devices may have limitations).
The programming paradigm just described is quite unusual compared to typical development techniques and requires an innovative (and sometimes esoteric) approach. If programmers can expect the state of their business logic to be updated no more than once per minute, probabilistically for certain kinds of applications, they need to develop techniques to cache the specific state changes expected and wait for backend processing before updating the frontend. Further complicating matters is the fact that although block house transactions and associated app state changes may be structured and included in the blockchain, they are not soon part of the main consensus blockchain and the associated transactions may remain unconfirmed and unprocessed for some period of time. of time. Worse, intermediate transactions may be processed first, invalidating the first transaction. A completely new field of blockchain-based software development technology is needed. Many developers will develop new solutions. And it may require a fundamentally new approach. And to that end, we are developing a Cryptocurrency Research Group (CCRG) to conduct general research that will benefit the entire niche. Watch this space for more information about CCRG.