Auktoriteettinen opas blockchain-kehitykseen

Salausvaluutat, ICO: t, maaginen internetraha - kaikki on niin pirun jännittävää, ja sinä, innokas kehittäjä, haluat päästä mukaan hulluuteen. Mistä aloitat?

Olen iloinen, että olet innoissasi tästä tilasta. Minä olen myös. Mutta luultavasti on epäselvää mistä aloittaa. Blockchain liikkuu räjähtävällä nopeudella, mutta näiden asioiden oppimiselle ei ole selkeää ramppia.

Koska lähdin Airbnb: stä työskentelemään kokopäiväisesti blockchainilla, monet ihmiset ovat ottaneet yhteyttä minuun ja kysyneet, kuinka päästä blockchain-tilaan kokopäiväisesti. Harkitse tätä arvovaltaista (ja väistämättä puutteellista) oppaani siitä, miten päästä blockchain-tekniikkaan.

Tämä opas jatkuu kymmenessä osassa:

  1. Miksi sinun pitäisi oppia blockchain-kehitystä?
  2. Edellytykset
  3. Bitcoinin teoreettiset perusteet
  4. Rakenna lohkoketju itse
  5. Ethereum ja älykäs sopimusohjelmointi
  6. Älykäs sopimusten turvallisuus
  7. Harjoittelupyörien poistaminen
  8. Rakenna omia projektejasi
  9. Blockchain-yhteisössä liikkuminen
  10. Saada työ

Miksi sinun pitäisi oppia blockchain-kehitystä?

Ennen kuin vastaan ​​tähän kysymykseen, haluaisin ensin huomauttaa: blockchain on massiivisesti yliarvostettu tila juuri nyt. Nämä hinnat ovat kestämättömiä, ja kaatuminen on ehdottomasti tulossa. Tämä kaikki on tapahtunut aikaisemmin ja todennäköisesti toistuu. Mutta jos työskentelet pitkällä aikavälillä tässä tilassa, opit vähentämään hintoja. Emin Gun Sirerin sanoin - hinnat ovat vähiten mielenkiintoinen osa kryptovaluutoista. Nämä ovat erittäin tärkeitä tekniikoita, ja ne muuttavat maailmaa peruuttamattomasti.

Jos et ole varma, en voi kertoa, pitäisikö sinun hypätä vai ei. Mutta voin kertoa sinulle viisi syytä, jotka saivat minut tekemään harppauksen:

  1. On vielä aikaista.

Bitcoin keksittiin 10 vuotta sitten, mutta innovaatioaste on noussut kuumeen vasta muutaman viime vuoden aikana, etenkin kun Ethereum perustettiin vuonna 2015. Suurin osa uusista yrityksistä ja ideoista tässä tilassa on rakennettu Ethereum, joka on edelleen hyvin kehittymätön.

Vaikka aloitat nyt, voit realistisesti tulla maailmanluokan asiantuntijaksi muutaman vuoden kuluessa. Useimmat ihmiset eivät vain ole tehneet tätä niin kauan, eikä ole niin vaikea saada kiinni. Aloittaminen nyt olisi analogista syvän oppimisen asiantuntijoiden kanssa, jotka aloittivat aiheen tutkimuksen 2000-luvun lopulla.

2. Tällä tilalla ei ole vielä vahvaa lahjakkuuskanavaa.

Suurin osa yliopistojen parhaista ja kirkkaimmista opiskelijoista keskittyy koneoppimiseen, web-ohjelmointiin tai pelikehitykseen. Toki, blockchainit ovat tulossa seksikkäimmiksi julkisessa keskustelussa, mutta ne ovat silti outo ja kumouksellinen aihe, josta voit liittää urasi.

Varhaisessa vaiheessa blockchain oli yksinomaan salakuuntelijoiden, paranoidien ja outojen valtakunta. Se on vasta hiljattain alkanut muuttua. Vain olemalla utelias ja ennakkoluuloton kehittäjä tuo tilaan paljon arvoa.

3. Suuri osa innovaatioista tapahtuu yliopistojen ulkopuolella.

Satoshi Nakamoto ei ollut tiedemies akateemikko. Ei ole vielä yliopistoa tai laitosta, joka tarjoaisi johdonmukaisen lohkoketjun keskittymisen. Suurimman osan innovaatioista ovat johtaneet harrastajat, yrittäjät ja riippumattomat tutkijat. Lähes kaikki mitä sinun tarvitsee tietää, on julkaisuissa, blogiviesteissä, julkisissa Slack-kanavissa ja avoimen lähdekoodin ohjelmistoissa. Tarvitaan vain hihojen kääriminen ja hyppääminen taisteluun.

4. Lahjakkuuden kysyntä ylittää selvästi tarjonnan.

Tässä tilassa ei vain ole tarpeeksi kehittäjiä, eikä heitä voi kouluttaa tarpeeksi nopeasti. Kaikki kilpailevat blockchain-lahjakkuuksien palkkaamisesta, ja projektit tuntevat kyvyn murenevan. Monet parhaista yrityksistä eivät voi maksaa ihmisilleen tarpeeksi jäämistä, koska heillä on liian paljon mahdollisuuksia. Jos saat joitain taitoja vyösi alle, on helppo saada työ.

5. Salausvaluutat ovat todella pirun siistit.

Missä muualla voit rakentaa sci-fi-asioita, kuten salauksella turvattua, hajautettua rahaa? Se on villi länsi juuri nyt - ja tämä tuo hyvää ja pahaa. Avaruus voisi käyttää enemmän läpinäkyvyyttä, ja sääntely tulee lopulta. Mutta epäilemättä kryptovaluutat ovat yksi innovatiivisimmista alueista, joilla voit työskennellä juuri nyt.

