Che cosa è lo stack?
Ciao,
abbiamo avuto l’idea di creare una nuova playlist per parlare degli address Bitcoin. Spesso sentiamo nomi come Pay to hash public key, oppure Pay to script hash, o ancora bech32.
Sono argomenti un pò impegnativi , per questo motivo utilizzeremo una lavagna per creare dei disegni per comprendere meglio l’argomento. Per andare nel dettaglio e capire meglio Bitcoin, io e Alessandro abbiamo scritto 3 libri, Bitcoin dalla teoria alla pratica, Bitcoin in Action e Bitcoin 199 domande. Oltre a questo facciamo corsi live e offline che trovate su bitcoininaction.com in collaborazione con agli amici di Bitcoin People.
Partiamo parlando dicendo che non esistono address, ma esistono solo script. Gli address sono il risultato di funzioni crittografiche applicate sulla chiave pubblica.
Utilizzeremo come primo script, l’”address” P2PK.
Pensiamo per un attimo al significato di Pay to Public Key. Che cosa ci vuole comunicare? In italiano potremmo tradurla con pagare a una chiave pubblica. Ed effettivamente è proprio quello che succede, quando si effettua una transazione, essa viene sbloccata confrontando la firma digitale su una chiave pubblica.
Questo non dovrebbe sorprendere, perchè come abbiamo visto nei primi video, forse proprio il primo video del canale, la firma digitale si valida utilizzando la chiave pubblica derivata dalla chiave privata che ha generato quella firma.
Dobbiamo fare un passo indietro prima di parlare della generazione dell’address, dobbiamo chiarire i concetti di Stack e di validazione.
Lo stack è una sequenza di dati, inseriti uno sopra l’altro.
Nel caso di Bitcoin si parla di stack LIFO, Last Input First output, quindi il primo elemento che entra è anche il primo ad uscire. Un ulteriore particolarità è che lo stack è Reverse Polish, ovvero gli operatori seguono l’operandi.
Senza andare troppo nel dettaglio, vediamo un esempio.
L’operazione che vogliamo fare è una somma 2 + 2, quindi secondo l’annotazione polacca prima mettiamo 22 e poi l’operazione somma, OP_ADD.
Viene inserito il primo elemento nello stack. quando un elemento viene inserito nello stack si chiama operazione di push.
Successivamente viene inserito il secondo operatore
Ed infine viene inserito l’operando che ha il compito di prendere i primi due elementi in top, quindi in cima allo stack, applicare la funzione della somma, e inserire il risultato nello stack.
Quindi l’operazione che farà saranno. POP di 2, POP di 2, PUSH di 4.
Questo è un primo passo per capire come vengono validate le transazioni.
Se volete approfondire questo argomento iscrivetevi al canale e visitate il nostro sito corsobitcoin.com, dove trovate i nostri libri e i nostri contatti.
Ciao alla prossima
— — –
—
🐙 GitHub: https://bit.ly/2Lj3yeY
— –
📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (Amazon)
📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (pagamento in bitcoin)
— –
📒 Libro Bitcoin dalla teoria alla pratica (Amazon)
📒 Libro Bitcoin dalla teoria alla pratica (pagamento in bitcoin)
📒 Book Bitcoin from theory to practice (Amazon)
📒 Book Bitcoin from theory to practice (accept bitcoin)
—
🎥 Video Corso Bitcoin dalla teoria alla pratica
—
📙 Tascabile Bitcoin 199 domande (Amazon)
📙 Tascabile Bitcoin 199 domande (pagamento in bitcoin)
📙 Pocket Book Bitcoin 199 questions (Amazon)
📙 Pocket Book Bitcoin 199 questions (accept bitcoin)
—
► ITA: Twitter , Facebook, Medium, Instagram, Youtube, GitHub
► ENG: Twitter , Facebook, Medium, Instagram, Youtube, GitHub
Television isn’t a good idea (Radio Stations)
Email isn’t a good idea (Post offices)
Amazon isn’t a good idea (Retail stores)
Bitcoin isn’t a good idea (Central banks)
In crypto we trust