Passa ai contenuti principali

Cryptovalute, azioni e dintorni

 

Introduzione


     Ho scritto questa pagina perchè, volendo investire un minimo dei miei risparmi in cryptovalute, mi sono posto il problema di capire cosa stavo per fare, non capendone nulla.

     Mi occupo d'informatica e non di finanza, quindi, ciò che scrivo o penso è il risultato di considerazioni personali che però cerco di basare sui fatti osservati e sull'abbondante documentazione esistente in materia.

     Sono dell'opinione che la logica e il buon senso se applicate, possono portare a delle conclusioni intelligenti, qualsiasi sia la materia trattata. Infatti patata+patata fa due patate, anche se di numeri non si tratta, insomma la logica e il buon senso sono principi universali. Insomma penso di poter scrivere qualcosa di interessante e di sensato.

      Ed è cosí che invece che scrivere degli appunti privati, seguendo invece i trend del momento scrivo nel mio blog, magari qualcuno potrà commentare e correggere o migliorare le mie conclusioni.

Gianrico, 22 Marzo 2021


La bitcoin blockchain

   Una blockchain raggruppa le informazioni in gruppi, chiamati blocks. Non appena un blocco si riempie di informazioni se ne genera uno nuovo e lo si aggancia al precedente formando una catena. Oggi blocco ha un timestamp ovvero una data di inserimento nella blockchain. Nel caso del bitcoin nella blockchain c'e' ogni singola transazione effettuata. La blockchain è distribuita in computer diversi cioè ogni computer ha una copia dell'intera blockchain. Se uno dei computer ha dei dati alterati un confronto con tutti gli altri nodi ne vincola il riallineamento quindi nessuno può alterare i dati della propria copia di blockchain con successo. Ci vorrebbe la modifica del 51% dei nodi per poter alterare una blockchain in modo permanente. La posizione di un blocco nella catena si chiama height. I dati presenti in una blockchain non possono essere editati ma aggiunti. 

       Seguendo l'esempio dei bitcoin ogni blocco è diviso in due parti: il merkle tree e il block header

     Un merkle tree è una struttura ad albero dove le foglie sono le transazioni e tutti i nodi genitore sono hash SHA dei nodi figli. Quindi la root e' una hash di hash di hash ... la hash della root rappresenta tutte le transazioni nell'albero.

      Nel blockheader in particolare c'e': il timestamp, l'hash del blocco precedente a esso, il nonce e il target. Su questi due ci lavorano i miners. Il target è un numero a 256bit. Il nonce è a 32bit. Affinchè un blocco sia accettato dalla rete, l'hash calcolata del blockheader dev'essere minore del valore target. 

    Il lavoro del miner consiste nel generare un nuovo blocco è di farlo 'accettare' dalla blockchain. Per fare ciò ne crea uno in cui inserisce una transazione di 12.5 bitcoin che diventeranno suoi nel caso in cui riesca. Successivamente inserisce nel blockheader l'hash del blocco precedente. Poi ci sarà un valore di hash del merkle tree. Il valore che il miner può modificare e solo il campo nonce (32 bit). Questa modifica permetterà di ottenere valori di hash differenti e quindi di ricercare la soluzione del problema. 

       La soluzione del problema è un valore chiamato target determina la difficoltà del problema. Questo valore cambia in tutti i client della rete ogni 2016 blocchi che, secondo le specifiche della blockchain bitcoin, devono essere generati ogni due settimane. 

          Il valore target è legato ad un valore di tempo blocktime per risolvere il problema che è  mantenuto a 10 minuti. Quindi se i miners sono più veloci la rete abbasserà il valore target in modo da aumentarne la difficoltà altrimenti farà il contrario. Come detto questo controllo viene fatto ogni 2016 nuovi blocchi (circa due settimane).

       Quindi il miner deve creare un blockheader con un valore nonce in modo che l'hash ricalcolata del blocco sia < target. Quindi il miner aumenta il campo nonce da 1,2,3, etc. e prosegue il test. Il valore massimo è 2^32 circa 4 billion. Non è detto che la soluzione si trovi arrivando a 2^32. In tal caso si modifica il blocco aggiungendo un campo chiamato extraNonce al campo coinbase.  Quindi si ricalcolano le hash dell'albero merkle e quindi avendo cambiato i numeri di hash si ricomincia con il processo di cui sopra. Più basso è il valore del campo target più difficile è il problema.

        Se il miner trova la soluzione ovvero il giusto valore nonce/extraNonce il suo blocco sarà accettabile per la blockchain e se arriva per primo potrà inserirlo e otterrà possesso dei 12.5 bitcoin. Questo avviene perchè è lo stesso miner che aveva aggiunto la transazione di 12.5 bitcoin al blocco su cui lavorava.

        Il motivo per cui il numero di bitcoin massimo è 21 milioni (Bitcoin halving event) è che il reward per il mining diminuisce del 50% ogni 210,000 blocks, circa ogni 4 anni.