Naval Ravikant sanoi äskettäisessä haastattelussa: menestyksen avain on antaa yhteiskunnalle asioita, joita se haluaa, mutta ei tiedä miten päästä yksin. Et voi mennä kouluun sellaisten asioiden vuoksi; jos voisit, maailmalla olisi jo vakaa tarjonta sitä.

Joten rakenna jotain, jota kukaan muu ei osaa rakentaa. Tällä hetkellä estoketjut ovat upouusia ja jäljellä on niin paljon jäljellä. Jos onnistut rakentamaan hajautetun tekniikan tulevaisuuden, maailma palkitsee sinut komeasti.

Joten sano, että haluat heittää hattuasi. Mitä sinun on tiedettävä, ennen kuin pääset ringiin?

Edellytykset

Suosittelen vahvistamaan ymmärrystäsi perusteista ennen kuin sukelat pidemmälle. Lohkoketjut rakennetaan vuosikymmenien tietotekniikan, salauksen ja taloustieteen tutkimuksen päälle. Satoshi Nakamoto oli renegaatti, mutta tiesi myös hyvin edeltävän historian. Ymmärtääksesi miksi estoketjut toimivat, sinun on ymmärrettävä niiden rakennuspalikat - mikä tapahtui ennen lohkoketjuja ja miksi nuo asiat eivät toimineet.

Tässä on joitain hyviä edellytyksiä tutustua tärkeysjärjestyksessä.

Huomaa, että nämä linkit ovat vain lähtökohta, luultavasti haluat sukeltaa syvemmälle moniin näistä aiheista.

Tietokone Tiede

Tietorakenteet

Haluat tuntea tärkeimpien tietorakenteiden ominaisuudet ja monimutkaisuuden takuut: linkitetyt luettelot, binaariset hakupuut, hash-kartat ja kaaviot (erityisesti suunnatut asykliset kaaviot, jotka näkyvät näkyvästi lohkoketjuissa). Se auttaa rakentamaan ne alusta alkaen ymmärtämään paremmin niiden toimintaa ja ominaisuuksia.

Salaus

Salaus on kryptovaluuttojen nimimerkki ja kallioperä. Kaikki salausvaluutat käyttävät julkisen / yksityisen avaimen salausta identiteetin ja todennuksen perustana. Suosittelen opiskelemaan RSA: ta (se on helppo oppia, eikä vaadi kovaa matemaattista taustaa), ja sitten tarkastele ECDSA: ta. Elliptisen käyrän kryptografia vaatii huomattavasti abstraktempaa matematiikkaa - ei ole tärkeää ymmärtää kaikkia yksityiskohtia, mutta tiedä, että tätä salausta käytetään useimmissa kryptovaluutoissa, mukaan lukien Bitcoin.

Toinen tärkeä salausprimitiivi on salauksen hajautusfunktio. Niitä voidaan käyttää rakentamaan sitoumusjärjestelmiä, ja ne ovat rakennusmateriaali Merklen puille. Merkle-puut mahdollistavat Merkle-todisteet, joka on yksi avainoptimoinnista, jota lohkoketjut käyttävät skaalautuvuuteen.

Hajautetut järjestelmät

Hajautetuissa järjestelmissä on muutama hyvä oppikirja, mutta se on laaja ja vaikea tutkimusalue. Hajautetut järjestelmät ovat ehdottoman välttämättömiä perustellessaan lohkoketjuja, joten sinun on rakennettava perusta täällä ennen kuin aloitat lohkoketjuohjelmoinnin.

Kun et enää asu yhdellä koneella, sinun on aloitettava järkeily johdonmukaisuudesta ja yksimielisyydestä. Haluat tietää eron linearisoitavien ja lopullisten johdonmukaisuusmallien välillä. Haluat myös oppia vikasietoisten konsensusalgoritmien, kuten Paxos ja RAFT, takuut. Tunne ajankäytön vaikeudet hajautetussa järjestelmässä. Arvosta turvallisuuden ja elävyyden välisiä kompromisseja.

Tällä taustalla pystyt ymmärtämään vaikeudet Bysantin vikatoleranssin, julkisten lohkoketjujen ensisijaisen turvallisuusvaatimuksen, ympärillä. Haluat oppia PBFT: stä, joka on yksi ensimmäisistä skaalautuvista algoritmeista, joka tuottaa bysanttilaisen vikasietoisen konsensuksen. PBFT on perusta monille ei-todistetuille lohkoketjun konsensusalgoritmeille. Jälleen kerran, sinun ei tarvitse ymmärtää yksityiskohtia siitä, miten ja miksi PBFT on oikea, mutta hanki yleinen idea ja sen tietoturvatakuut.

On myös erittäin hyödyllistä ymmärtää perinteisiä tietokantojen jakelumenetelmiä (ytimessä lohkoketjut ovat tietokantoja). Opi sirpomisesta (esimerkiksi jatkuvan hajauttamisen avulla), johtajan ja seuraajan replikaatiosta ja koorumipohjaisiin sitoumuksiin. Katso jaettuja hajautustaulukoita (DHT), kuten Chord tai Kademlia.

Verkostoituminen

Lohkoketjujen hajauttaminen johtuu suurelta osin niiden vertaisverkkotopologiasta. Sellaisena estoketjut ovat menneiden P2P-verkkojen suoria jälkeläisiä.

