double spending51% attack51% attacks
The prevention of double-spending attack has taken two general forms: centralized and decentralized. This is usually implemented using an online central trusted third party that can verify whether a token has been spent. This normally represents a single point of failure from both availability and trust viewpoints. By 2007, a number of distributed systems for the prevention of double-spending had been proposed. The cryptocurrency bitcoin implemented a solution in early 2009. It uses a cryptographic protocol called a proof-of-work system to avoid the need for a trusted third party to validate transactions. Instead, transactions are recorded in a public ledger called a blockchain.

Comparison of programming languages

Programming languages are used for controlling the behavior of a machine (often a computer). Like natural languages, programming languages conform to rules for syntax and semantics.

Bandwidth throttling

throttledthrottlingspeed throttling
ISPs in Singapore that throttle bandwidth: In 2007, Comcast was caught interfering with peer-to-peer traffic. Specifically, it falsified packets of data that fooled users and their peer-to-peer programs into thinking they were transferring files. Comcast initially denied that it interfered with its subscribers' uploads, but later admitted it. The FCC held a hearing and concluded that Comcast violated the principles of the Internet Policy Statement because Comcast's "discriminatory and arbitrary practice unduly squelched the dynamic benefits of an open and accessible Internet and did not constitute reasonable network management."

Cooperative storage cloud

cooperative digital storage
STORJ is another example: based on the Bitcoin blockchain technology and a peer-to-peer architecture, it intends to provide cloud storage to people. It is currently developing two applications to achieve this goal: MetaDisk, which lets the user upload files to the network, and DriveShare, allowing users to rent out their storage space to MetaDisk users. A partly centralized system was operated by Symform, Inc., a startup company based in Seattle. Symform generated and kept the keys used to encrypt and decrypt, and since it also decided which server will host which parts of a file, users have to trust Symform not to share those with any other party or misuse the information.

David A. Marcus

David Marcus
On May 8, 2018, Marcus revealed that he is stepping down from his current role to lead the experimental blockchain group to explore the possibilities for the use of blockchain for Facebook.

Tor (anonymity network)

TorTor anonymity networkTor network
Tor can also provide anonymity to websites and other servers. Servers configured to receive inbound connections only through Tor are called onion services (formerly, hidden services). Rather than revealing a server's IP address (and thus its network location), an onion service is accessed through its onion address, usually via the Tor Browser. The Tor network understands these addresses by looking up their corresponding public keys and introduction points from a distributed hash table within the network. It can route data to and from onion services, even those hosted behind firewalls or network address translators (NAT), while preserving the anonymity of both parties.

Erlang (programming language)

