Functions, Hash Functions, Cryptography - Discussion

Alright!
Thanks alot for taking the time to answer!

1 Like

Im getting the aha moment in every single lesson so far so good

3 Likes

can someone tell me how a Merkle tree works?

Merkle tree - Hash tree

Merkle tree or hash tree is a tree in which every leaf node is labelled with a data block and every non-leaf node is labelled with the cryptographic hash of the labels of its child nodes. Hash trees allow efficient and secure verification of the contents of large data structures. Hash trees are a generalization of hash lists and hash chains.

Demonstrating that a leaf node is a part of a given binary hash tree requires computing a number of hashes proportional to the logarithm of the number of leaf nodes of the tree; this contrasts with hash lists, where the number is proportional to the number of leaf nodes itself.

check out these videos:
Basic explanation of Merkle (IvanOnTech)

Merkle root and merkle trees in Bitcoin (in dept)

ping me If you have more questions.

11 Likes

Functions?? I donā€™t have a clue, Just donā€™t understand. Can anybody explane in Dutch???

Hi
I struggled a bit with the function homework. Anyone have a good website where I can get a better understanding as well as practice?

1 Like

wow that was a serious read on sha 256 and the structure of the blockchain and the section on the structure of a block. really deep. very interesting. thanks for that. i may have to read it again to take it all in but i guess you will be revisiting this topic again.

the merkle tree was very interesing. like a little trail of breadcrumbs which lead from a to b to z. simple but effective.

1 Like

What would be Blockchain 3.0? Cardano?

Hi all, really need help here. I can not wrap my head around this homework. is there anyone who can explain this to me like a 5 year old. Especially this symbol"^". I can not move on in the course until I really get it. Thank you

  1. Calculate the output of the following function
f(x) = {

x^2 if x is even

x+10 if x is odd

}

What will be the output for the following inputs?

  • a) f(2)
  • b) f(7)
  • c) f(0)
1 Like

I really liked the way you explained what a smart contract is and what a DAPP is. What stood out was the way you described a smart contract as ā€˜holding moneyā€™ and being on ā€˜24/7ā€™ and DAPPs as being a collection of these.

@ivan and @filip I have some questions below, which Iā€™m hope you could clarify for meā€¦
First I would like to say that I really enjoy the content of your course and I apologize for asking such basic questions but Iā€™m a complete newbie trying to wrap my mind around these new conceptsā€¦
Really thank you for taking the time.

1- I understand that Bitcoin has its own network of independent and free willing participating nodes. However when we speak more generally about blockchain, for example IBM providing blockchain services, what network is used in those cases? Are they private networks? If so arenā€™t they extremely vulnerable and equally easy to temper with as traditional databases?

2- Does blockchain have a mechanism to remove erroneous data from the public ledger (after that erroneous data has been entered/approved in the blockchain)? If so what mechanism is used for that?

3- When a new block is being created, what elements exactly from the previous and the new block are either concatenated or hashed together? Iā€™m trying to understand what is combined together before executing the final hash which will become the new blockā€™s digital fingerprint. I couldnā€™t find that in the course, nor when I searched on googleā€¦ I couldnā€™t find a description of the highlevel steps (I give a stupid example hereafter to explain/exemplify what I would need to understand):
a/take the hash from the previous block, b/concatenate with date of the new block, c/concatenate with the number of the new block, d/concatenate with the data of the new block, e/hash all the previous, f/concatenate the previous hash with the nonce, e/hash the previous result with different nonces as many times until you get the target hash, etc.

4- This question derives from the previous one. I have not understood what exactly becomes/constitutes the digital signature of a block. I mean what becomes the header of the next blockā€¦ I donā€™t see how it could be the target hash from the previous block (at least tat wouldnā€™t make sense to me)ā€¦ I am guessing it could be some hash result which was obtained prior to adding the nonce? If so, it is the hash of what elements? (yes slightly redundant with the previous question)

5- When you explain in the course that use/show to the network your private key in order to sign a transaction and provide your identity, doesnā€™t your private key get exposed to the entire network? I thought the private key should never be exposedā€¦ This is very confusing for me :slight_smile:

5 Likes

Hi Xav! I am noob too but i know the answer. There cannot be erroneous data in the blockchain because it is verified before it is written. That means that there is no need of any mechanism to remove data. Ivan is talking about it in Consensus lesson.
Anyway I find Your questions very interesting and looking forward the answers.

2 Likes

itā€™s a loaded question :grin: I will prepare this one so I can answer it in good English. Iā€™ll come back to this tomorrow. Have a nice day Xav!

Hi all, I have a few questions after the public and private key cryptography topic:

  1. How do you actually know your computer generates these private keys randomly?
  2. I understand that you encrypt a message with the public key of the receiver in order to send someone a private message over a public network. The receiver can then use their private key (which is the same parent of the public key that the sender used for encryption) to decrypt this message. Do I understand correctly that you can somehow use your private key to decript a message that was encrypted with the public key that was derived from your private key?
  3. Can someone explain process of signing a message with your private key? Donā€™t you want the private key to be private to you alone?

in the computation lesson he calles the function F but in the second example he calls it H.
does this matter or is it just like a numbering, like your first function you name A(x)=ā€¦ your second B(x)=ā€¦ or do the letters have another real function?

Most common symbol for a function is F(x)=y the x is what we know y is for the result and F is just the name so to say. You could even say P(x) or Doctor(x). Itā€™s just a symbol to know about what you are talking. Not a programmer but good in maths and as i have seen it until now in programming itā€™s the same. :smiley:
Some good resources for understanding the perspective of functions i thing are:
https://www.mathsisfun.com/sets/function.html (explained in the easiest way)
https://www.britannica.com/science/function-mathematics (explained in the most accurate way)
https://en.wikipedia.org/wiki/Function_(mathematics) (explained a little complicated)

4 Likes

wow thanks for the fast response buddy! i guessed so but you never know untill you know :stuck_out_tongue:

1 Like

Your welcome. Better ask than staying with the question. Cooperating makes as stronger :wink:

3 Likes

isnā€™t there a chat on discord or anything? a forum is so slow for questions. i live fast :sweat_smile:

1 Like