Blockchain-tietoliikennemallin ymmärtämiseksi sinun on ymmärrettävä tietokoneverkon perusteet: tämä tarkoittaa TCP vs UDP, pakettimallin, IP-pakettien näyttämisen ja karkeasti Internet-reitityksen toiminnan ymmärtämistä.

Julkiset estoketjut pyrkivät levittämään viestejä juoruprotokollien kautta tulvia käyttäen. On opettavaa oppia P2P-verkon suunnittelun historia Napsterista Gnutellaan, BitTorrentiin ja Toriin. Lohkoketjuilla on oma paikkansa, mutta ne hyödyntävät näiden verkkojen opetuksia ja niiden suunnittelua.

Taloustiede

Kryptovaluutat ovat luonnostaan ​​monialaisia ​​- tämä on osa sitä, mikä tekee niistä niin kiehtovia ja radikaaleja. Tietojenkäsittelytieteen, salauksen ja verkostoitumisen lisäksi ne ovat syvästi kietoutuneet taloustieteeseen. Salausvaluutat voivat saada monia turvallisuusominaisuuksia taloudellisten rakenteidensa kautta, jota usein kutsutaan salausekonomiaksi . Sellaisena taloustiede on välttämätöntä kryptovaluuttojen ymmärtämiseksi.

Peliteoria

Tärkein salausvaluuttoihin siirtyvä taloustieteen ala on peliteoria, voittojen ja kannustimien tutkimus useiden agenttien keskuudessa. Sinun ei tarvitse mennä äärimmäisen syvälle täällä, mutta sinun on ymmärrettävä peliteoreettisen analyysin perustyökalut ja miten voit käyttää niitä analysoimaan kannustimia yhden laukauksen ja iteroiduissa peleissä.

Kaksi keskeistä käsitteitä ohjelmistossa tulisi olla Nash-tasapaino ja Schelling-pisteet, koska ne ovat näkyvästi salaustaloudellisessa analyysissä.

Makrotalous

Kryptovaluutat eivät ole vain protokollia, ne ovat myös rahamuotoja. Sellaisina ne reagoivat makrotalouden lakeihin (jos niitä voidaan kutsua laeiksi). Salausvaluutat ovat eri rahapolitiikkojen alaisia ​​ja reagoivat ennustettavasti inflaatioon ja deflaatioon. Sinun tulisi ymmärtää nämä prosessit ja niiden vaikutukset menoihin, säästöihin jne.

Toinen arvokas taloudellinen käsite on rahan nopeus, varsinkin kun se vastaa valuutan arvostamista.

Mikroekonomia

Salausvaluutat ovat myös syvästi kietoutuneet markkinoihin, mikä edellyttää mikrotalouden tuntemusta. Tarvitset vahvan intuition kysynnän ja tarjonnan käyrille. Sinun pitäisi pystyä perustelemaan kilpailu- ja vaihtoehtoiskustannuksia (niitä sovelletaan usein kryptovaluuttakaivoksiin). Monien kolikkojakelujen ja salaustaloudellisten järjestelmien osalta huutokauppateoria on näkyvästi esillä.

Odotan, että tunnet jo joitain näistä aiheista. Jos olet, voit vapaasti ohittaa tai ohittaa ne kokonaan.

Okei, nyt olet käynyt läpi ja korjannut perustekijät (tai ehkä ohitit joukon, kuka laskee?), Joten nyt kun olet saanut teoriasi kuriin, aloitetaan blockchain-kehityksessä.

Bitcoinin teoreettiset perusteet

Lokakuussa 2008 Satoshi Nakamoto julkaisi valkoisen kirjan, jossa hän kuvasi hajautetun digitaalisen valuutan protokollaa. Hän kutsui tätä protokollaa Bitcoiniksi.

Ennen kuin ymmärrät lohkoketjujen takana olevat suuret ideat, sinun on aloitettava Bitcoinista ja ymmärrettävä Satoshin alkuperäinen näkemys.

Ensinnäkin suosittelen rakentamaan intuitiosi työn todistamisesta ja haarukan valintasäännöstä (tunnetaan myös nimellä Nakamoton konsensus). Aloita tästä:

Suosittelen katsomaan useampaa kuin yhtä selitystä videolle saadaksesi ajatuksen päähän:

Loistava. Nyt kun olet rakentanut intuitiosi, tämä artikkeli tarjoaa syvemmän kokonaisvaltaisen esityksen kriittisistä komponenteista, kuinka Bitcoin toimii.

Rakenna lohkoketju itse

Nyt kun sinulla on korkean tason intuitio, on aika rakentaa oma todistukseen perustuva blockchain. Älä huoli, se on helpompaa kuin miltä se kuulostaa. Tässä on hyviä resursseja.

Ensinnäkin, minulla on videoluento, jossa käyn läpi tarkalleen miten tämä tehdään Ruby-tilassa (suosittelen katsomaan, vaikka et olisikaan Ruby-ohjelmoija):

Lähde ja diat täällä.

Löydät myös muita löytämiäsi lohkoketjutoteutuksia, jotka on kirjoitettu eri ohjelmointikielillä. Mene ja rakenna oma, ja tyydytä itsesi siitä, että se on enimmäkseen toimiva.

Kun olet päässyt tähän mennessä, sinulla pitäisi olla hyvä käsitys siitä, miten yksinkertainen maksusovellus toteutetaan blockchainin (eli Bitcoinin) päällä. Sinulla pitäisi olla jo nyt riittävä tausta, jotta sinun pitäisi pystyä lukemaan ja ymmärtämään alkuperäinen Bitcoin-valkolehti.