Credit card crypto.com in cryptocurrency

    La carta di credito Crypto.com è legata al possesso di un wallet di cryptovaluta su crypto.com. La carta di credito fa parte del circuito visa ed è una sorta di carta prepagata in quanto la si carica dal wallet quindi la propria cryptovaluta viene spostata nella carta di credito però in valuta FIAT. Di fatto la carta di credito si ricarica con cryptovaluta ma ha un saldo in valuta FIAT in questo momento Euro o British Pound sui quali non è possibile effettuare  operazioni di cambio.

Cryptovalute: ICO

    Una ICO è una Initial Coin Offering e si ha quando si deve introdurre una nuova cryptovaluta. Diciamo che mi invento una cryptovaluta e nasce il problema di renderla universalmente accettata e utilizzabile.

    L'emettitore crea un progetto e cerca un gruppo di investitori che credono e appoggiano l'iniziativa. Nella ICO si distribuiscono token per raccogliere i fondi. Un token garantisce quindi l'accesso ad un servizio futuro di una azienda. I possibili usi di un determinato token saranno determinati dall’azienda che li emette.

   La principale differenza una cryptovaluta e un token è che la prima ha una sua blockchain, mentre il token non ce l’ha, o non ce l’ha ancora.

                                                               TOKEN 
    Non tutti possono costruire una blockchain pubblica. Non è cosa immediata. Si deve creare, annunciarne l'esistenza, creare un evento che possa raccogliere dal mondo sviluppatori che vi si aggregano, far fare dei test di sicurezza etc. Un esempio è la blockchain che ha messo on-line il 25 marzo 2021 l'exchange crypto.com. 

     Tutti possiamo utilizzare i servizi di una blockchain esistente per creare i nostri "token". Le blockchain di Ethereum e quella di Binance sono tra le più conosciute in merito.
   
   Un token si appoggia a una blockchain esistente. E' come le fiches in un casinò che si appoggiano all'euro, oppure ai gettoni dei giochi di un lunapark.

   Un token può essere trattato come una cryptovaluta nel momento in cui lo si gestisce come tale (Vedi il token CRO di crypto.com).  È come un gettone che si prende in cambio di denaro per giocare a calcetto o ai videogiochi in una sala biliardo ma, a differenza del gettone, ha un proprietario e se ne può verificare l'autenticità in modo inequivocabile.

  Tra i tanti token in circolazione ricordiamo Shiba INU, Hotdoge e tantissimi altri. Dietro a molti di questi si nascondono delle autentiche truffe, alcuni ci spingono a investimenti estremamente rischiosi e spesso a perdere.

  Un esempio di token è il Basic Attention Token (BAT), che è utilizzabile con i browser web Brave. Se vuoi pubblicare un banner pubblicitario paghi l'editore in BAT, gli utenti che usano il browser ricevono BAT per visualizzare gli annunci degli inserzionisti (Brave rewards).

  Quindi l'utente autorizza la ricezione di pubblicità e riceve BAT. Questo a differenza degli adv comunemente presenti su internet dove senza trasparenza prendono i dati personali imponendo la loro pubblicità, tu vieni ripagato in BAT. I BAT si possono convertire in cryptovaluta (usando l'exchange uphold) oppure essere donati ai propri siti preferiti che li possono usare per pagarsi la pubblicità.  Il BAT è costruito sulla blockchain di Ethereum.  Ethereum ti da infatti la possibilita' di creare token nella sua blockchain. 

 

