Skip to content

Commit 3ceef0c

Browse files
nokcha75raxhvl
andauthored
Added Frontier and Homestead information to Protocol History (#293)
* Added Frontier and Homestead information to Protocol History I added a Frontier section and a Homestead section, including resources for further reading. * Typo fix * Update docs/wiki/protocol/history.md Co-authored-by: rahul <[email protected]> * Update docs/wiki/protocol/history.md Co-authored-by: rahul <[email protected]> * Update docs/wiki/protocol/history.md Co-authored-by: rahul <[email protected]> * Update history.md * Formatting fix * Typo fix --------- Co-authored-by: rahul <[email protected]>
1 parent 86cf738 commit 3ceef0c

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

docs/wiki/protocol/history.md

+18-7
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,23 @@ This page highlights important technical changes in the history of Ethereum prot
66

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

9+
## Frontier
10+
11+
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.
12+
13+
Learn more about Frontier in the following resources:
14+
15+
- [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)
16+
- [The thawing frontier](https://blog.ethereum.org/2015/08/04/the-thawing-frontier)
17+
- [ethereum.org web archive](https://web.archive.org/web/20150802035735/https://www.ethereum.org/)
18+
- [ethereum-protocol-update-1](https://blog.ethereum.org/2015/08/04/ethereum-protocol-update-1)
19+
920
## Homestead
1021

11-
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.
12-
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.
22+
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.
1323
Here are some of the notable features and changes introduced during the Homestead phase:
1424

15-
- [EIP-2](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md): Homestead Hard-fork Changes
25+
- [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.
1626

1727
1. **Increased gas cost for contract creation:**
1828
The gas cost for creating contracts via a transaction was increased from 21,000 to 53,000.
@@ -27,23 +37,24 @@ Here are some of the notable features and changes introduced during the Homestea
2737
The difficulty adjustment algorithm was modified to address issues observed in the Frontier phase.
2838
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.
2939

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

3242
A new opcode, `DELEGATECALL`, was added at `0xf4`.
3343
It functions similarly to `CALLCODE`, but propagates the sender and value from the parent scope to the child scope.
3444
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.
3545
Unlike the `CALL` opcode, there is no additional stipend of gas added, which makes gas management more predictable.
3646

37-
- [EIP-8](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md): devp2p Forward Compatibility Requirements for Homestead
47+
- [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.
3848

3949
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.
4050
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)).
4151

52+
Learn more about Homestead in the following resources:
4253

43-
Additional Resources:
4454
- [Ethereum Homestead Documentation](https://readthedocs.org/projects/ethereum-homestead/downloads/pdf/latest/)
4555
- [The Robustness Principle Reconsidered](https://queue.acm.org/detail.cfm?id=1999945)
46-
56+
- [Homestead blog release post](https://blog.ethereum.org/2016/02/29/homestead-release)
57+
- [The Homestead release - github](https://github.com/ethereum/homestead-guide/blob/master/source/introduction/the-homestead-release.rst)
4758

4859
## The Merge
4960

0 commit comments

Comments
 (0)