Den autoritative guide til blockchain-udvikling

Kryptovalutaer, ICO'er, magiske internetpenge - det hele er så forbandet spændende, og du, den ivrige udvikler, vil komme ind på galskaben. Hvor starter du?

Jeg er glad for, at du er begejstret for dette rum. Det er jeg også. Men du finder sandsynligvis, at det er uklart, hvor du skal begynde. Blockchain bevæger sig i voldsom hastighed, men der er ingen klar rampe til at lære disse ting.

Siden jeg forlod Airbnb for at arbejde på fuld tid med blockchain, har mange mennesker nået ud til mig og spurgt, hvordan man kommer ind i blockchain-rummet på fuld tid. Overvej dette min autoritative (og uundgåeligt ufuldstændige) guide til, hvordan man kommer ind i blockchain engineering.

Denne vejledning fortsætter i ti dele:

  1. Hvorfor skal du lære blockchain-udvikling?
  2. Forudsætninger
  3. De teoretiske fundamenter for Bitcoin
  4. Byg en blockchain selv
  5. Ethereum og smart kontrakt programmering
  6. Smart kontrakt sikkerhed
  7. At tage træningshjulene af
  8. Opbyg dine egne projekter
  9. Navigering i blockchain-samfundet
  10. Få et job

Hvorfor skal du lære blockchain-udvikling?

Før jeg besvarer dette spørgsmål, lad mig først bemærke: blockchain er et massivt overvurderet rum lige nu. Disse priser er uholdbare, og et nedbrud kommer bestemt. Alt dette er sket før og vil sandsynligvis ske igen. Men hvis du arbejder langsigtet i dette rum, lærer du at trække priserne af. Med ord fra Emin Gun Sirer - priser er den mindst interessante del af kryptokurver. Dette er massivt vigtige teknologier, og de vil ændre verden uigenkaldeligt.

Hvis du er i tvivl, kan jeg ikke fortælle dig, om du skal springe ind eller ej. Men jeg kan fortælle dig fem grunde, der overbeviste mig om at tage springet:

  1. Det er stadig tidligt.

Bitcoin blev opfundet for 10 år siden, men innovationsgraden har kun nået en feberhøjde de sidste par år, især med lanceringen af ​​Ethereum i 2015. De fleste af de nye virksomheder og ideer i dette rum er bygget oven på Ethereum, som stadig er meget umoden.

Selvom du starter nu, kan du realistisk set blive ekspert i verdensklasse inden for få år. De fleste mennesker har bare ikke gjort det så længe, ​​og det vil ikke være så svært at indhente. At starte nu ville være analogt med dyb læringseksperter, der begyndte at studere emnet i slutningen af ​​2000'erne.

2. Dette rum har endnu ikke en stærk talenttragt.

De fleste af de bedste og klareste studerende ved universiteterne fokuserer på maskinindlæring, webprogrammering eller spiludvikling. Sikker på, blockchains bliver mere sexede i den offentlige diskurs, men de er stadig et underligt og subversivt emne, som du kan spille din karriere på.

Tidligt var blockchain udelukkende riget for cypherpunks, paranoider og rare. Det er først for nylig begyndt at ændre sig. Bare ved at være en nysgerrig og fordomsfri udvikler, giver du rummet meget værdi.

3. Meget af innovationen sker uden for den akademiske verden.

Satoshi Nakamoto var ikke akademiker så vidt vi ved. Der er intet universitet eller institution, der tilbyder en sammenhængende blockchain-koncentration endnu. Det meste af innovationen her er blevet ledet af entusiaster, iværksættere og uafhængige forskere. Næsten alt hvad du behøver at vide, findes i hvidbøger, blogindlæg, offentlige Slack-kanaler og open source-software. Det eneste, der kræves, er at rulle ærmerne op og hoppe ind i kampen.

4. Efterspørgslen efter talent overstiger langt langt udbuddet.

Der er bare ikke nok udviklere i dette rum, og de kan ikke blive trænet hurtigt nok. Alle konkurrerer om at ansætte blockchain-talent, og projekter føler talentknas. Mange af de bedste virksomheder kan ikke betale deres folk nok for at blive, fordi de har for mange muligheder. Hvis du får nogle færdigheder under dit bælte, er det let at lande et job.

5. Kryptovalutaer er bare rigtig forbandede seje.

Hvor ellers kan du opbygge sci-fi-ting som kryptografisk sikrede, decentrale penge? Det er det vilde vest lige nu - og det bringer godt og ondt. Rummet kunne bruge mere gennemsigtighed, og regulering vil til sidst komme. Men uden tvivl er kryptokurver et af de mest innovative områder, du kan arbejde på lige nu.