TIPO DI  TOKEN NFT

   Con i token di tipo NFT ogni creazione artistica può essere rappresentata e commercializzata tramite token. Si può anche tokenizzare la propria arte e ricevere una royalty ogni volta che è usata. Con i token si potrebbe rivendere un mp3 di itunes. Il concetto è che ogni token è unico e quindi nel momento in cui lo agganci ad un'opera digitale puoi associare  un proprietario e può essere commercializzato ad esempio nell'Ethereum marketplace. Se creiamo una semplice gif animata possiamo associarle un numero finito di token NFT limitando il numero massimo di token come sono limitati i biglietti per un evento. Posso quindi venderne una limited edition e darle un valore di mercato. 
   
  NFT (Non fungible token) ovvero unico ("non fungibile"="non sostituibile). Un bitcoin è fungibile perchè uno vale l'altro. Ethereum supporta gli NFT. Essendo unici si possono legare a prodotti unici come una foto, musica, disegno. Tu puoi duplicare un oggetto contenente un NFT ma ogni copia avra' indicato il proprietario in modo irreversibile. E' come l'originale di un lavoro che può essere distinto dalle copie, che comunque possono essere vendute. L'operazione di creazione di un token NFT si chiama minting.

    Se vendi un tuo lavoro con NFT puoi guadagnare ogni volta che quel lavoro e rivenduto a passa di mano. A differenza dei lavori fisici possono esserci piu' originali. Quindi io autore vendo un originale ad una cifra stratosferica e poi decidere di venderne altri ...

    Per usare gli NFT su Ethereum hai bisogno di un wallet con dentro degli Ethereum. Questo perchè un NFT su rete Ethereum ha un costo che si paga in Ethereum.

    L'oggetto con NFT, ad esempio una gif, non sarà caricato dentro la blockchain ethereum dove invece ci sarà un riferimento ad un posto su web dove si trova la foto. Ma tu non hai accesso a questo posto. Invece in NFT puoi aggiungere un secondo link dove si trova una copia della tua foto che puoi dare  a chi l'acquista tipo google drive o in un posto piu' sicuro tipo (come  https://rarible.com/ ).

   Il sito  http://opensea.io è un esempio di luogo dove si possono comprare/vendere le proprie creazioni utilizzando NFT. 

                                                                       METAMASK

   Metamask è una estensione per browser che permette di agganciare  un wallet su Ethereum (o anche altre blockchain) il che permette di agganciarlo ad applicazioni DAPP WEB. Questo permette di fare transazioni sulla blockchain ethereum direttamente da pagina WEB a wallet. Questo consente ad esempio di pagare i servizi di un sito web tramite questo wallet senza bisogno di copiare indirizzi di pagamento o QR-code per fare la transazione.

   Con Metamask si possono anche gestire anche i token su Ethereum o Binance.

    Per utilizzare Metamask su google chrome si  installa l'estensione. Successivamente se  hai già un wallet metamask ti chiede la chiave privata per importarlo altrimenti ti crea un nuovo wallet su Ethereum.


WRAPPED BITCOIN

    Oltre al bitcoin esiste il WBTC ovvero il Wrapped bitcoin che è un token ERC20.
Si tratta di un token utilizzato sulla blockchain di Ethereum è serve per agganciare Bitcoin e Ethereum.

   Se hai un normale bitcoin lo puoi solo cedere a qualche utente oppure comprarne uno da un'altro utente oltre che, ovviamente, fare il mining. Se vuoi fare un cambio di valuta devi utilizzare un Exchange. Tra Bitcoin e Ethereum con i token puoi bypassare l'exchange e fare DEX (Decentralized Exchange) e quindi "raggiungere" Ethereum e gli altri token basati su Ethereum in quanto potrai fare lo swap tra loro. Il WBTC è backed 1:1 con bitcoin. Si può passare da BTC a WBTC è viceversa.
  
  Uno swap di cryptovaluta è un cambio da una crypto valuta ad un'altra che fanno normalmente gli exchange. Il trading coinvolge una valuta FIAT, lo swap no. 


COLLEGAMENTO TRA BLOCKCHAIN


   Le blockchain nascono isolate le une dalle altre. Swingby ha realizzato un protocollo per permettere un token swap tra le blockchain utilizzando un sistema decentralizzato. Ovvero si può fare swap di coin senza utilizzare un exchange. Swingby mette a disposizionie il "Chos-MainNet" bridge per passare da BTC  a WBTC. Alla fine di Marzo 2021 voglio lanciare un bridge tra Bitcoin e Binance Smart Chain. Swingby ha l'obiettivo di connettere Bitcoin con le altre blockchains.


 CRYPTO.COM e TOKEN 

 Sono diversi oggi gli exchange che gestiscono delle blockchain interne.

   Crypto.com è un exchange di cryptovalute che ha deciso di lanciare una blockchain pubblica open-source. Cioè loro hanno lanciato una nuova blockchain di nome Crypto.org Chain e il cui token nativo sarà il Crypto.org coin (CRO) presente già nella piattaforma per uso interno ma non scambiabile su altri Exchange.  I CRO Tokens sono utility token (ERC-20 compatible) Ecco l'annuncio: "We are excited to share that the Crypto.org Chain Mainnet is scheduled to go live on 25 March 2021."

   "In data 25 Marzo 2021 vuole lanciare nel mainnet il token CRO. Poco prima di questa data l'azienda ha burned 70 miliardi di CRO per aumentare la decentralizzazione della rete"

     Io ho comprato dei token CRO quando la loro blockchain era ancora in beta. Nel momento in cui l'hanno messa in esercizio mi scrivono: "...You can migrate your ERC20 CRO to native CRO...". Se capisco bene ho sempre dei token però sulla loro blockchain. Ma siccome qualcuno deve pagare Ethereum per ogni token preso loro me lo fanno quando faccio un withdraw.

  Crypto.org prevede anche 2 token interni alla blockchain:

  1. MCO (fatto da crypto.org in passato quando si chiamava Monaco): che poggia sulla Blockchain di Ethereum ed è possibile conservarla su qualsiasi wallet che supporti token ERC-20. 

  2. CRO: questo token viene accettato su tutti i più importanti Exchange del Mondo. Il suo ruolo su Crypto.com è molto importante poiché decreta, tra le altre cose, il tipo di carta che è possibile utilizzare. Infatti, più CRO si hanno a disposizione, più il livello di carta utilizzabile è importante"

   Crypto.com ha minato 100 billion di coin di cui 25 sono in circolazione. Hanno fatto burning di 70 billion di coin non ancora distribuiti.

   Ora ci sono 30 billion di token. 25 billion of those tokens are already in circulation, with the remaining 5 billion to be emitted in block rewards over the next decade (i validator).
In data 29 Marzo 2021 ecco la situazione:


CRO Coin Price:$0.222642
CRO Market Cap:$5,624,606,627
CRO Circulating Supply:25,263,013,692 CRO
CRO Total Supply:30,263,013,692 CRO

WALLET

   Un wallet è un software dove puoi vedere la tua cryptovaluta. Un non-custodial mobile wallet è quello dove la chiave privata la custodisci tu. Quando creiamo un wallet nel nostro PC il sistema prende una sequenza casuale di numeri e genera la private key dalla quale poi genera la public key. Un wallet riscrive la chiave privata in un formato leggibile creando la recovery phrase (seed phrase) che va custodita e non condivisa. Con la seed phrase potrai fare il restore del wallet in caso di problemi. Una recovery phrase è una chiave privata in forma leggibile. Non perderla in nessun caso! La public key equivale al numero IBAN di un conto in banca, ovvero lo si comunica a quelli con cui devi fare transazioni. Non si puó matematicamente risalire alla chiave privata conoscendo quella pubblica in quanto per generarla si utilizzano algoritmi a una crittografia asimmetrica. Il wallet recupera le nostre cryptovalute presenti nella blockchain, distribuita, corrispondenti alla chiave pubblica. La cryptovaluta nel nostro portafoglio la possiamo utilizzare avendo la chiave privata. Con un wallet custodial non abbiamo noi la chiave privata quindi per la rete i proprietari della valuta è chi gestisce il wallet. Quest'ultima cosa succede in molti public exchange.

     Le chiavi private nell'app crypto.com sono memorizzate dentro il telefonino. Se perdi il telefono perdi la cryptovaluta. Allora devi installare una seconda app che forniscono ovvero il DeFi wallet che ti fornisce la chiave privata e nel quale puoi trasferire i fondi che hai nell'app crypto.com.

    Cosa succede se mi installo un portafoglio su tanti PC diversi? Facendo l'import ovvero creando dei duplicati? Una blockchain contiene le informazioni sul proprietario di ogni coin.  I wallet accedono alle blockchain e quindi puoi installarli in tutti i dispositivi che vuoi. Con la sola chiave pubblica possono mostrarti le tue cryptovalute ma se vuoi fare operazioni devi inserire la chiave privata. Qundi se duplichi il wallet duplichi la chiave privata e di fatto hai anche un backup.


FRAZIONI DI CRYPTOVALUTA

   Quando una cryptovaluta acquisisce un valore molto elevato, come nel caso di Bitcoin o ethereum, l'acquisto della stessa potrebbe essere troppo costoso se presa unitariamente. Se un Bitcoin costa 50000$  e un Ethereum 3300$ sarebbe molto difficile effettuare tutte le transazioni con importo inferiore. Come risultato le transazioni hanno valori decimali e, per comodità, le frazioni di valuta hanno spesso un nome. Tra le frazioni di cryptovaluta più famose il GWEI, che nel momento della scrittura di questo articolo vale 0,000000001. Il GWEI e' il gas-fee della rete ethereum cioe' per ogni transazione sulla rete ethereum si paga in GWEI. In questo momento 80 GWEI. 

                                                                     DOGECOIN

     Dogecoin è stato creato da Jackson Palmer e dal suo team di sviluppo.

     Dogecoin è una cryptovaluta con inflazione (inflationary currency) nata nel 2013. Bitcoin invece è una valuta deflazionaria (deflationary currency). Dopo il 2040 non ci saranno piu’ nuovi Bitcoin (max 21 million). La differenza è che verranno sempre generati nuovi Dogecoin a differenza dei Bitcoin.


      Inizialmente sono stati coniati 100 billion di dogecoin.

   L’obiettivo è di tenere circa 100 billion di coin in circolazione. Per fare questo dopo il dogecoin numero 100 billion il reward per il mining sarà 10k per ogni nuovo blocco. Considerando che molte monete si perdono per varie cause (wallet perduti, etc.) i creatori della cryptovaluta ritengono che i nuovi dogecoin non necessariamente creeranno inflazione.


    Bisogna anche considerare un tasso di inflazione dell’economia globale che tende a svalutare una moneta.


   Oltretutto l’ammontare di nuova moneta è irrilevante se il mercato cresce per un valore superiore al 5%. Infatti il 5% di 100 billion è 5 billion e questo è l’ammontare di nuova moneta dogecoin che si inserisce ogni anno. Ovviamente tutte queste considerazioni sono oggetto di dibattito.


    La blockchain consente ogni minuto di creare un nuovo blocco e in un anno ci sono 525600 minuti che x 10k fanno 5 billion and 256 million.


    Questo renderebbe la valuta “utile” e pronta a sopravvivere per un lungo periodo di tempo per evitare i problemi del bitcoin. Infatti oramai la maggior parte degli utenti hanno frazioni di bitcoin e quindi è come se si creasse nuova moneta e il tutto crea solo problemi contabili. Quando non si potranno minare più bitcoin si pensa che la valuta perderà utilità e importanza.


Ecco l'indirizzo del dogecoin explorer per "vedere" la blockchain:

https://dogechain.info/

CFD - Contract For Differences -

   Sono dei derivati con i quali puoi usare la valuta FIAT ma guadagnare lo stesso su una cryptovaluta.

     I CFD non sono regolamentati e sono vietati in USA e Belgio. Un CFD è un contratto tra un trader e un forex broker. Quindi non devi avere neanche un wallet. Si investe su una coppia tipo BTC/USD. Ci sono delle piattaforme che ti permettono di automatizzare operazioni sui CFD per guadagnare dalle oscillazioni delle cryptovalute. Queste piattaforme si basano su algoritmi AI e possono utilizzare anche leve molto elevate come 3000:1. Un esempio di sistemi di trading automatico e' il sito "bitcoin prime" che mette a disposizione un robot automatico. Oppure PrimeXBT.

     Una leva (leverage) di 20x significa che se hai 1$ puoi muovere 20$.
Sono piattaforme "Bitcoin-based margin trading" ovvero dove il trader prende dei soldi in prestito (margine) uscendo di tasca propria solo una cifra per coprire una eventuale perdita massima.

Stop Loss: livello massimo di perdita consentito al robot;
Take profit: livello che una volta raggiunto dice al robot di fermarsi e prendere i guadagni;
Numero di transazioni eseguibili in un giorno.
Margin: i soldi presi in prestito dal trader 



ETHEREUM e SMARTCONTRACT

   Con la blockchain di ethereum puoi:

-  Fare una tua cryptovaluta utilizzando i token;
- Creare smart contract. Ad esempio crei un contatto e aggiungi i membri della tua organizzazione. Se riceve abbastanza voti si esegue automaticamente.
-  Creare dApps
-  Raccogliere fondi creando uno smartcontract con una deadline. Se non si raggiunge la soglia le donazioni possono essere rimborsate.

   Gli smart-contract si mettono nella EVM che è la macchina virtuale distribuita di Ethereum e ogni transazione richiede un certo gas che dipende dal lavoro computazionale necessario per eseguire il task. Solidity (una specie di C++) è il linguaggio di programmazione riconosciuto da EVM (Solidity si compila creando un bytecode per la EVM). Uno smart-contract è un codice scritto in solidity compilato in JSON  è inserito nella blockchain. Quindi verrà ricopiato in tutti i nodi della blockchain. Il costo dipende dalla quantità di codice. Nella blockchain ci sta il contratto compitato e non i sorgenti. Uno volta inserito nella blockchain il contratto sarà identificato da un indirizzo di 20byte che sarà possibile richiamare da chiunque per usare il contratto.

     Ethereum è una rete permission-less. Ognuno può accedere a tutto. Quindi lo sviluppatore deve inserire nel suo smart-contract una forma di controllo dei permessi se necessario.

MEME COIN

     Per "MEME COIN" si intendono dei token utilizzati come cryptovaluta.  Ce ne sono tantissimi ma buona parte di loro sono delle autentiche truffe. Quindi bisogna stare molto attenti nel selezionare i token se si ha intenzione di acquistarne. In genere gli exchange DEX sono meno sicuri. 

      Esempio: hotdoge

        Hotdoge è stata lanciata il 22 Aprile 2021 da un developer che ha lasciato il progetto nelle mani della comunità facendo il locking della liquidity per un anno con DXSale e rinunciando alla proprietà. Ad un certo punto i developer hanno deciso di dismettere la crypto valuta creandone una nuova versione con un messaggio quanto meno discutibile come questo:


 V1 to V2 HotDoge Token Migration

🌭🌭🌭Great news! We have now opened up the wallet for v1 to v2 migration!

👉Please use the form provided and follow the instructions exactly. If you have any questions, please ask before you initiate the process. https://forms.gle/DSgxFRUqgJZUbgUVA

👉Your tokens will be pooled and used for the liquidity of the new HotDoge v2 token. This upgrade will give you access to:

🔥 Better holder reflection rewards, including VIP and Volunteer Rewards.

🔥Astro buy-back mechanism to hold and keep constant upward pressure on our market pricing.

🔥A marketing and development wallet so we can pay for increased marketing, burn tokens and hire professionals to increase utilities to make HotDoge a competitor on the Binance Smart Chain.

🔥Supply for liquidity so we can list on major exchanges faster!

🔥You will all receive approximately the same USD value of your tokens airdropped to the wallet you have sent your tokens from within five days of launch.

🔥 After we will presale at 2x the current price so please complete your migration as soon as possible.

❗❗❗We will not support the v1 token after this. Everything will operate on v2 contract. Thank you and we welcome you all to the future of HOTDOGE DeFi


What are the new Tokenomics? What is supply?
Total Supply: 1,000,000,000,000,000 $HotDoge.

15 % tax per transaction split for these purposes:

– 2.5% Designated for liquidity in DEX/CEX listings.
– 3% Redistributed (shared) between every holder.
– 3.5% Designated for Marketing & Development.
– 3% For VIP perks and Volunteer compensation.
– 3% Astro Anti-Whale Buyback

   Sostanzialmente chi ha acquistato degli Hotdoge spendendo soldi dopo qualche anno si ritrova con un token che non vale null


DXSale - un portale per progetti relativi al rilascio di token, ti aiuta. arilasciare e gestire i token. Uno dei servizi è il DxLock in cui si blocca una certa quantità di token per un certo periodo di tempo.

Esempio: little rabbit LTRBT

- Sulla Binance Smart Chain (BSC) che e' una blockchain che va in parallelo con la Binance Chain. A differenza della Binance BSC ha supporto per gli Smart Contract ed e' compatibile con EVM.
- Yield farming mechanism  (Meccanismo di resa agricola) che si puo' gare grazie ai permissionless liquid protocols
- Gasless instant yield generation - hai un rendimento tenendo i soldi nel tuo portafoglio

E' uno strumento DEFI dove si usano le DAPPS per interagire in modo P2P.

FEATURES : 5% FEE AUTO ADD TO THE LIQUIDITY POOL TO LOCKED FOREVER WHEN SELLING, 5% FEE AUTO DISTRIBUTE TO ALL HOLDERS, CREATED A BLACK HOLE SO #BEE TOKEN WILL DEFLATE (Vai qui: 

https://medium.com/dfohub/a-black-hole-in-uniswap-v2s-front-end-router-is-draining-the-value-of-tokens-26f5a459b5d7

)ITSELF IN SUPPLY WITH EVERY TRANSACTION MAX BUY/SELL 2% OF THE TOTAL SUPPLY/2,000,000,000,000,000,000,000 LTRBT

