A brief history of distributed computing: the development path from mainframe and time-sharing systems to DApp

"How can we build a better future?"

Author: Eric Elliott Eric Elliott is "writing software" and author of two books, "write JavaScript applications." He is also the co-founder of EricElliottJS.com and DevAnywhere.

When we discuss decentralization in a computing environment, it means a lot of different things for many different people. So what is the decentralization?

In the encryption industry, when someone says "decentralization," they may mean that these things are decentralized:

Access (Access)

Organizational governance

Computation

Financial Instruments

Wealth

This article will examine decentralization from the perspective of computing resources and who has the right to use them . User rights, privacy, and security are important topics.

First, what is distributed computing? To understand this, let's take a look at the meaning of centralized computing :

"When performing critical application services through communication with remote central locations, when different users located in different locations connect to the same service or address to access computing resources such as data storage and processing, the computation is centralized. For example, data storage And processing."

From this definition, we can deduce the definition of distributed computing :

"When a single computing device or node on a distributed network without a central location performs critical application services, the computation is decentralized. If you can't point to a service address and disable it to turn off all users' core application functionality, then You are likely to have a decentralized computing architecture."

Extreme concentration: mainframe and time sharing (Timesharing)

Before the 1950s, mathematics, logic, and computational theory laid the foundation for the era of computing. Between 1940 and 1980, computers were dominated by large organizations with millions of dollars in budgets. At that time, the calculations were very concentrated.

The computer market is dominated by large computers. In the early days, computers were as large as rooms or small buildings, and only one user could access the system at a time. Because of these limitations, calculations and access to computing resources are very concentrated.

Multi-user operating systems such as time-sharing systems and Unix (created at Bell Labs in 1969) began to change this. The first time-sharing system was developed in the 1960s. One of its biggest advantages is that users can collaborate on shared files and use instant messaging (talk commands built into Unix) and email (also built around Unix around 1970, but initially only the same) The user of the shared computer sends a message) to communicate.

Multitasking has been a standard feature of the operating system for decades, and one of the key drivers is that on an earlier computer, only one user can access the system and perform calculations at a time.

A multitasking operating system like Unix allows multiple users to log in simultaneously and use the same computer. The system will switch tasks between different user applications, hoping that the switching speed is fast enough that the user won't even notice (although the user will notice when the system is heavily used). Multitasking and dumb terminals (essentially keyboards and displays, without their own CPU and memory inserted into a shared computer) are the first step in the decentralization of computing resources.

From 1960 to 1975, the computer was reduced from the size of the room to something that could be placed on the table. The PC revolution is about to begin.

Extremely dispersed: everyone has their own computer, but no sharing

In the 1970s, the PC revolution began, and by 1980, personal computers entered the public consciousness. The calculation first tasted the taste of decentralization. Every user has their own computer, not a simple terminal. Your own memory. Your own CPU. These computers have become small enough and cheap enough that people are starting to buy them for use at home. However, because most home computers are not connected to each other and can only communicate by sharing physical memory devices (such as tapes, ink cartridges, and floppy disks), applications are more fragmented rather than fragmented.

In the 1980s, many families entered the computer market, but the general-purpose personal computer was quickly surpassed by the first killer application of personal computers, video games. By 1990, 27% of American households had a universal personal computer and 30% had a Nintendo Entertainment System (NES).

In the majority of the 1980s, there was very little personal computer networking. In 1983, pollster Louis Harris & Associates asked whether American adults had personal computers at home, and if so, whether they used computers to transmit information over telephone lines. 10% of adults have computers, 14% (1.4% of American adults) use a modem to send and receive information. Between 1980 and 1995, most modem users did not connect directly to the internet service provider. In contrast, the local bulletin board system (BBS) dominated, and until the mid-1990s, even basic Internet services such as e-mail (not to mention web) were rarely provided in these systems.