Bitcoin-kaivostoiminnan talouden ja mekaniikan ymmärtämiseksi suosittelen katsomaan luentoa Bitcoin-kaivoksista Bitcoin- ja Cryptocurrencies Princeton -kurssilla.

Jos olet päässyt niin pitkälle, sinun tulisi ymmärtää Bitcoin riittävän hyvin käydäksesi läpi Bitcoin-lohkon otsikon ja ymmärtääksesi, mitä kukin sen komponentti tarkoittaa. Sinun pitäisi myös pystyä pelaamaan Bitcoin-lohkojen tutkijan kanssa ja navigoimaan raaka-Bitcoin-tapahtumissa.

Nyt on hyvä aika tutkia Bitcoinin ja kryptovaluuttojen historiaa. Alla oleva video, jonka tarjoaa UC Berkeley Decal, antaa hyvän yleiskuvan.

Joitakin ylimääräisiä luottolähteitä:

  • Akateemiset edeltäjät Bitcoinille
  • Bitcoinin mekaniikka: UTXO: t ja Bitcoin-komentosarja (Bitcoin-komentosarja ei ole erittäin tärkeä, tiedä vain karkeasti mitä se voi tehdä)
  • Lyhyt opas Bitcoin-haarukoihin
  • Pehmeät haarukat ja kaivostyöntekijöiden signalointi
  • Kaksinkertaiset kulut, 51% hyökkäykset ja itsekäs kaivostoiminta
  • Toista hyökkäykset
  • Bitcoinin skaalautuvuusongelmat, jotka aiheuttavat suurimman osan kiistakysymyksistä Bitcoin-ekosysteemissä. Sinulla pitäisi olla käsitys siitä, miksi Bitcoin-ihmiset väittävät niin paljon lohkon koosta.
  • Eristetty todistaja, alias SegWit, ei ole välttämätöntä, mutta se tulee esiin paljon.
  • Lightning Network, yksi Bitcoinin tärkeimmistä skaalausratkaisuista, yleistää myös muita lohkoketjuja
  • Bitcoinin täydet solmut, Bitcoin-maksutilastot, kaaviot, kaaviot ja muut kaaviot
  • Bitcoinin energiankulutusindeksi (julkaisuhetkellä Bitcoin-kaivos kuluttaa yhtä paljon energiaa kuin koko Peru)
  • Gwernin oivaltava essee Bitcoinin tuhlaavasta puuttumattomuudesta
  • Jameson Loppilla on paljon muita resursseja Bitcoinissa, jos haluat mennä syvemmälle kanin reikään.

Ethereum ja älykäs sopimusohjelmointi

Nyt kun olet rakentanut lohkoketjun ja ymmärtänyt Bitcoinin dynamiikan, on aika kaivaa Ethereumia.

Ymmärrät, kuinka lohkoketjut ja työn todistaminen voivat saavuttaa hajautetun, bysanttilaisen vikasietoisen konsensuksen vertaisverkossa. Mutta maksuverkko on vain yksi sovellus, jonka voit suorittaa tällaisen estoketjun päällä. Vuonna 2013 Ethereumin luoja Vitalik Buterin kysyi: entä jos käyttäisit blockchainia hajautetun tietokoneen toteuttamiseen?

Ethereumissa maksat kaivostyöläisille, jotka suorittavat ohjelmat tällä hajautetulla virtuaalikoneella. Tämä tarkoittaa, että voit suorittaa mielivaltaisia ​​laskutoimituksia käyttämällä Turingin täydellistä ohjelmointikieltä (toisin kuin Bitcoin-komentosarja). Ilmeisesti se sisältää maksuihin liittyviä sovelluksia, joten Ethereum mahdollistaa Bitcoinin toiminnallisuuden pääjoukon ja on synnyttänyt innovaatioiden renessanssin.

Tämä vie meidät älykkäisiin sopimuksiin - sellaisille virtuaalikoneille ajettavien ohjelmien nimi. Älykäs sopimus voi olla vuorovaikutuksessa suoraan lohkoketjun kryptovaluutan kanssa ohjelman suorituksen mukaisesti. Toisin sanoen, voit luoda rahoitussopimuksia, jotka pakottavat itsensä automaattisesti voimaan. Se on villi idea, ja kaikenlaisia ​​scifi-futuristisia juttuja, joita voit tehdä, kun omistat tämän ohjelmointimallin.

Ethereum on mahdollistanut ICO: n ja kehittäjien aallon rakentamisen blockchainin päälle. Se on toiseksi suurin kryptovaluutta Bitcoinin takana, sillä on yli 10 kertaa seuraavan suosituimman alustan kehittäjiä, sillä on vahvin kehitystiimi, kypsimmät työkalut ja suurin osa ICO: ista ja projekteista sen päällä. Sillä on myös eniten teollisuuden tukea, mikä menee pitkälle. Todennäköisesti, jos teet blockchain-kehitystä, kirjoitat koodia Ethereumin älykkäille sopimuksille. (Vaikka et olisikaan, on välttämätöntä ymmärtää, mitä tässä tilassa tapahtuu.)

Ensinnäkin yksityiskohtaisempi korkean tason selvitys Ethereumista:

Ethereumin taustalla olevat ideat ovat myös synnyttäneet salausekonomian innovaatioaallon. Sinun tulisi upottaa varpaasi ideoihin DAO: iden ympärillä, ja kaikkiin scifi-unelmiin, joihin he viittaavat.

Okei, se on tarpeeksi fantasiaa, kaivetaan tekniikkaan.