AMM

   Un automated market makers (AMM) è un programma di computer che permette lo swap di crypto currencies. Funziona utilizzando i liquidity pools depositati su smart contracts. 

   

                                                         BLACKHOLE PROTOCOL

Uniswap’s centralized front-end design is allowing vampiric arbitrage bots to drain the prices of certain tokens

================

Proof Of Work (PoW)

  Una volta che ciò si verifica, i miner convalidano un blocco e lo aggiungo alla blockchain, previo consenso da parte dei nodi che devono verificare che l’hash trovato da questo computer sia effettivamente corretto.

Proof Of Stake (PoS)

  La PoS funziona in maniera completamente diversa. Il risultato finale è sempre lo stesso: convalidare i blocchi e garantire che siano effettivamente corretti. Più monete di cryptovaluta hai e più sei ritenuto attendibile. Cioè non c'e' mining di valuta. C'è una commissione di transazione per coniare un blocco di una valuta che è già premined.

POSSO FARMI UN TOKEN DA ME?

I token ERC20 sono lo standard per i token sulla rete ETHEREUM

I token ERC20 soo implementati come SMART CONTRACTS ed eseguiti sulla Ethereum Virtual Machine (EVM). Gli smart contracts sono pezzi di codice.

   Usare una blockchain per i propri token ha un costo:

