Skip to content

Commit

Permalink
Merge branch 'main' into feat/consensus-layer
Browse files Browse the repository at this point in the history
  • Loading branch information
shyam-patel-kira authored Jun 20, 2024
2 parents d6b78d8 + b2fac10 commit 528b7e2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
4 changes: 2 additions & 2 deletions docs/eps/week1.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ To understand Ethereum design, we need to learn about predecessors and the cultu

Starting all the way back in the 1960s, UNIX is an operating system and philosophy that redefined the entire paradigm of computation. This is the paradigm we have been using for over 50 years and has never really changed. Its fundamental concept of modularity is important to Ethereum design and open collaborative environment of Bell Labs is similar to Ethereum core development today.

> Check this documentary with Dennis Ritchie and Ken Thompson, which perfectly captures spirit and ideas behind UNIX: https://yewtu.be/watch?v=tc4ROCJYbm0
> Check this documentary with Dennis Ritchie and Ken Thompson, which perfectly captures spirit and ideas behind UNIX: https://www.youtube.com/watch?v=tc4ROCJYbm0
The Free Software movement is fundamental to Ethereum and all cryptocurrencies. The open, independent and collaborative development culture of Ethereum is strongly rooted in FOSS (Free and Open Source Software). Ethereum needs to be transparently implemented in software that gives full freedom to its users. Using any FOSS can empower every user and developer, but it's necessary for security, neutrality and trustless nature of Ethereum.

> To understand its importance, watch this talk by Richard Stallman, the founder of Free Software and GNU project:
> - https://yewtu.be/watch?v=Ag1AKIl_2GM
> - https://www.youtube.com/watch?v=Ag1AKIl_2GM
> - More reading: https://www.gnu.org/philosophy/free-sw.html, *The Cathedral and the Bazaar* book: http://www.catb.org/~esr/writings/cathedral-bazaar/
The invention of [asymmetric cryptography](https://www-ee.stanford.edu/~hellman/publications/24.pdf) marks the birth of a new paradigm for cryptography applications. Later, the rise of cryptography in computation for general public enabled everyone to utilize tools for digital privacy, secure communication and fundamentally transformed cybersecurity. While nation states did not have a framework for these new concepts, [Crypto Wars](https://en.wikipedia.org/wiki/Crypto_Wars) resulted in activist movements advocating and building cryptography tools. Ultimately, these were people inventing tools and ideas which became fundamental building blocks of modern cryptocurrencies.
Expand Down
25 changes: 18 additions & 7 deletions docs/wiki/protocol/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,23 @@ This page highlights important technical changes in the history of Ethereum prot

Useful links: [Overview from Ethereum.org](https://ethereum.org/en/history) and [Meta EIPs from Ethereum.org](https://eips.ethereum.org/meta)

## Frontier

The Frontier release marked the launch of the Ethereum Protocol. The release was essentially a beta release that allowed developers to learn, experiment, and begin building Ethereum decentralized apps and tools. It was launched on July 30, 2015, at 3:26:13 AM UTC, which is the timestamp of the [Ethereum genesis block](https://etherscan.io/block/0). Frontier launched with a gas limit of 5000. This gas limit was hard coded into the protocol to ensure that miners and users could get up and running by installing clients during the initial launch of the protocol. The gas limit would later be increased to 3 million with the Frontier thawing fork (exactly 3,141,592). The canary contracts were contracts that gave a binary signal of either 0 or 1. These canary contracts were an initial launch mechanism used only during the Frontier release of Ethereum. If clients detected that multiple contracts had switched to a signal of 1, they would stop mining and urge the user to update their client. This prevented prolonged outages by ensuring that miners did not prevent a chain upgrade.

Learn more about Frontier in the following resources:

- [Frontier is coming, what to expect and how to prepare](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare)
- [The thawing frontier](https://blog.ethereum.org/2015/08/04/the-thawing-frontier)
- [ethereum.org web archive](https://web.archive.org/web/20150802035735/https://www.ethereum.org/)
- [ethereum-protocol-update-1](https://blog.ethereum.org/2015/08/04/ethereum-protocol-update-1)

## Homestead

The first version of Ethereum, called the Frontier release, was essentially a beta release that allowed developers to learn, experiment, and begin building Ethereum decentralized apps and tools.
Homestead was the second major version of the Ethereum platform, officially released on March 14, 2016, marking Ethereum’s transition from a beta phase to a more mature and stable platform.
Homestead was the second major release of the Ethereum protocol, officially released on March 14, 2016, marking Ethereum’s transition from a beta phase to a more mature and stable platform.
Here are some of the notable features and changes introduced during the Homestead phase:

- [EIP-2](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md): Homestead Hard-fork Changes
- [EIP-2](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md): EIP-2 contained numerous fixes, such as increasing the gas cost for contract creation via transactions, ensuring that contract creation either succeeded or failed (preventing empty contracts from being created), and modifications to the difficulty adjustment algorithm.

1. **Increased gas cost for contract creation:**
The gas cost for creating contracts via a transaction was increased from 21,000 to 53,000.
Expand All @@ -27,23 +37,24 @@ Here are some of the notable features and changes introduced during the Homestea
The difficulty adjustment algorithm was modified to address issues observed in the Frontier phase.
The new formula aimed to maintain the targeted block time and prevent excessive deviation by adjusting the difficulty based on the timestamp difference between blocks.

- [EIP-7](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7.md): `DELEGATECALL`
- [EIP-7](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7.md): EIP-7 introduced the `DELEGATECALL` opcode.

A new opcode, `DELEGATECALL`, was added at `0xf4`.
It functions similarly to `CALLCODE`, but propagates the sender and value from the parent scope to the child scope.
Propagating the sender and value makes it easier for contracts to store another address as a mutable source of code and "pass through" calls to it.
Unlike the `CALL` opcode, there is no additional stipend of gas added, which makes gas management more predictable.

- [EIP-8](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md): devp2p Forward Compatibility Requirements for Homestead
- [EIP-8](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md): EIP-8 ensures that clients on Ethereum support future network upgrades by introducing devp2p forward compatibility requirements.

The **devp2p Wire Protocol**, **RLPx Discovery Protocol**, and **RLPx TCP Transport Protocol** specify that implementations should be liberal in accepting packets by ignoring version numbers and additional list elements in hello and ping packets, discarding unknown packet types silently, and accepting new encodings for encrypted key establishment handshake packets.
This ensures all client software can cope with future protocol upgrades and will accept handshakes, allowing liberal acceptance of data from others (see [Postel's Law](https://en.wikipedia.org/wiki/Robustness_principle)).

Learn more about Homestead in the following resources:

Additional Resources:
- [Ethereum Homestead Documentation](https://readthedocs.org/projects/ethereum-homestead/downloads/pdf/latest/)
- [The Robustness Principle Reconsidered](https://queue.acm.org/detail.cfm?id=1999945)

- [Homestead blog release post](https://blog.ethereum.org/2016/02/29/homestead-release)
- [The Homestead release - github](https://github.com/ethereum/homestead-guide/blob/master/source/introduction/the-homestead-release.rst)

## The Merge

Expand Down

0 comments on commit 528b7e2

Please sign in to comment.