Tässä on Preethi Kasireddyn hyvä yleiskatsaus Ethereumin keltaisesta paperista ja sen sisäosista. Ethereum käyttää tilimallia eikä Bitcoinin UTXO-mallia - näet pian, miksi tämä helpottaa älykkäiden sopimusten kirjoittamista.

Kuten minkä tahansa tekniikan kohdalla, paras tapa tutustua Ethereumiin on rakentamalla muutama pieni projekti.

Ethereumin hallitseva ohjelmointikieli on Solidity, joka on staattisesti kirjoitettu JavaScript-kieli. Se on kieli, jossa on paljon syyliä ja monia kyseenalaisia ​​suunnitteluvaihtoehtoja. Vankemmat kielet, kuten Viper, voivat korvata sen, kun ne ovat valmiita tuotantoon, mutta toistaiseksi Solidity on älykkään sopimusohjelmoinnin kieli. Se on pohjimmiltaan Ethereumin JavaScript, joten sinun on opittava se (ja sen sudenkuopat).

Saadaksesi ensimmäisen altistuksen Solidity-kehitykselle, suosittelen läpi kaikki CryptoZombies-opetusohjelmat. Se on ihana ja laadukas Codecademy-tyyppinen opetusohjelma, joka opettaa sinulle Solidity-ohjelmoinnin perusteet.

Nyt kun olet herättänyt ruokahalusi, on aika kehittyä itse.

Ethereumin ”hello world” rakentaa ERC-20-yhteensopivaa tunnusta. Suosittelen tätä opasta ensimmäisenä oppaana, joka opastaa sinut prosessin läpi.

Remix on selaimen sisäinen Solidity-editori ja kääntäjä - se on pohjimmiltaan Ethereum-kehityksen harjoituspyöriä, joten suosittelen työskentelemään muun Remix-harjoituksesi läpi. Mutta on myös syytä perustaa paikallinen lohkoketju ja saada käsitys Ethereum-työkaluista. Tämä opetusohjelma tekee hyvää työtä kävellessäsi läpi päästä päähän -lohkoketjupinon ja selittämällä kappaleet niiden mukana.

Seuraavaksi suosittelen äänestysjärjestelmän rakentamista. Kutsun tätä Tode-sovellukseksi Ethereum. Karl Floerschilla on hieno opetusohjelma, jossa hän opastaa rakentamaan turvallisen sitoutumis-paljasta -äänestysjärjestelmän.

Hienoa, nyt välikokeeseen: rakenna turvallinen kolikonheittopeli, jossa kaksi pelaajaa voi turvallisesti lyödä vetoa kolikkokäännöksestä. Tällä kertaa ei ole opetusohjelmaa, tee se itse. Ajattele mahdollisia hyökkäyksiä - miten pelaajat voivat huijata? Voitko varmistaa, että he pelaavat rehellisesti? Tässä on joitain vihjeitä.

Älykäs sopimusten turvallisuus

Turvallisuus on ehdottoman välttämätöntä blockchain-kehityksen kannalta. Älykkäitä sopimuksia ovat vaivanneet tuhoisat hakkeroinnit, mukaan lukien DAO-hakkerointi, Parity Wallet -hakkerointi ja hellästi nimetty Parity Wallet -hakkerointi 2 (nyt omalla T-paidallaan). Sinun on ehdottomasti luettava analyysit kaikista näistä kolmesta hakkeroinnista, jos aiot kirjoittaa älykkäitä tuotantosopimuksia.

Totuus on, että älykkäitä sopimuksia on erittäin vaikea saada oikein . Vaikka ohjelmointityökaluketju paranee näiden tarkkojen hyökkäysten vaikeuttamiseksi, ne kaikki johtuivat lopulta ohjelmoijavirheestä. Älykkään sopimusohjelmoinnin yhteydessä syntyy myös monia hienovaraisempia virheitä, kuten eturintamassa tai satunnaisuuden turvallisessa tuottamisessa.

Älykkään sopimuskehittäjän tulee kohdella turvallisuus ensisijaisena. Älykkäässä sopimusohjelmoinnissa ei ole "liikkua nopeasti ja rikkoa asioita". Tämä tarkoittaa, että kaikki koodit, jotka käsittelevät merkittäviä rahavirtoja, tulisi ajaa staattisten analysaattoreiden, kuten Oyente tai Securify, läpi, testata perusteellisesti ja kokeneen älykkään sopimusauditoijan tarkastaman. Sinun tulisi myös yrittää luottaa ennalta tarkastettuihin komponentteihin, kuten OpenZeppelinin avoimen lähdekoodin sopimuksiin.

Vahvistaaksesi tietoturvaominaisuuksiasi, suosittelen työskentelemään The Ethernaut by OpenZeppelinin kautta, pelin, josta löydät ja hyökkäät älykkäiden sopimusten haavoittuvuuksiin. Monet heistä ovat toistaneet todellisia hyökkäyksiä luonnossa esiintyneisiin älykkäisiin sopimuksiin.

Phil Daianilla on myös erinomainen joukko älykkäitä sopimusten hakkerointihaasteita nimeltä Hack This Contract.

Kun olet ohittanut tämän, suosittelen lämpimästi ConsenSysin kokoaman älykkäiden sopimusten parhaiden käytäntöjen kokonaisuuden. Odota käyvänsi tässä asiakirjassa monta kertaa älykkään sopimusohjelmoijan urasi aikana. Luetteloa on myös syytä tutkia, jotta turvallisuusasiantuntijat voivat lukea niitä edelleen.

Harjoittelupyörien poistaminen