"On the Ethereum blockchain, gas fees refer to the cost necessary to perform a transaction on the network. The price of gas is set by miners who can decline to process a transaction if it fails to meet their price threshold. Gas prices are denoted in gwei, which are worth 0.000000001 ether"

Questo costo si paga anche per spostare il token da Ethereum a un'altra blockchain.

I dati di cui sopra andranno nella blockchain.

"Blockchain storage is expensive and users of your contract will need to pay for, one way or another. Therefore you should always try to minimize storage size and writes into the bl


ESEMPI


    Ecco come memorizzare l'indirizzo del "proprietario" dello smart contract. La funzine costructor viene eseguita una sola volta quando si genera il contratto.

function constructor() 
     { owner_addr = msg.sender;}    // owner_addr è un nome scelto da noi

Con la funzione "modifier" possiamo restringere del codice per il proprietario:

modifier onlyOwner {
                    if(msg.sender != owner_addr)
                          _;
                   }

  In questo modo solo il proprietario puo' distruggere il contratto. Qui se il contratto si distrugge vengono trasferiti al proprietario:

function Selfdestructs (address addr) onlyOwner(){
          selfdestruct(addr);
           }


                                                     ESEMPI  DI SOLIDITY (dal tutorial ethereum)

//
// Specifies the version of Solidity, using semantic versioning.
// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
// HELLO WORLD