Naval Ravikant sagde i et nylig interview: nøglen til succes er at give samfundet ting, som det ønsker, men ved ikke, hvordan man kan komme alene. Du kan ikke gå i skole for sådanne ting; hvis du kunne, ville verden allerede have en jævn forsyning af den.

Så bygg noget, ingen andre ved hvordan man bygger. Lige nu er blockchains helt nye, og der er så meget tilbage at finde ud af. Hvis det lykkes dig at opbygge fremtiden for decentral teknologi, vil verden belønne dig smukt.

Så sig, at du vil smide hatten ind. Hvad skal du vide, før du kommer ind i ringen?

Forudsætninger

Jeg vil anbefale at styrke din forståelse af grundlæggende, inden du dykker videre. Blockchains er bygget oven på årtier med forskning inden for datalogi, kryptografi og økonomi. Satoshi Nakamoto var en frafald, men han kendte også den historie, der gik forud for ham. For at forstå hvorfor blockchains fungerer, skal du forstå deres byggesten - hvad der kom før blockchains, og hvorfor disse ting ikke fungerede.

Her er nogle gode forudsætninger at være fortrolige med, i rækkefølge efter betydning.

Bemærk, disse links er kun et udgangspunkt, du vil sandsynligvis dykke dybere for mange af disse emner.

Computer videnskab

Datastrukturer

Du vil gerne være fortrolig med egenskaberne og kompleksitetsgarantierne for de vigtigste datastrukturer: sammenkædede lister, binære søgetræer, hash-kort og grafer (specifikt rettet acykliske grafer, der fremtræder tydeligt i blokkæder). Det hjælper med at have bygget dem fra bunden for bedre at forstå, hvordan de fungerer og deres egenskaber.

Kryptografi

Kryptografi er navnebror og grundfjeld for kryptovalutaer. Alle kryptokurver bruger offentlig / privat nøglekryptografi som grundlag for identitet og godkendelse. Jeg vil anbefale at studere RSA (det er let at lære og kræver ikke en meget stærk matematisk baggrund), så se på ECDSA. Elliptisk kurve-kryptografi kræver betydeligt mere abstrakt matematik - det er ikke vigtigt at forstå alle detaljerne, men ved, at dette er den kryptografi, der bruges i de fleste kryptovalutaer, inklusive Bitcoin.

Den anden vigtige kryptografiske primitive er den kryptografiske hash-funktion. Disse kan bruges til at konstruere forpligtelsesordninger og er byggestenen til Merkle-træer. Merkle træer muliggør Merkle proofs, en af ​​de nøgleoptimeringer, som blockchains bruger til skalerbarhed.

Distribuerede systemer

Der er et par gode lærebøger om distribuerede systemer, men det er et spredt og vanskeligt studieområde. Distribuerede systemer er absolut nødvendige for at argumentere om blockchains, så du skal oprette et fundament her, før du tackler blockchain-programmering.

Når du ikke længere bor på en enkelt maskine, skal du begynde at ræsonnere om konsistens og konsensus. Du vil gerne vide forskellen mellem lineariserbare og eventuelle konsistensmodeller. Du vil også gerne lære garantierne for fejltolerante konsensusalgoritmer, såsom Paxos og RAFT. Kend vanskelighederne med at ræsonnere om tid i et distribueret system. Sæt pris på kompromiserne mellem sikkerhed og livskraft.

Med den baggrund vil du være i stand til at forstå vanskelighederne omkring den byzantinske fejletolerante konsensus, det primære sikkerhedskrav til offentlige blockchains. Du vil gerne lære om PBFT, en af ​​de første skalerbare algoritmer, der leverer byzantinsk fejltolerant konsensus. PBFT er grundlaget for mange ikke-bevis-for-arbejde blockchain-konsensusalgoritmer. Igen behøver du ikke at forstå detaljerne om, hvordan og hvorfor PBFT er korrekt, men få den generelle idé og dens sikkerhedsgarantier.