Jos olet päässyt tähän mennessä, sinun pitäisi nyt olla valmis siirtymään Remixin ohitse ja aloittamaan vakavan Solidity-kehityspinon käyttö.

Useimmat kehittäjät suosittelevat VSCode tai Atom tekstieditorissasi, koska heillä on kunnolliset Solidity-laajennukset. Jos haluat olla vuorovaikutuksessa paikallisen lohkoketjun kanssa, sinun on käytettävä Ganachea (aiemmin TestRPC) ja Truffle-kehystä (JS-pohjaisiin) testeihisi ja rakenneputken määrittämiseen.

Nyt on hyvä aika tutkia IPFS: ää, jota voit käyttää täysin hajautettuna tiedostotallenntajana paljon halvemmalla kuin Ethereum-lohkoketju. Tässä on luojan, Juan Benetin, lyhyt selitys:

Infura on useimpien kehittäjien suosittelema vuorovaikutuksessa Ethereumin ja IPFS-täyden solmun kanssa. Etherscan ja ETH-huoltoasema tarjoavat hyödyllisiä reaaliaikaisia ​​tilastoja Ethereum-verkossa.

Kun olet määrittänyt koko Web3-pinon, yritä ottaa käyttöön end-to-end Dapp (hajautettu sovellus). Tämä opetusohjelma tarjoaa mukavan koko pinon yleiskatsauksen Node- ja Postgres-sovelluksilla backendille, ja tämä opetusohjelma näyttää, kuinka luoda täysin hajautettu sovellus käyttämällä IPFS: ää pysyvyyskerroksena.

Rakenna omia projektejasi

Sinun pitäisi nyt olla tyytyväinen suurimpaan osaan tekniikkaa - jäljellä on aloittaa tavaroiden rakentaminen ja mennä syvemmälle blockchain-yhteisöön.

Aloita ensin omien projektien rakentaminen. Jos on loistava idea, josta olet innostunut, mene rakentamaan se ja vakuuttaa muut hakkeroimaan sitä kanssasi! Jos sinulla ei vielä ole ideaa tai et ole tyytyväinen käsien likaantumiseen, on olemassa monia laadukkaita avoimen lähdekoodin projekteja, jotka ovat tervetulleita. OpenZeppelin voi olla hyvä paikka aloittaa älykkäillä sopimuksilla.

Vielä parempaa, suosittelen ensin etsimällä aktiivisesti kehitetyn projektin, josta olet fani. Mene heidän löysään tai Rocketchatiinsa - kehittäjät ovat yleensä helposti saatavilla. Kerro heille, että haluat osallistua, ja pyydä joitain pieniä tehtäviä (tai etsi ratkaisemattomia asioita Githubista).

Huomaa, että vaikka olen keskittynyt protokolliin ja älykkääseen sopimusten kehittämiseen, blockchain-yritykset tarvitsevat verkkokehittäjiä rakentamaan ydintoiminnot. Nämä roolit edellyttävät usein vuorovaikutusta lohkoketjujen kanssa, joten on välttämätöntä, että sinulla on hyvä henkinen malli siitä, miten lohkoketjut toimivat - mutta monille blockchain-startup-insinööreille suurin osa työstäsi tulee olemaan Python-verkkopalvelimen rakentaminen tai React-käyttöliittymän suunnittelu, ja vuorovaikutus lohkoketjun kanssa voi olla pieni osa tätä työtä. Sinun ei tarvitse erikoistua älykkääseen sopimusten kehittämiseen - todellisuudessa se on vain yksi osa toimivasta lohkoketjupinosta.

Avoimen lähdekoodin lisäksi on myös useita blockchain-hackathoneja, jotka tulevat jatkuvasti esiin. Useimmissa projekteissa on ilmainen julkinen Slack, johon voit liittyä, ja Ethereumille on olemassa erittäin aktiivinen Gitter-kanava, jossa on paljon kehittäjiä. Kun menet syvemmälle avaruuteen, löydät lopulta vertaisryhmäsi, olipa kyseessä sitten Slack-kanava, Telegram-ryhmä tai Gitter-kanava. Löydät ihmiset ja jatka oppimista missä tahansa.

Blockchain-yhteisössä liikkuminen

Paras tapa todella ymmärtää blockchain-maailma on uppoutua siihen. Lue ja kuuntele älykkäitä ihmisiä, varsinkin mitä he ovat kirjoittaneet aiemmin. Tämä on aina ollut strategiani yrittäessäni oppia uusi verkkotunnus, ja se on maksanut minulle osinkoa.

Siellä on paljon hyvää blockchain-sisältöä, mutta siellä on myös paljon paskaa. Tässä on suosittelema tietoruokavalio.

Media

Kolme upeaa podcastia, joita suosittelen, ovat Software Engineering Daily Blockchain -haastattelut, jotka tarjoavat hyviä teknisiä introja monille aiheille ja kryptovaluutoille. Sieltä suosittelen Epicenter and Unchained - haluat palata takaisin ja kuunnella monia vanhempia jaksoja. Toinen mielenkiintoinen kehittyvä tekninen podcast on Conspiratus. Suosittelen tilaamaan nämä.

On olemassa muutama hyvä Youtube-kanava (vaikka YouTubessa on paljon roskia). Tilaa Ethereum -säätiö ja katso Devcon3-esityksiä. Berkeleyn Blockchain tallentaa monia luentojaan, joista suurin osa on erinomaisia ​​teknisiä katsauksia. Decypher Media julkaisee myös keskusteluja, valtakirjakatsauksia ja oppaita. Jackson Palmerilla on viehättäviä viikoittaisia ​​yleiskatsauksia, jotka ovat vähemmän teknisesti, mutta hyvin tasaisesti.