pragma solidity ^0.5.10;

// Defines a contract named `HelloWorld`.
// A contract is a collection of functions and data (its state).
// Once deployed, a contract resides at a specific address on the Ethereum blockchain.
// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html

contract HelloWorld {

    // Declares a state variable `message` of type `string`.
    // State variables are variables whose values are permanently stored in contract storage.
    // The keyword `public` makes variables accessible from outside a contract
    // and creates a function that other contracts or clients can call to access the value.

    string public message;

    // Similar to many class-based object-oriented languages, a constructor is
    // a special function that is only executed upon contract creation.
    // Constructors are used to initialize the contract's data.
    // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors

    constructor(string memory initMessage) public {
                 // Accepts a string argument `initMessage` and sets the value
                 // into the contract's `message` storage variable).
                 message = initMessage;
              }

    // A public function that accepts a string argument
    // and updates the `message` storage variable.

    function update(string memory newMessage) public
        message = newMessage
    }
}

// ESEMPIO CREAZIONE TOKEN

pragma solidity ^0.5.10;

contract Token {
    // An `address` is comparable to an email address - it's used to identify an 
    // account on Ethereum.
    // Addresses can represent a smart contract or an external (user) accounts.
    // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
    address public owner;

    // A `mapping` is essentially a hash table data structure.
    // This `mapping` assigns an unsigned integer (the token balance) to an address 
    // (the token holder).
    // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
    mapping (address => uint) public balances;

    // Events allow for logging of activity on the blockchain.
    // Ethereum clients can listen for events in order to react to contract state changes.
    // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
    event Transfer(address from, address to, uint amount);

    // Initializes the contract's data, setting the `owner`
    // to the address of the contract creator.
    constructor() public {
      // All smart contracts rely on external transactions to trigger its functions.
      // `msg` is a global variable that includes relevant data on the given transaction,
      // such as the address of the sender and the ETH value included in the transaction.
      // 
      owner = msg.sender;
    }

    // Creates an amount of new tokens and sends them to an address.
    // Quando ti crei un account su Binance o Ethereum fornisci una email

    function mint(address receiver, uint amount) public {
       // `require` is a control structure used to enforce certain conditions.
        // If a `require` statement evaluates to `false`, an exception is triggered,
        // which reverts all changes made to the state during the current call.
        // Learn more:
        // Only the contract owner can call this function
        require(msg.sender == owner, "You are not the owner.");
        // Ensures a maximum amount of tokens
        require(amount < 1e60, "Maximum issuance succeeded");
        // Increases the balance of `receiver` by `amount`
        balances[receiver] += amount;
    } 

    // Sends an amount of existing tokens from any caller to an address.
    function transfer(address receiver, uint amount) public {

        // The sender must have enough tokens to send         
        require(amount <= balances[msg.sender], "Insufficient balance.");

        // Adjusts token balances of the two addresses
        balances[msg.sender] -= amount;
        balances[receiver] += amount;

        // Emits the event defined earlier
        emit Transfer(msg.sender, receiver, amount);
      }
}