ErlangErlang programming languageE'''rlang
Erlang, together with libraries and the real-time distributed database Mnesia, forms the OTP collection of libraries. Ericsson and a few other companies offer commercial support for Erlang. Since the open source release, Erlang has been used by several firms worldwide, including Nortel and T-Mobile. Although Erlang was designed to fill a niche and has remained an obscure language for most of its existence, its popularity is growing due to demand for concurrent services. Erlang has found some use in fielding MMORPG servers. * Early history of Erlang by Bjarne Däcker Distributed. Fault-tolerant. Soft real-time. Highly available, non-stop applications.


Mldonkey, a peer-to-peer file sharing application based on the EDonkey network. Ocsigen, an OCaml web framework. Opa, a free and open-source programming language for web development. pyre-check, a type checker for Python created at Facebook. Tezos, a self-amending smart contract platform using XTZ as a native currency. Unison, a file synchronization program to synchronize files between two directories. The reference interpreter for WebAssembly, a low-level bytecode intended for execution inside web browsers. Xen Cloud Platform (XCP), a turnkey virtualization solution for the Xen hypervisor. Bloomberg L.P., which created BuckleScript, an OCaml compiler backend targeting JavaScript.

Computer program

programprogramscomputer programs
Examples include databases, email servers, and network servers. Information worker software are designed for workers at the departmental level. Examples include time management, resource management, analytical, collaborative and documentation tools. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks. Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. These produce graphics, publications, animations, and videos.

Process (computing)

In computing, a process is the instance of a computer program that is being executed. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.

Email client

e-mail clientmail user agente-mail
When sending mail, users can only control encryption at the first hop from a client to its configured outgoing mail server. At any further hop, messages may be transmitted with or without encryption, depending solely on the general configuration of the transmitting server and the capabilities of the receiving one. Encrypted mail sessions deliver messages in their original format, i.e. plain text or encrypted body, on a user's local mailbox and on the destination server's. The latter server is operated by an email hosting service provider, possibly a different entity than the Internet access provider currently at hand.

Central processing unit

Most high-end microprocessors (in desktop, laptop, server computers) have a memory management unit, translating logical addresses into physical RAM addresses, providing memory protection and paging abilities, useful for virtual memory. Simpler processors, especially microcontrollers, usually don't include an MMU. Most CPUs are synchronous circuits, which means they employ a clock signal to pace their sequential operations. The clock signal is produced by an external oscillator circuit that generates a consistent number of pulses each second in the form of a periodic square wave.

Communication protocol

protocolprotocolscommunications protocol
There are commonly reoccurring problems that occur in the design and implementation of communication protocols and can be addressed by patterns from several different pattern languages: Pattern Language for Application-level Communication Protocols ( CommDP), Service Design Patterns, Patterns of Enterprise Application Architecture, Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing. The first of these pattern languages focuses on the design of protocols and not their implementations. The others address issues in either both areas or just the latter.

Fault tolerance

fault-tolerantfault tolerantfault-tolerance
However, the similarly critical systems for actuating the brakes under driver control are inherently less robust, generally using a cable (can rust, stretch, jam, snap) or hydraulic fluid (can leak, boil and develop bubbles, absorb water and thus lose effectiveness).

Virtual community

virtual communitiesonline communitiesonline community
The input box is where users can type their text-based message to be sent to the providing server. The server will then transmit the message to the computers of anyone in the chat room so that it can be displayed in the message window. The message window allows the conversation to be tracked and usually places a time stamp once the message is posted. There is usually a list of the users who are currently in the room, so that people can see who is in their virtual community. Users can communicate as if they are speaking to one another in real life.

Financial crisis of 2007–2008

global financial crisis2008 financial crisisfinancial crisis of 2007–08
The distribution of household incomes in the United States has become more unequal during the post-2008 economic recovery, a first for the US but in line with the trend over the last ten economic recoveries since 1949. Income inequality in the United States has grown from 2005 to 2012 in more than 2 out of 3 metropolitan areas. Median household wealth fell 35% in the US, from $106,591 to $68,839 between 2005 and 2011.


legallawslegal theory
Coase said that regardless of whether the judge ruled that the sweetmaker had to stop using his machinery, or that the doctor had to put up with it, they could strike a mutually beneficial bargain about who moves that reaches the same outcome of resource distribution. Only the existence of transaction costs may prevent this. So the law ought to pre-empt what would happen, and be guided by the most efficient solution. The idea is that law and regulation are not as important or effective at helping people as lawyers and government planners believe.


economiceconomisteconomic theory
Coming at the end of the classical tradition, John Stuart Mill (1848) parted company with the earlier classical economists on the inevitability of the distribution of income produced by the market system. Mill pointed to a distinct difference between the market's two roles: allocation of resources and distribution of income. The market might be efficient in allocating resources but not in distributing income, he wrote, making it necessary for society to intervene. Value theory was important in classical theory. Smith wrote that the "real price of every thing ... is the toil and trouble of acquiring it".

Web browser

browserweb browsersbrowsers
In the case of https: the communication between the browser and the web server is encrypted for the purposes of security and privacy. Another URL prefix is file: which is used to display local files already stored on the user's device. Once a web page has been retrieved, the browser's rendering engine displays it on the user's device. This includes image and video formats supported by the browser. Web pages usually contain hyperlinks to other pages and resources. Each link contains a URL, and when it is clicked, the browser navigates to the new resource. Thus the process of bringing content to the user begins again.