Mastering Ethereum Challenge Part 3 - Should I run a full node?

in #teammalaysia4 years ago (edited)

In this sit down, I have:

  • Covered 20 pages of the book (p. 41 ~ p. 60)
  • Better clarity when you should consider running a full node.
  • If you want to run a full node, what hardware specs do you need?
  • Once you have the required equipment, what options do you have?
    You have six options. The book covers two: Geth (Go) & Parity (Rust).
  • How do you run a full node step-by-step?
  • Higher appreciation for Metamask as a Remote Ethereum Client.
  • Slightly better understanding about cryptography.
  • Understood why it's virtually impossible to guess a private key.


Thoughts / Unanswered Questions


  • Is running an Ethereum full node synonymous with Ether mining?
  • If yes, can I make this a passive income for myself?
  • How many people I know have done this before?

mining.jpg


My Learnings and Takeaways


Should I run a full node?

  • Running a full node is not for everyone.
  • It is an expensive and technically tiresome affair. If you don't have the right equipment, it's going to be a frustrating experience e.g. super long syncing times.
  • The main benefit of running your own node is speed. You don't need to rely on third party services e.g. Infura to query the blockchain.

Wallet services e.g. Metamask are actually Remote Ethereum Clients (REC).

Because... they provide the following functionalities:

  • Manage private keys, create, sign and broadcast transactions.
  • Interact with smart contracts... Hey you, I wanna call a function.
  • Interact with dApps (decentralised applications).
  • Offer links to external blockchain explorers e.g. Etherscan.
  • Convert ether / token units and retrieve exchange rates from external sources.
  • Injects a Web3 instance into the web browser by appearing as a Javascript object.

All mobile wallets are RECs, because smartphones today do not have the adequate resources to run a full Ethereum client. Thus, RECs are essential to bridge the gap between Web2 and Web3.

Definition of Web3: A new vision for the web moving from centrally owned & manaaged apps to dApps built on decentralised protocols.

Lastly, I've covered the chapter on cryptography... but it's a really dense topic.

  • Cryptography basically means 'secret message'.
  • Cryptography is used to prove knowledge of the secret without actually revealing the 'secret'. In the new Christopher Nolan spy movie 'TENET', the agents use a lot of this to let each other know they can be trusted without revealing any information about the organisation they actually represent.

image.png

What's covered in this chapter on Mastering Ethereum is public key cryptography (PKC).

  • PKC is a core part of modern day information security.
  • These keys are useful because they are easy to create but difficult to calculate their inverse. For example, it is easy to multiply two numbers together to give a larger number 8,018,009. But if I were to ask you to guess what those two numbers are, it's not so easy.
  • However, that is just a simple example... cryptography in Ethereum uses arithmetic operations on an elliptic curve.

image.png

  • In Ethereum, a private key is used to create a public-private key pair.
  • The private key is the most important because it is a unique number you use to create digital signatures; and the public key is derived from it.
  • The number of Ethereum private keys you can choose from is 2256 , which is about 1077 numbers --- a very large number.
  • So large that there are enough private keys for every atom in the universe.
  • Because the public key is selected based on the elliptic curve after you have selected a random number to be the private key, you can see it is easy to obtain a public key. However, it isn't easy to guess the private key.
  • In fact, there is currently no conceivable way for a person (or computer... yet) to guess the correct number without a tremendous amount of resource & effort.
Sort:  

Even reading your summary, I also brain jam liao 😂