# Lentis/Peer-to-Peer Media Sharing
## Peer-to-Peer Networking

Peer-to-peer (P2P) computing is a distributed application architecture that equally distributes workloads, computing resources, and media access between peers. This architecture prioritizes connectivity and communication between users. Each system involved within a P2P network is said to be a node, which contributes to greater system performance. Resources such as processing power, CPU/GPU utilization, storage, and network bandwidth are made accessible to other nodes within the network, without the need for a centralized server or host. When a node requires a task, it is another node that supplies the resource, creating a siloed and bidirectional environment where the consumers are also the suppliers.
The lack of a central server allows a P2P configuration to be more cost efficient than traditional server architecture, since a network can be created through existing computers. Further, failure of one of the acting node computers won't disrupt the rest of the system as each terminal can function independently from others. Downloads can be interrupted without failure, as they are being drawn from hundreds of sources at once rather than a single server. P2P gives networking control entirely to the user, allowing for distinct permissions and access throughout the system.

## Comparison to Client-Server Architecture

Rather than a communication focus, client-server systems focus primarily on data access. They are a centralized system where one dedicated host accounts for media/connection access for other systems, called in this case clients. Data transfer is handled specifically by the host to clients, however, data can also be collected from a client to their host. The host server/system requires a constant strong connection and needs to account for bandwidth and system capabilities depending on client access and needs. This is currently the most utilized system with the advent of the world wide web and ensuing web browsers of the late 1990s. This architecture is mainly utilized in modern internet use for the following reasons:

### Centralized Data and Security

Owners of servers are explicitly in control of file access, delivering filtered and limited data to users. In addition, those using servers are able to provide safeguards during the transfer and storage of needed information. Developments such as administrator privileges and 2-factor authentication provide greater security and allow for smoother access to data. A high level of security allows for the safest options to browse the internet, providing the user with a simple browsing experience.

### Scalability

Servers can be scaled by the addition of greater resources. This includes additional computing power, more servers, and expanded bandwidth and connection capabilities through available infrastructure.

### Accessibility

Features such as full system capability, server-based backups, expedited file sharing, and no need for user-side security provide a platform for all users to have their desired experience accessing the likes of a website, database, or other form of server system with client-server architecture.

## Historical Development of P2P
#### 1969 - ARPANET

Connected between UCLA, Stanford Research Institute, UC Santa Barbara and the University of Utah, ARPANET was a prime example of early internet being Peer to Peer. This development signified the technical foundation of the internet.

#### 1979 - Usenet

Based off of the Unix to Unix-Copy Protocol, this network allowed Unix based systems to connect to one another, exchange media, and then disconnect. This system was the precursor to many forums, where thousands of users formed newsgroups to exchange information.

#### 1999/2000 - Napster and Limewire

Development of the 2 primary media file sharing platforms responsible for the transformation of internet use in the context of media streaming. Both allowed millions of early internet users to connect directly to those with desired files, establishing a limitless peer to peer system for data access. Despite their controversy, this was the beginning of the shift towards modern data use and user relationships with the internet.

#### 2000 - Gnutella

Gnutella is a protocol which greatly streamlined node access and the file downloading process in P2P networks. This is done through a process called query flooding, where nodes connect to related neighbors iteratively to quicken the file search.

#### 2000 - Freenet

Freenet allowed for greater anonymity via file and user encryption. Nodes were still utilized, however sought after data and the access process were protected actions not understandable by other users. This later evolved into the darknet and subsidiary access levels of modern internet infrastructure.

#### 2001 - Bittorrent

A client developed to further expedite media access and download. This is done by installing parts of a file from multiple sources, notated as the swarm. This usage of P2P networking was praised and heavily used for its efficiency in distributing large files, and became a centerpiece for modern media pirating systems.

#### 2009 - Bitcoin

A decentralized cryptocurrency based on the blockchain, a digital ledger of transactions that is replicated and distributed across a large network of computer systems, or nodes, to record and secure information. The use of a P2P system to create a currency with the ability to be universally exchanged soared in popularity and still continues its effect on modern digital currency and economy.

## The Future of P2P Networks: Blockchains