Note: The first BBS system was launched in Chicago in 1978 and was developed by Ward Christensen and Randy Suess. For early home users of the Internet, the XMODEM protocol that Ward Christensen created and used in CBBS was the first protocol to access Internet e-mail and Usenet via an Internet-connected BBS. Usenet and email are the first truly decentralized applications.

Distributed Access: Open Web and Early Distributed Applications

Maybe the Internet is waiting for its first killer app: the World Wide Web. In 1990, Tim Berners-Lee created the first web server and browser. Until now, you can still access Tim Berners-Lee's first website in the world.

By 1995, 14% of American adults had access to the Internet. In the past 10 years, the number of connected homes has increased by about 10 times, but 42% of American adults have never heard of the Internet.

By 2000, 60% of American households had at least one computer. 46% of American households go online, and by 2010, 80% of American households have access to the Internet.

From 1980 to 2000, software swallowed the world.

Since 2000, the web has swallowed up software.

The web is the world's largest distributed application. No one owns or controls access to it. Anyone can launch a web server and post content on it, anyone can point the web browser to whatever site they want, but with the current web architecture, the content itself is centralized. This situation may change in the near future.

Trend Discovery Clues – The Power of Distributed Computing:

At the turn of the century, decentralized protocols, such as e-mail and Usenet, led distributed computing projects such as SETI@Home and Folding@Home; and peer-to-peer applications such as Napster, BitTorrent, and Tor. Sean Parker is one of the founders of Napster and later served as CEO of Facebook.

Between 1990 and 2003, more than 20 institutions around the world contributed to the Human Genome Project, mapping the entire human genome. Critics predict that this task may take 100 years or more. However, by sharing data sets and computing resources, and by accelerating technological innovation, the project took only 13 years to complete.

These efforts show the early prospects of decentralized applications and how they have the power to change the world.

Napster marks the dramatic reshaping of the core business model of the entire music industry and serves as a great historical reference. As decentralized applications dominate the future, each industry will face a fundamental subversion.

At the same time, the web has become so successful and popular that around 2000, people started building popular apps on the web. Originally a new medium for distributed access and later became an application platform. Today, browsers are essentially complex operating systems that provide application services such as networking, user interfaces, device access, camera and microphone services, 3D/eXtended Reality rendering, and more.

While other systems can compete with the technical capabilities of the web platform, the web is the most popular application platform ever developed, making it the perfect foundation for distributed computing.

There is only one problem: The web platform is a client-server architecture , and the web browser does not have a built-in decentralized service node. Not only that, we have not even decided what these services should look like.

As a result, the web application builder is back on the road to centralization.

Refocus computing: web applications and cloud computing  

From 2004 to 2010, social media sites took root. Today, users spend an average of hours a day on social media applications. Unfortunately, this means that most of the content we create today—most of our online footprint—is concentrated in the resources that a few apps own and manage: Instagram, Facebook, Twitter, TikTok, YouTube, Medium. and many more.

This brings about a variety of problems. If we want to leave these platforms, but how do we retain all the content and connections that we have cultivated over the years? What happens if the service is closed?

For most users, this means that all the data and connections they create on the service will be completely lost. Their social network: disappeared. Posts, photos, videos: gone. These losses can be unbearable.

The same is bad: If all these sensitive personal data fall into the wrong hands, what should the user do?

The availability of cloud computing resources and general access to cloud computing resources makes it easier than ever to create an application that can serve millions of users, but all of this user data is trapped in centralized storage beyond the user's control. The library, rather than sharing between applications , controls the data correctly by the user.

The future of modern distributed applications (DApps)

Imagine if you were able to manage your user profile (or multiple different roles) and share them across multiple applications, wouldn't it be great? Click the button to log in, no longer for each site you connect to Create another username and password. No longer worry about your password being stolen or your data being corrupted.

New service companies like 3Box and Tim Berners-Lee plan to make it easy. Remember Tim Berners-Lee? The person who invented the network, he wanted to redesign it on top of a decentralized user data architecture.

As an application developer, we have a responsibility to carefully consider the privacy and security of our users. Users should own and control access to their data. By default, this data should be encrypted and protected from unauthorized access.