Online-lukeminen

Reaaliaikaisessa blockchain-chatissa se elää enimmäkseen kahdessa paikassa: Reddit ja Twitter. Redditille useimmat aliversiot ovat erittäin heikkolaatuisia ja hallitsevat melua. r / Ethereum on jatkuvasti kunnollista laatua (ja tietyille krypto-valuutoille on olemassa muutama kunnollinen aliverkko). Suurinta osaa alempikursseista hallitsevat kuitenkin ensisijaisesti keinottelijat, eivätkä ne ole hyvä tapa käyttää huomiota. Pysy kaukana Bitcoiniin liittyvistä subredditeistä. Bitcoinilla on tunnetusti yksi myrkyllisimmistä yhteisöistä, ja Reddit vain suurentaa sitä.

Twitter on enemmän sekalaukku. Hyvästä tai pahasta, useimmat blockchain-ihmiset elävät Twitterissä. Blockchain Twitter oli minulle aluksi jonkin verran mysteeri, mutta lopulta kehitin epävirallisen Twitter-blockchain-ihmisten ontologian. Kokemukseni mukaan blockchain-persoonallisuuksia on viisi tyyppiä: rakentajat, yrittäjät, toimittajat, kauppiaat ja "ajattelijat".

Vältä "ajatusjohtajia" kuten ruttoa. Yrittäjät voivat olla kunnossa, vaikka he toimivat enimmäkseen hype-miehinä tai twiittaa omia projektejaan. Sijoittajat piilottavat enimmäkseen hinnoista ja hype-y-projekteista, joten jos se on sinun juttusi, se on sinun juttusi. Toimittajat pyrkivät tweetoimaan päivän tärkeimmistä uutisista - suosittelen pysymään poissa, ellet tarvitse reaaliaikaista analyysiä, jota et todennäköisesti tarvitse. Jos olet aktiivinen kauppias, se voi olla tärkeää, mutta jos yrität rakentaa lohkoketjua, useimmat reaaliaikaiset jutut ovat häiritseviä.

Kiinnitä eniten huomiota rakentajiin. Heillä on tällä hetkellä eniten merkitystä ja he vievät tekniikkaa eteenpäin.

Muutama edustaja kustakin luokasta (tee ensin ensimmäinen haku siitä, ketä nämä ihmiset seuraavat, jos haluat täyttää Twitter-syötteesi):

Rakentajat

  • Vitalik Buterin, Ethereum
  • Zooko Wilcox, ZCash
  • Nick Szabo, älykkäiden sopimusten keksijä
  • Vlad Zamfir, Ethereum
  • Marco Santori, Cooley OTK
  • Riccardo "fluffypony" Spagni, Monero
  • Matt Liston, Gnosis

Yrittäjät

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

Sijoittajat

  • Naval Ravikant, MetaStable
  • Ari Paul, Blocktowerin pääkaupunki
  • Linda Xie, Scalar Capital
  • Chris Burniske, paikkamerkki

Toimittajat

  • Tuur Demeester, Adamant Research
  • Laura Shin, Forbes

(Sinun tulisi myös seurata minua, vaikka en todellakaan kuulu tähän luetteloon.)

Kaikki sanottu, suosittelen minimoimaan altistumisen Twitterille ja Redditille. Jos et ole toimittaja tai päivittäiskauppias, on todennäköistä, ettet tarvitse tulipesää reaaliajassa. Tärkeää tietoa kuplitaan asynkronisesti. On olemassa useita hyviä uutisia, jotka esittävät yhteenvedon päivän / viikon tärkeimmistä uutisista, jotka voit kuluttaa omalla ajallasi olematta huomiomarkkinoiden armoilla.

Suosittelen Inside Bitcoinin tilaamista tärkeimpien salausuutisten päivittäiseen pilkkomiseen (se kattaa muutakin kuin vain Bitcoinin). Tunnusprojekteille Token Economyilla on erinomaiset viikoittaiset kirjoitukset, ja Week in Ethereumissa on hyvät sulautteet kehittäjälähtöisiin tapahtumiin Ethereumin ekosysteemissä.

Tämän lisäksi sinun ei tarvitse tarkkailla reaaliaikaisia ​​uutisia. Keskity tavaroiden rakentamiseen ja oppimiseen.

Haluat seurata parhaita blogeja. Pitkämuotoinen sisältö on yleensä paras bang for buck. Suosittelen näiden noudattamista:

  • Vitalik Buterin erinomaisesta lohkoketjusta ja salaustaloudellisesta analyysistä (lue myös kaikki hänen vanhemmat blogikirjoituksensa, Vitalikia pidetään laajalti kerran sukupolvelta ajattelijana)
  • Hakkerointi, jaettu Cornell-tutkijoiden blockchain-turvallisuusanalyysejä varten
  • Lukematon, Nick Szabon valoblogi haastavilla ja eklektisillä esseillä kryptovaluutan roolista yhteiskunnassa
  • Money Stuff, Matt Levinen Bloomberg-syndikaatti, leikkaava ja oivaltava analyysi, joka koskettaa markkinoiden, rahoituksen ja blockchain-uutisten risteystä
  • Vlad Zamfir karkaistusta ja varovaisesta näkökulmasta valtioon ja julkisiin lohkoketjuihin
  • Chris Burniske merkkijonosta erinomaisia ​​blogiviestejä siitä, miten arvostaa salausvaroja
  • Jameson Lopp loistavista teknisistä viesteistä ohjelmistosuunnittelijan näkökulmasta blockchain-ekosysteemille
  • Tim Swansonin suuri muurien lukumäärä hänen järkevästä ja vakaumattomasta blockchain-manian purkamisesta etenkin yritystilassa