Questi esempi sono tratti da soliditylang dot org

   Questo contratto permette a chiunque di memorizzare un dato che chiunque può successivamente prelevare.

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;

contract Salvadati {
    uint datomemorizzato;

    function set(uint x) public {
        datomemorizzato = x;
} function get() public view returns (uint) { return datomemorizzato;
} }

  Questo contratto implementa una semplice forma di cryptovaluta:


https://docs.soliditylang.org/en/develop/introduction-to-smart-contracts.html#self-destruct


   Questo esempio, preso da un articolo della Monash University, crea un contratto in cui ognuno mette 1 ether e quando si arriva a 10 si nomina un vincitore dei 10:


pragma solidity ˆ0.4.25;

contract Example { 

  address owneraddr;

  address[] participators;

  uint participatorID = 0;

  function constructor(){

           owner_addr=msg.sender;

           }

  function() payable {

    if(msg.value!=1 Ether)

       revert();

    participators[participatorID]=msg.sender;

    participatorID++;

    if(this.balance == 10 Ether)

       getWinner();

   }

function getWinner() {

    uint random=uint(block.blockhash(block.number)) % participants.length;

    participators[random].transfer(9 Ether);

    participatorID=0;

   }

modifier onlyOwner {

           if(msg.sender != owneraddr)

                 _;

         }

function Selfdestructs(address addr) onlyOwner(){

         selfdestruct(addr);

        }

      }


------------------------------------------------------






Commenti

Post popolari in questo blog