Det er også meget nyttigt at forstå de traditionelle metoder til distribution af databaser (kernen er blockchains trods alt databaser). Lær om sharding (f.eks. Via konsekvent hashing), replikering af leder-tilhænger og kvorum-baserede forpligtelser. Se på distribuerede hash-tabeller (DHT'er), såsom Chord eller Kademlia.

Netværk

Decentraliseringen af ​​blockchains stammer i vid udstrækning fra deres peer-to-peer-netværkstopologi. Som sådan er blockchains direkte efterkommere af de tidligere P2P-netværk.

For at forstå blockchain-kommunikationsmodellen skal du forstå det grundlæggende i computernetværk: det betyder at forstå TCP vs UDP, pakkemodellen, hvordan IP-pakker ser ud og omtrent hvordan internet-routing fungerer.

Offentlige blockchains har tendens til at sprede meddelelser via sladderprotokoller ved hjælp af oversvømmelse. Det er lærerigt at lære historien om P2P-netværksdesign fra Napster til Gnutella, BitTorrent og Tor. Blockchains har deres egen plads, men de trækker på læringen fra disse netværk og hvordan de blev designet.

Økonomi

Kryptovalutaer er i sagens natur tværfaglige - dette er en del af det, der gør dem så fascinerende og radikale. Udover datalogi, kryptografi og netværk er de også dybt sammenvævet med økonomi. Kryptovalutaer kan udlede mange sikkerhedsegenskaber gennem deres økonomiske strukturer, der ofte kaldes kryptoøkonomi . Som sådan er økonomi afgørende for forståelsen af ​​kryptovalutaer.

Spilteori

Den vigtigste gren af ​​økonomien, der spiller ind i kryptokurver, er spilteori, studiet af udbetalinger og incitamenter blandt flere agenter. Du behøver ikke gå meget dybt her, men du skal forstå de grundlæggende værktøjer til spilteoretisk analyse og hvordan du kan bruge dem til at analysere incitamenter i one-shot og iterated-spil.

To nøglekoncepter i dit repertoire skal være Nash-ligevægt og Schelling-punkter, da de fremtræder tydeligt i kryptoøkonomisk analyse.

Makroøkonomi

Kryptovalutaer er ikke kun protokoller, de er også former for penge. Som sådan reagerer de på makroøkonomiens love (hvis de kan kaldes love). Kryptovalutaer er underlagt forskellige pengepolitikker og reagerer forudsigeligt på inflation og deflation. Du skal forstå disse processer og de virkninger, de har på udgifter, opsparing osv.

Et andet værdifuldt økonomisk koncept er hastigheden af ​​penge, især da det svarer til værdiansættelse af en valuta.

Mikroøkonomi

Kryptovalutaer er også dybt sammenvævet med markeder, hvilket kræver en forståelse af mikroøkonomi. Du har brug for en stærk intuition til udbuds- og efterspørgselskurver. Du skal være i stand til at begrunde konkurrencemæssige og mulige omkostninger (de gælder ofte for kryptokurvedrift). For mange møntdistributioner og kryptoøkonomiske systemer er auktionsteori fremtrædende.

Jeg forventer, at du allerede er bekendt med nogle af disse emner. Hvis du er, er du velkommen til at skumme eller springe over dem helt.

Okay, nu er du gået igennem og afskåret dine grundlæggende (eller måske har du sprunget over en flok, hvem tæller?), Så nu hvor du har fået din teori i skak, lad os komme i gang med blockchain-udvikling.

De teoretiske fundamenter for Bitcoin

I oktober 2008 offentliggjorde Satoshi Nakamoto en hvidbog, hvor han beskrev en protokol for en decentral digital valuta. Han kaldte denne protokol Bitcoin.

Før du kan forstå de store ideer bag blockchains, skal du starte med Bitcoin og forstå Satoshis oprindelige indsigt.

Først anbefaler jeg at opbygge dine intuitioner om proof-of-work og fork choice-reglen (også kendt som Nakamoto-konsensus). Start her:

Jeg anbefaler at se mere end en videoforklaring for at få ideen brændt i dit hoved:

Store. Nu hvor du har opbygget din intuition, vil denne artikel give en dybere ende-til-ende-redegørelse for de kritiske komponenter i, hvordan Bitcoin fungerer.

Byg en blockchain selv

Nu hvor du har intuitionen på højt niveau, er det tid til at opbygge din egen proof-of-work-baserede blockchain. Bare rolig, det er lettere end det lyder. Her er nogle gode ressourcer.

For det første har jeg en videoforelæsning, hvor jeg gennemgår præcis, hvordan man gør dette i Ruby (jeg anbefaler at se, selvom du ikke er en Ruby-programmør):

Kilde og dias her.

Der er også andre blockchain-implementeringer, du kan finde, skrevet på forskellige programmeringssprog. Fortsæt med at bygge din egen, og tilfredsstil dig selv, at det for det meste er funktionelt.

Når du har nået det så langt, skal du have en god forståelse af, hvordan du implementerer en simpel betalingsapplikation oven på en blockchain (dvs. Bitcoin). Du skal også nu have nok baggrund til, at du skal kunne læse og forstå den originale Bitcoin-hvidbog.

For at forstå økonomien og mekanikken ved Bitcoin-minedrift anbefaler jeg at se foredraget om Bitcoin-minedrift i kurset Bitcoin og Cryptocurrency Princeton.

Hvis du er kommet så langt, skal du forstå Bitcoin godt nok til at gå gennem en Bitcoin-blokoverskrift og forstå, hvad hver af dens komponenter betyder. Du skal også være i stand til at lege med en Bitcoin block explorer og navigere i rå Bitcoin-transaktioner.

Det er nu et godt tidspunkt at studere historien om Bitcoin og kryptokurver. Nedenstående video, der tilbydes af et UC Berkeley-mærkat, giver et godt overblik.

Nogle flere ekstra kreditressourcer:

  • Akademiske forløbere for Bitcoin
  • Mekanik for Bitcoin: UTXO'er og Bitcoin-script (Bitcoin-script er ikke super vigtigt, ved bare omtrent hvad det kan gøre)
  • Kort vejledning til Bitcoin gafler
  • Blød gafler og miner signalering
  • Dobbeltforbrug, 51% angreb og egoistisk minedrift
  • Afspil angreb igen
  • Problemer med Bitcoin-skalerbarhed, som er kilden til det meste af omtvistethed i Bitcoin-økosystemet. Du bør have en idé om, hvorfor Bitcoin-folk argumenterer så meget om blokstørrelsen.
  • Adskilt vidne, også kaldet SegWit, er ikke vigtigt, men det kommer meget op.
  • Lightning Network, en af ​​de mere vigtige skaleringsløsninger til Bitcoin, generaliserer også til andre blockchains
  • Bitcoin fulde noder, Bitcoin gebyr statistik, diagrammer, diagrammer og flere diagrammer
  • Bitcoin energiforbrugsindeks (på tidspunktet for offentliggørelsen bruger Bitcoin minedrift lige så meget energi som hele Peru)
  • Indsigtigt essay af Gwern om Bitcoin's skræmmende uoverensstemmelse
  • Jameson Lopp har et væld af andre ressourcer på Bitcoin, hvis du vil gå dybere ned i kaninhullet.

Ethereum og smart kontrakt programmering

Nu hvor du har bygget en blockchain og forstår dynamikken i Bitcoin, er det tid til at dykke ned i Ethereum.

Du forstår, hvordan blockchains og proof-of-work kan opnå distribueret, byzantinsk fejltolerant konsensus inden for et peer-to-peer-netværk. Men et betalingsnetværk er kun et program, du kan køre oven på en sådan blockchain. I 2013 spurgte Vitalik Buterin, skaberen af ​​Ethereum: hvad hvis du brugte en blockchain til at implementere en decentral computer?

I Ethereum betaler du minearbejdere for at udføre dine programmer på denne distribuerede virtuelle maskine. Dette betyder, at du kan udføre vilkårlige beregninger ved hjælp af et Turing-komplet programmeringssprog (i modsætning til Bitcoin-script). Det inkluderer åbenbart betalingsrelaterede applikationer, så Ethereum muliggør et supersæt af Bitcoins funktionalitet og har født en renæssance af innovation.

Dette bringer os til smarte kontrakter - navnet på programmer, der kører på en sådan virtuel maskine. En smart kontrakt kan interagere direkte med blockchains kryptokurrency i overensstemmelse med udførelsen af ​​et program. Med andre ord kan du oprette finansielle kontrakter, der automatisk håndhæver sig selv. Det er en vild idé, og alle mulige sci-fi futuristiske ting, du kan gøre, når du har taget denne programmeringsmodel til.

Ethereum har aktiveret bølgen af ​​ICO'er og udviklere, der bygger oven på blockchain. Det er den næststørste kryptokurrency bag Bitcoin, den har mere end 10 gange udviklerne af den næstmest populære platform, den har det stærkeste udviklerteam, det mest modne værktøj og størstedelen af ​​ICO'er og projekter oven på den. Det har også mest branchestøtte, som går langt. Hvis du laver blockchain-udvikling, skriver du sandsynligvis kode til smarte Ethereum-kontrakter. (Selvom du ikke er det, er det vigtigt at forstå, hvad der foregår i dette rum.)

For det første en mere detaljeret forklaring på højt niveau af Ethereum:

Idéerne bag Ethereum har også skabt en bølge af innovation inden for kryptoøkonomi. Du skal dyppe tæerne ned i ideerne omkring DAO'er, og alle de sci-fi-feberdrømme, som de antyder.

Okay, det er nok fantasi, lad os grave i teknologien.

Her er et godt overblik over det gule Ethereum-papir og dets indre, af Preethi Kasireddy. Ethereum bruger en kontomodel snarere end Bitcoins UTXO-model - du vil snart se, hvorfor dette gør det lettere at skrive smarte kontrakter.

Som med enhver teknologi er den bedste måde at stifte bekendtskab med Ethereum på ved at bygge et par små projekter.

Det dominerende programmeringssprog for Ethereum er soliditet, som er et statisk skrevet JavaScript-lignende sprog. Det er et sprog med mange vorter og mange tvivlsomme designvalg. Mere robuste sprog som Viper erstatter muligvis det, når de er produktionsklare, men indtil videre er Soliditet lingua franca for smart kontraktprogrammering. Det er dybest set Ethereums JavaScript, så du bliver nødt til at lære det (og dets faldgruber).

For at få din første eksponering for soliditetsudvikling anbefaler jeg at arbejde igennem hele CryptoZombies-tutorialen. Det er en dejlig Codecademy-esque tutorial af høj kvalitet, der lærer dig det grundlæggende i Solidity-programmering.

Nu hvor du har vækket din appetit, er det tid til at udvikle dig selv.

Ethereums “hejverden” bygger et ERC-20-kompatibelt token. Jeg anbefaler denne guide som en første vejledning til at guide dig gennem processen.

Remix er en soliditetsredigerer og -compiler i browseren - det er dybest set træningshjulene i Ethereum-udvikling, så jeg anbefaler at arbejde igennem resten af ​​din praksis i Remix. Men det er også værd at oprette en lokal blockchain og få en fornemmelse af Ethereum-værktøjet. Denne vejledning gør et godt stykke arbejde med at gå dig gennem en ende-til-ende blockchain-stak og forklare brikkerne, når de går sammen.

Dernæst vil jeg anbefale at opbygge et stemmesystem. Jeg vil kalde dette Todo-appen til Ethereum. Karl Floersch har en fantastisk tutorial, hvor han går igennem, hvordan man opbygger et sikkert afstemnings-afsløringssystem.

Fantastisk, nu til din midtvejseksamen: opbyg et sikkert spil til møntkast, hvor to spillere sikkert kan satse på mønten. Ingen tutorial denne gang, gør det på egen hånd. Tænk på mulige angreb - hvordan kan spillerne snyde? Kan du sikre, at de spiller ærligt? Her er nogle tip.

Smart kontrakt sikkerhed

Sikkerhed er absolut nødvendigt for blockchain-udvikling. Smarte kontrakter er blevet plaget af katastrofale hacks, herunder DAO-hacket, Parity Wallet-hacket og det kærligt navngivne Parity Wallet-hack 2 (nu med sin egen T-shirt). Du skal absolut læse analyser af alle tre af disse hacks, hvis du skal skrive produktions-smarte kontrakter.

Sandheden er, at smarte kontrakter er ekstremt vanskelige at få ret . Selvom programmeringsværktøjskæden forbedres for at gøre disse nøjagtige angreb hårdere, skyldtes de i sidste ende alle programmeringsfejl. Der er også mange subtilere fejl, der stammer fra smart kontraktprogrammering, som f.eks. Frontløb eller sikker generering af tilfældighed.

Som en smart kontraktudvikler skal du behandle sikkerhed som altafgørende. Der er ingen “bevæge sig hurtigt og bryde ting” i smart kontraktprogrammering. Det betyder, at enhver kode, der håndterer betydelige pengestrømme, skal køres gennem statiske analysatorer som Oyente eller Securify, testes grundigt og derefter revideres af en erfaren smart kontraktsrevisor. Du bør også forsøge at stole på præuditerede komponenter, såsom OpenZeppelin's open source-kontrakter.

For at styrke dine sikkerhedskoteletter anbefaler jeg at arbejde igennem The Ethernaut af OpenZeppelin, et spil hvor du finder og angriber sårbarheder i smarte kontrakter. Mange af dem har dig til at replikere reelle angreb mod smarte kontrakter, der har fundet sted i naturen.

Phil Daian har også et fremragende sæt af smarte kontrakthackingsudfordringer kaldet Hack This Contract.

Når du først er kommet forbi det, anbefaler jeg stærkt at læse hele Smart Contract Best Practices, udarbejdet af ConsenSys. Forvent at besøge dette dokument mange gange i din smarte kontraktprogrammeringskarriere. Bibliografien er også værd at udforske til yderligere læsning af sikkerhedseksperter.

At tage træningshjulene af

Hvis du har nået det så langt, skal du nu være klar til at bevæge dig forbi Remix og begynde at bruge en seriøs Solidity-udviklingsstak.

De fleste udviklere anbefaler VSCode eller Atom til din teksteditor, da de har anstændige Solidity-plugins. For at interagere med en lokal blockchain skal du bruge Ganache (tidligere TestRPC), og du vil bruge Truffle-rammen til dine (JS-baserede) tests og konfigurere din build-pipeline.

Det er nu et godt tidspunkt at undersøge IPFS, som du kan bruge som en fuldt decentral filestore til meget billigere omkostninger end Ethereum blockchain. Her er en kort forklaring af skaberen, Juan Benet:

Til interaktion med Ethereum og IPFS fulde noder er Infura, hvad de fleste devs anbefaler. Etherscan og ETH Gas Station giver nyttige realtidsstatistikker på Ethereum-netværket.

Når du har konfigureret din fulde Web3-stak, kan du prøve at installere en end-to-end Dapp (decentral applikation). Denne tutorial giver en flot oversigt over hele stakken ved hjælp af Node og Postgres til backend, og denne tutorial viser dig, hvordan du opretter en fuldt decentral applikation ved hjælp af IPFS som dit persistenslag.

Opbyg dine egne projekter

Du skal nu være fortrolig med det meste af teknologien - hvad der er tilbage er at begynde at bygge ting og gå dybere ind i blockchain-samfundet.

Start først med at opbygge dine egne projekter. Hvis der er en god ide, du er begejstret for, skal du bygge den og overbevise andre om at hacke på den med dig! Hvis du ikke har en idé endnu eller ikke har det godt med at få dine hænder beskidte, er der mange open source-projekter af høj kvalitet, der byder bidrag velkommen. OpenZeppelin kan være et godt sted at starte for smarte kontrakter.

Bedre endnu, jeg vil anbefale at starte med at finde et aktivt udviklet projekt, som du er fan af. Kom på deres Slack eller Rocketchat - devs er normalt let tilgængelige. Fortæl dem, at du gerne vil bidrage og bede om nogle små opgaver (eller find uløste problemer på deres Github).

Bemærk, at mens jeg har fokuseret på protokoller og smart kontraktudvikling, har blockchain-virksomheder brug for webudviklere for at opbygge deres kernefunktionalitet. Disse roller kræver ofte interaktion med blockchains, så det er vigtigt at have en god mental model for, hvordan blockchains fungerer - men for mange ingeniører ved blockchain startups vil det meste af dit arbejde være at opbygge en Python-webserver eller designe en React-frontend, og at interagere med blockchain kan være en lille del af dette job. Du behøver ikke specialisere sig i smart kontraktudvikling - i virkeligheden er det kun en del af en fungerende blockchain-stak.

Ud over open source-bidrag er der også mange blockchain-hackathons, der konstant dukker op. De fleste projekter har et gratis offentligt Slack, du kan deltage i, og der er en meget aktiv Gitter-kanal for Ethereum selv, hvor mange devs hænger ud. Når du går dybere ind i rummet, finder du til sidst din peer-gruppe, hvad enten det er i en Slack-kanal, Telegram-gruppe eller Gitter-kanal. Uanset hvor det er, skal du finde dine medarbejdere og fortsætte med at lære.

Navigering i blockchain-samfundet

Den bedste måde at virkelig forstå blockchain-verdenen er at fordybe sig i den. Læs og lyt til de smarteste mennesker, især ting, de tidligere har skrevet. Dette har altid været min strategi, når jeg prøver at lære et nyt domæne, og det er udbetalt udbytte for mig.

Der er masser af godt blockchain-indhold derude, men der er også en masse lort. Her er den informationsdiæt, jeg anbefaler.

Medier

De tre fantastiske podcasts, jeg anbefaler, er Software Engineering Daily Blockchain-interviews, som giver gode tekniske introduktioner til mange emner og kryptokurver. Derfra anbefaler jeg Epicenter og Unchained - du vil gerne vende tilbage og lytte til mange af de ældre episoder. En anden interessant up-and-coming teknisk podcast er Conspiratus. Jeg vil anbefale at abonnere på hver af disse.

Der er et par gode Youtube-kanaler (selvom der er masser af affald på Youtube). Abonner på Ethereum Foundation og se Devcon3-præsentationer. Blockchain i Berkeley registrerer mange af deres foredrag, hvoraf de fleste er fremragende tekniske oversigter. Decypher Media sender også foredrag, whitepaper anmeldelser og tutorials. Jackson Palmer har engagerende ugentlige oversigter, disse er på den mindre tekniske side, men meget jævnt præsenteret.

Online læsning

Til blockchain-chatter i realtid lever den hovedsageligt to steder: Reddit og Twitter. For Reddit er de fleste subreddits meget lav kvalitet og domineret af støj. r / Ethereum er konstant anstændig kvalitet (og der er et par okay subreddits til specifikke kryptovalutaer). De fleste subreddits er dog primært domineret af spekulanter og er ikke en god brug af din opmærksomhed. Hold dig væk fra Bitcoin-relaterede underredits. Bitcoin har notorisk et af de mest giftige samfund, og Reddit forstørrer kun det.

Twitter er mere en blandet taske. På godt og ondt lever de fleste blockchain-folk på Twitter. Blockchain Twitter var noget af et mysterium for mig i starten, men til sidst udviklede jeg en uformel ontologi af Twitter-blockchain-folk. Fra min erfaring er der fem typer blockchain-personligheder: bygherrer, iværksættere, journalister, handlende og "tankeledere".

Undgå "tanke ledere" som pesten. Iværksættere kan være okay, selvom de for det meste fungerer som hype-mænd eller tweet om deres egne projekter. Investorer tweeter for det meste om priser og hype-y-projekter, så hvis det er dine ting, er det dine ting. Journalister har en tendens til at kvidre om dagens største nyheder - Jeg anbefaler at holde sig væk, medmindre du har brug for realtidsanalyse, hvilket du sandsynligvis ikke gør. Hvis du er en aktiv forhandler, kan det være vigtigt, men hvis du prøver at bygge videre på blockchain, er de fleste realtids ting en distraktion.

Vær mest opmærksom på bygherrer. Det er de mennesker, der betyder mest lige nu, og som skubber teknologien fremad.

Et par repræsentanter fra hver kategori (foretag en bred-første-søgning efter, hvem disse mennesker følger, hvis du vil udfylde dit Twitter-feed):

Bygherrer

  • Vitalik Buterin, Ethereum
  • Zooko Wilcox, ZCash
  • Nick Szabo, opfinder af smarte kontrakter
  • Vlad Zamfir, Ethereum
  • Marco Santori, Cooley LLP
  • Riccardo “fluffypony” Spagni, Monero
  • Matt Liston, Gnosis

Iværksættere

  • Balaji Srinivasan, Earn.com
  • Erik Voorhees, Shapeshift

Investorer

  • Naval Ravikant, MetaStable
  • Ari Paul, Blocktower Capital
  • Linda Xie, Scalar Capital
  • Chris Burniske, pladsholder

Journalister

  • Tuur Demeester, Adamant Research
  • Laura Shin, Forbes

(Du bør også følge mig, selvom jeg bestemt ikke hører hjemme på denne liste.)

Alt dette sagt anbefaler jeg at minimere din eksponering for Twitter og Reddit. Hvis du ikke er journalist eller dagtrader, er chancerne for, at du ikke har brug for en brandslange af realtidsprat. Vigtig information spreder op til dig asynkront. Der er flere gode nyhedsfordøjelser, der opsummerer de vigtigste nyheder om dagen / ugen, som du kan forbruge på din egen tid uden at være prisgitt for opmærksomhedsmarkederne.

Jeg anbefaler at abonnere på Inside Bitcoin til daglig fordøjelse af de vigtigste kryptonyheder (det dækker mere end bare Bitcoin). For token-projekter har Token Economy fremragende ugentlige opskrivninger, og Week in Ethereum har gode fordøjelser af udviklerfokuserede begivenheder i Ethereum-økosystemet.

Ud over dette behøver du sandsynligvis ikke overvåge realtidsnyheder. Fokuser på at bygge ting og lære.

Du vil gerne følge de bedste blogs. Langformet indhold har tendens til at være det bedste sted for pengene. Jeg anbefaler at følge disse:

  • Vitalik Buterin til fremragende blockchain og kryptoøkonomisk analyse (læs også alle hans ældre blogindlæg, Vitalik betragtes bredt som en tænkende generation)
  • Hacking, distribueret til blockchain-sikkerhedsanalyser af Cornell-forskere
  • Uopregnet, Nick Szabos lysende blog med udfordrende og eklektiske essays om kryptovalutas rolle i samfundet
  • Money Stuff, Matt Levines Bloomberg-syndikering, med skærende og indsigtsfuld analyse, der berører skæringspunktet mellem markeder, finans og blockchain-nyheder
  • Vlad Zamfir for tempererede og forsigtige perspektiver på staten og offentlige blockchains
  • Chris Burniske for en række fremragende blogindlæg om, hvordan kryptoaktiver værdiansættes
  • Jameson Lopp for sine store tekniske stillinger fra perspektivet af en softwareingeniør, der bygger for blockchain-økosystemet
  • Den store mur af numre af Tim Swanson for hans ædru og ujævne dekonstruktion af blockchain-mani, især i virksomhedsrummet

(Du bør også læse min blog, men igen hører jeg ikke helt til på denne liste.)

Bøger og kurser

Hvis du vil have en mere struktureret tilgang til indlæring af dette materiale, er der et par bøger og kurser af høj kvalitet derude (og mange bøger af lav kvalitet).

Den bedste overordnede lærebog til blockchains er Bitcoin og Cryptocurrency Technologies (som ledsager Princeton Coursera kurset). De eneste andre bøger, jeg vil anbefale i dette rum, er Mastering Bitcoin af Andreas Antonopoulos, og hans kommende Mastering Ethereum, medforfatter af Ethereum-medstifter Gavin Wood (begge udgivet af O'Reilly). Den ene ikke-tekniske bog, jeg vil anbefale, er Digital Gold af Nathaniel Popper. Næsten alt andet, der er værd at læse, vil være i blogs, ikke bøger - dette rum bevæger sig så hurtigt, at de vigtigste figurer sjældent har tid til at skrive bøger, og bøger er ofte forældede, når de frigives.

Hvis du vil have en mere struktureret tilgang til at lære dette materiale, er der et par kurser af høj kvalitet derude (og mange af dem af lav kvalitet). Jeg har allerede linket til et par foredrag fra Princeton Coursera Course (videoerne er også på Youtube) og UC Berkeley Decal. Jeg har også hørt gode ting om Consensys Academy for folk, der ønsker at komme ind i smart kontraktudvikling.

Jeg underviser også i et 4-ugers seminar om kryptokurver for softwareudviklere på Bradfield School of Computer Science i SF. Kurset er kun personligt i SF, og pladserne er begrænsede, da det er en lille og dybtgående seminar-stil klasse. Men hvis du er softwareingeniør i SF og vil lære mere om teorien og praksis bag kryptokurver, kan det være en god pasform for dig.

Få et job

Som jeg sagde før, ansætter blockchain-startups som vanvittige. Hvis du faktisk er kommet så langt og har gjort endda halvdelen af ​​de ting, jeg foreslog, er du sandsynligvis allerede ansat i dette rum. AngelList skrev en god beskrivelse af, hvordan man får et job i kryptorummet.

Der er flere gode aggregatorer til blockchain-relaterede jobannoncer:

  • AngelList kryptostarter
  • BlockchainJobz
  • Ethereum Jobs
  • Vær i krypto
  • Blockchain Job Board
  • Liste over Crypto-job
  • Google-job (blockchain-søgeforespørgsel)
  • ConsenSys job (Ethereum venture studio med mange projekter under deres paraply)

Nogle særligt lovende blockchain-startups, som jeg kender, ansætter devs:

  • 0x
  • Dharma Labs
  • Civic

Der er også et antal større virksomheder på markedet for crypto devs:

  • Coinbase, Google fra krypto, ansætter altid som en skør
  • Stellar and Ripple, hvis du vil arbejde direkte på mere virksomhedsvenlige kryptokurver
  • Square har integreret nogle blockchain, men ikke sikker på, om de ansætter eksternt
  • IBM, Visa eller JP Morgan, hvis du vil sparke det gamle skole

(Bemærk, at denne specifikke virksomhedsliste er super Bay Area-centreret, for det er her jeg bor, så din kilometertal kan variere. Jobaggregatorerne er dog mere globale.)

Men efter min mening er den bedste måde at blive involveret i en virksomhed at finde et projekt, du er begejstret for, og kontakte dem direkte. De fleste blockchain-teams er villige til at ansætte fjernbetjening til det rigtige talent. Mange devs er let tilgængelige på Twitter, Github eller på deres offentlige Slack-kanaler. Hvis du har en solid portefølje og kan demonstrere tekniske koteletter, vil de fleste blive imponeret, hvis du viser noget initiativ.

Og det er så vidt jeg har for dig. Hvis du har gjort alt ovenstående, skal du være indstillet, og du vil sandsynligvis være endnu længere end mig inden længe.

Kanin ormehul

Det, jeg har vist dig, er kun begyndelsen. Kryptovalutaer er stadig i deres barndom, og jeg tror virkelig, at det er det rum, der hurtigt udvikler sig, du kan arbejde i. Jeg er sikker på, at denne guide vil være forældet inden for et år, og der er så mange fantastiske projekter, jeg ikke har havde lejlighed til at tale om. Men hvis du kommer ind i dette rum, finder du dem i god tid.

Bliv ved med at udforske. Bliv ved med at blive bedre. Fortsæt med at lære.

Og jeg håber at se dig komme med os.

Haseeb