(Sinun tulisi lukea myös blogini, vaikka taas kerran en kuulu tähän luetteloon.)

Kirjat ja kurssit

Jos haluat jäsennellyn lähestymistavan tämän materiaalin oppimiseen, siellä on muutama korkealaatuinen kirja ja kurssi (ja paljon heikkolaatuisia).

Paras estoketjujen yleinen oppikirja on Bitcoin ja Cryptocurrency Technologies (joka liittyy Princeton Coursera -kurssiin). Ainoat muut kirjat, joita suosittelen tässä tilassa, ovat Andreas Antonopoulosin masterointi Bitcoinissa ja hänen tuleva Mastering Ethereum, jonka on kirjoittanut Ethereumin perustaja Gavin Wood (molemmat julkaisija O'Reilly). Yksi suosittelemani tekninen kirja on Nathaniel Popperin kirjoittama Digital Gold. Melkein kaikki muu lukemisen arvoinen on blogeissa, ei kirjoissa - tämä tila liikkuu niin nopeasti, että tärkeimmillä henkilöillä on harvoin aikaa kirjoittaa kirjoja, ja kirjat ovat usein vanhentuneita julkaisuhetkellä.

Jos haluat jäsennellyn lähestymistavan tämän materiaalin oppimiseen, siellä on muutama korkealaatuinen kurssi (ja paljon heikkolaatuisia). Olen jo linkittänyt pari luentoa Princeton Coursera -kurssilta (videot ovat myös Youtubessa) ja UC Berkeley -tarra. Olen myös kuullut hyviä asioita Consensys Akatemiasta ihmisille, jotka haluavat päästä älykkääseen sopimusten kehittämiseen.

Opetan myös 4 viikon sala-valuuttoja käsittelevän seminaarin ohjelmistokehittäjille Bradfield School of Computer Science -sovelluksessa SF: ssä. Kurssi on henkilökohtainen vain SF: ssä ja paikkoja on rajoitetusti, koska se on pieni ja perusteellinen seminaarityylinen luokka. Mutta jos olet SF: n ohjelmistosuunnittelija ja haluat oppia lisää kryptovaluuttojen taustalla olevasta teoriasta ja käytännöstä, se saattaa olla hyvä sinulle.

Saada työ

Kuten sanoin aiemmin, blockchain-startupit palkkaavat hulluina. Jos olet todella päässyt niin pitkälle ja olet tehnyt edes puolet ehdotamistani asioista, olet todennäköisesti jo työllistettävissä tässä tilassa. AngelList teki hienon kirjoituksen siitä, miten saada työpaikka salaustilaan.

Blockchainiin liittyviä työpaikkailmoituksia varten on useita hyviä aggregaattoreita:

  • AngelList-salakirjoitukset
  • BlockchainJobz
  • Ethereumin työpaikat
  • Ole salauksessa
  • Blockchain Job Board
  • Salaustyöluettelo
  • Google-työpaikat (blockchain-hakukysely)
  • ConsenSys työpaikat (Ethereum venture studio, jossa on monia hankkeita sateenvarjon alla)

Jotkut erityisen lupaavat blockchain-aloitukset, jotka tiedän palkkaavan kehittäjiä:

  • 0x
  • Dharma Labs
  • Kansalainen

Salauslaitteiden markkinoilla on myös useita suurempia yrityksiä:

  • Coinbase, salauksen Google, palkkaa aina kuin hullu
  • Stellar and Ripple, jos haluat työskennellä suoraan yritysystävällisempien kryptovaluuttojen parissa
  • Square on integroinut joitain lohkoketjuja, vaikka ei ole varma, palkkaavatko he ulkoisesti
  • IBM, Visa tai JP Morgan, jos haluat potkaista sitä vanhan koulun

(Huomaa, että tämä erityinen yritysluettelo on erittäin Bay Area -keskeinen, koska siellä asun, joten mittarilukema voi vaihdella. Työntekijät ovat kuitenkin globaalimpia.)

Mutta mielestäni paras tapa osallistua yritykseen on löytää projekti, josta olet innostunut, ja tavoittaa heidät suoraan. Useimmat blockchain-ryhmät ovat valmiita palkkaamaan kaukosäätimen oikeille lahjakkuuksille. Monet kehittäjät ovat helposti saatavilla Twitterissä, Githubissa tai julkisilla Slack-kanavillaan. Jos sinulla on vankka salkku ja pystyt osoittamaan teknisiä pilkkuja, useimmat ihmiset vaikuttavat, jos osoitat aloitetta.

Ja niin pitkälle kuin minulla on sinulle. Jos olet tehnyt kaikki edellä mainitut, sinun pitäisi olla asetettu, ja olet todennäköisesti vielä kauemmas kuin minä ennen pitkää.

Kanin madonreikä

Se, mitä olen osoittanut sinulle, on vasta alkua. Kryptovaluutat ovat vielä lapsenkengissään, ja uskon todella, että se on nopeimmin kehittyvä tila, jossa voit työskennellä. Olen varma, että tämä opas on vanhentunut vuoden kuluessa, ja on niin monia upeita projekteja, joita en ole oli tilaisuus puhua. Mutta jos pääset tähän tilaan, löydät ne oikeaan aikaan.

Jatka tutkimista. Paranna jatkuvasti. Jatka oppimista.

Ja toivon, että tulet liittymään meihin.

Haseeb