Users should be able to authorize and revoke access to their data at any time.

Users should control access to their social graphs.

Users should control their posts, photos, videos, and data.

DApp 's core services

The core computing services of the new architecture include:

1. Encrypted currency trading – the basis of Internet value. These transactions allow streaming media to be paid in small amounts, allowing decentralized services to be self-sustaining without the control of a central business entity.

2. Cryptographic currency exchanges . The smart wallet transaction transaction payment agreement token fee and blockchain gas fee, so users can take advantage of the decentralized service that requires payment without worrying about how the payment is made, and in many cases, the user does not need to pay for it. You can enjoy these services.

3. User wallet secure authentication and authorization. No longer need to remember or lose your password.

4. Decentralized identity (usually represented by the wallet's public address). With DApps, your identity follows you effortlessly between applications.

5. Distribute user profile data. Grant, revoke, or deny application access to your user profile data. Let users control their own profiles and how to present them to different applications.

6. Decentralized user content storage. The same is for all your content – posts, videos, photos and comments.

7. Distributed networks and computing services. User-owned grid networks, gig economy, share your computer's storage and CPU resources.

Note: The odd-sector economy refers to the economic field consisting of freelancers with a small workload. The Internet and mobile technologies are used to quickly match the supply and demand side, mainly including group work and on-demand work through application.

8. Encrypted hashes and signatures. Proof of existence, decentralized authorization, ownership of resources, authority, or control. These basic elements are required for distributed application security work.

9, smart contracts. Programmable currency transactions and protocols are enforced by code, so there is no need to trust participants.

There are currently no standard web apis for these services, and the competing specifications of most services are constantly changing and lacking significant appeal.

The DApp ecosystem is still in its infancy. The word "DApp" is a recent evolution that replaced the previous "distributed computing applications", "p2p applications", "blockchain applications" and more. I look forward to the day when all the apps are DApps and we can go back to the "apps" just mentioned.

In 2018, I predict that the mainstream application of DApps will take 3-5 years, and I basically support this prediction. Today, there aren't many examples of fully decentralized web platform applications that I can point out – not to mention fully decentralized applications with millions of users.

But we can only reach a little mainstream audience at a time. Today, some of the core DApp technologies are being integrated into applications that already have millions of users. First, simply add the cryptocurrency transaction to an existing application like Kik. Facebook announced a new (and ultimately decentralized) currency, Libra. Sliver.tv users are sharing video stream bandwidth and earning TFUEL on Theta. Theta network was created by YouTube co-founder and former chief technology officer Steve Chen. Browser users of millions of Brave browsers have the opportunity to share BAT cryptocurrencies with content creators. Brave was created by Brendan Eich, the creator of JavaScript (the standard programming language for the web platform).

In addition to Facebook's Libra, all the applications I mentioned just now have millions of users. As more and more users understand the DApp concept of in-app cryptocurrency transactions and wallet security certification, more developers will join us to help build the foundation of the future DApp ecosystem.

In the end, I believe that all major browsers will have all the necessary DApp services built in. At the same time, projects such as Fortmatic are enriching Web3 functionality in Web2 browsers such as Chrome.

The ecosystem is still very young. Standards have been changing throughout our construction. The DApp world is full of security vulnerabilities, lost keys and privacy errors (hint: please don't put the user's real name and address on a public blockchain or unencrypted IPFS!)

It's still early, but DApps has the potential to allow users to recap some of the unfairly accumulated power of a few companies, and has the potential to unlock many applications that were impossible before the first viable cryptocurrency and blockchains were born. Realized.

Any place with a centralized registry of anything, including licenses, property rights, account ledgers, etc., is likely to replace these ledgers with untrusted p2p transactions.

I can't think of any industry that can escape the radical transformation of these technologies, and I can't wait to see what you did with them.

Original: Medium-Eric Elliott

Compile: Sharing Finance Neo

Source: Sharing Finance

Editor's Note: The original title is: A Brief History of Distributed Computing