EnglishEnglish中文中文اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُDeutschDeutschEspañolEspañolΕλληνικάΕλληνικάFrançaisFrançaisעִבְרִיתעִבְרִיתहिन्दीहिन्दीHrvatskiHrvatskiItalianoItaliano日本語日本語한국어한국어MalayMalayNederlandsNederlandsPortuguêsPortuguêsрусскийрусскийภาษาไทยภาษาไทยTürkTürkTiếng ViệtTiếng Việt粵語粵語
Learn
FAQs
Frequently asked questions by various stakeholders
Why Classic?
Start here to get the lowdown on Ethereum Classic's reason for being and unique value proposition
Knowledge
Further reading on the foundations that underpin ETC
Videos
A collection of videos and podcasts to keep you informed on ETC concepts and happenings
Support ETC by helping to translate this website!
Ethereum Classic Blog

The Mining Game: Explaining Blockchains

Christian Seberino
Development, Education, Mining

To help people understand blockchains, I have created a blockchain game available here. (The source code is available here.) I will explain the game rules and the user interface. I will also mention some possible insights from playing this game.

Game Rules

  • Players can create and submit blocks for inclusion into chains.
  • Blocks consist of five fields: block numbers, nonces, previous initials, player initials, and, payloads.
  • Chains are sets of valid blocks that are ordered by block numbers, and, that start with block number zero.
  • Blocks are valid if their hashes begin with a zero, their previous initials equal the player initials of the preceding block in a chain, and, they contain a payload from the payload list.
  • Nonces can be changed to modify hashes.
  • It is possible to submit invalid blocks.
  • The game is over when at least one block has been submitted for every possible block number.
  • Winners have the greatest numbers of blocks in the longest chains.
  • It is possible for the longest chain to not extend to the largest possible block number.

User Interface

Players can enter block fields in the form:

1eJJfLId2umW5jY2LQnYUnQ

Players select payloads from the payload list:

1VB2HFw5Hefqc9bznkVzt8w

Players can click the "Hash Block" button to calculate the hash of a block, or, the "Submit Block" button to submit a block:

1hylABG2F9EASeHMXC24jsQ

Submitted blocks appear in the yellow region. Valid blocks will be blue and invalid blocks will be red:

1kEAepWFfqATH89WTGnJW5g

Block numbers correspond to rows, and, there is a row for every possible block number. Therefore, games are over when there is at least one block in every row of the yellow region. When games are over, the blocks of the longest chains turn white:

1FaeAmcvkJ4cTInOdyOAHyA

Refresh the web page to start new games.

Possible Insights

The incentives for winning are the same as for mining. For example, because only valid blocks contribute towards winning, players are motivated to validate blocks just like in mining. Also, because only the longest chains contribute towards winning, players are motivated to ignore the smaller chains just like in mining.

Final Thoughts

Hopefully this game will help illuminate many blockchain concepts. Feel free to share it with anyone interested in blockchains.

Feedback

You can contact me by clicking any of these icons:

0eoFC6QOWZ  bCngK

0i3CwTFEKUnKYHMf0

0HQj6HSHxE7pkIBjk

Acknowledgements

I would like to thank IOHK (Input Output Hong Kong) for funding this effort.

License

0hocpUZXBcjzNJeQ2

This work is licensed under the Creative Commons Attribution ShareAlike 4.0 International License.

This page exists thanks in part to the following contributors:


cseberino
cseberino
  • EnglishEnglish
  • 中文中文
  • اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُ
  • DeutschDeutsch
  • EspañolEspañol
  • ΕλληνικάΕλληνικά
  • FrançaisFrançais
  • עִבְרִיתעִבְרִית
  • हिन्दीहिन्दी
  • HrvatskiHrvatski
  • ItalianoItaliano
  • 日本語日本語
  • 한국어한국어
  • MalayMalay
  • NederlandsNederlands
  • PortuguêsPortuguês
  • русскийрусский
  • ภาษาไทยภาษาไทย
  • TürkTürk
  • Tiếng ViệtTiếng Việt
  • 粵語粵語
Add ETC to MetaMask
The ETC community is active on Discord
Discord
Discord
eth_classic Twitter
eth_classic Twitter
ETC_Network Twitter
ETC_Network Twitter
Github
Github
ETC Labs Github
ETC Labs Github
Reddit
Reddit
This site is powered by Netlify

Learn

  • FAQs
  • Why Classic?
  • Knowledge
  • Videos

Made with <3 for the Original Ethereum Vision

The content on this website is user-generated and solely for informational purposes. Do not interpret any content as an endorsement of any product or service. There's "no official anything" in Ethereum Classic. Always do your own research, and remember: don't trust, verify!