Today, peer to peer networks are most notably used to support blockchains, enabling cryptocurrencies and their related technologies. The P2P network is used to store relevant blockchain information and is made available to all users who would like to connect. Each node that is connected to the network works to validate transactions, ensuring trust throughout the system, as there is an underlying assumption that an individual node is trustworthy. A network can only be compromised if one entity controls more than 50% of all nodes. This is infeasible for large P2P networks such as Bitcoin and Ethereum.
The added security of P2P networks allows for new innovations to emerge on blockchains. The Ethereum blockchain is known for its different subsets of networking technologies. Financial transactions is what cryptocurrencies are best known for, but in the future there are many more uses. Cryptocurrencies used to have to create their own blockchains and methodologies, today Ethereum allows for the creation of cryptocurrencies on its blockchain. Anyone with an internet connection can create a cryptocurrency through the use of a smart contract.
Decentralized Autonomous Organizations (DAOs) are also built on the Ethereum blockchain. These organizations allow for nodes to communicate and make decisions based on membership. This happens anonymously and allows for transparency, as all information on the voting and actions is stored publicly in a P2P network. These organizations often collect money from their members and then decide what to do with it, from donating to charity, to gambling, the options are endless. Intriguingly, this is a new methodology for creating non-profit organizations. However, anonymity does attract bad players, so this technology can be used for nefarious purposes.
Non-fungible tokens (NFTs) are hyped up to be the future of cryptocurrencies, and by extension P2P networks. They allow for the proof of ownership of a digital asset, much like a deed to a house. However, value is only generated by perception when there is a lack of government regulation. NFTs are only valuable because other nodes in the network believe they are. NFTs have other uses than just ownership of digital art. They can be used to prove ownership of anything, in the future deeds, loans, and stock holdings could all be NFTs. This adds security because of the P2P network, the data is stored on thousands of nodes, so if one goes down it persists.

## The Rise & Fall of Napster

Napster was created as a music file-sharing computer service in 1999 by Shawn Fanning, a freshman at Northeastern University. CD sales were at an all time high in 1999, a time where an entire album must be purchased to listen to just one hit song. In an attempt to combat the high cost of music ownership, Fanning utilized peer-to-peer networking to decentralize the music industry and provide music for free with his service, Napster. Users were able to browse local discs of neighboring computers directly for mp3 files before downloading them free of charge.
Within one year of Napster's creation, the company claimed its membership reached more than 20 million users, fully disrupting the music industry. The program removed the need for physical music purchases and filtered massive amounts of revenue away from artists and record labels. The heavy metal band Metallica filed a suit in April 2000 against Napster for copyright infringement against protected materials. Publicity from numerous similar court cases increased rapidly, encouraging others in the music industry to join in the suit against the program. In February of 2001, the U.S. federal appeals court ruled against Napster in their knowledge of direct infringement through its near 80 million users. The service was shut down in July 2001, attempted to become a subscription based model, but had already lost its appeal to users. Although ineffective in the short term, Napster manage to alter the music industry forever and lead to the streaming based music services we now have today.
* ↑ https://www.livinginternet.com/i/ii_arpanet.htm
* ↑ https://www.britannica.com/technology/USENET
* ↑ https://www.academia.edu/4289113/The_Internet_Goes_to_Court_A_Napster_Case_Study
* ↑ http://ischia.informatik.uni-freiburg.de/teaching/seminar/p2p-networks-w06/submissions/gnutella.pdf
* ↑ https://freenetproject.org/whatis.html
* ↑ https://history-computer.com/bittorrent-history/
* ↑ https://money.usnews.com/investing/term/blockchain
* ↑ https://money.usnews.com/investing/articles/the-history-of-bitcoin
* ↑ Sharma, T. K. (2022, September 1). Blockchain & Role of P2P Network. Blockchain Council. https://www.blockchain-council.org/blockchain/blockchain-role-of-p2p-network/
* ↑ Beckers, K., & Faßbender, S. (2012, August). Peer-to-peer driven software engineering considering security, reliability, and performance. In 2012 Seventh International Conference on Availability, Reliability and Security (pp. 485-494). IEEE.
* ↑ Sayeed, S., & Marco-Gisbert, H. (2019). Assessing blockchain consensus and security mechanisms against the 51% attack. Applied sciences, 9(9), 1788.
* ↑ Metcalfe, W. (2020). Ethereum, smart contracts, DApps. Blockchain and Crypt Currency, 77.
* ↑ Wang, S., Ding, W., Li, J., Yuan, Y., Ouyang, L., & Wang, F. Y. (2019). Decentralized autonomous organizations: Concept, model, and applications. IEEE Transactions on Computational Social Systems, 6(5), 870-878.
* ↑ Umeh, J. (2019). DARK SIDE OF THE BLOCKCHAIN. Itnow, 61(1).
* ↑ Chohan, U. W. (2021). Non-fungible tokens: Blockchains, scarcity, and value. Critical Blockchain Research Initiative (CBRI) Working Papers.
* ↑ https://www.britannica.com/topic/Napster
* ↑ https://www.aei.org/carpe-diem/annual-recorded-music-sales-by-format-from-1973-2015-and-what-that-tells-us-about-the-limitations-of-gdp-accounting/
* ↑ https://money.cnn.com/2000/07/19/technology/napster/index.htm
* ↑ https://www.inventorsdigest.com/articles/short-song-the-rise-and-fall-of-napster/