Decentralisering, n. Sikkerhedsforudsætningen om, at en nittenåring i Hangzhou og en person, der måske er i Storbritannien og måske ikke endnu ikke har besluttet at samarbejde med hinanden.

Der har været en stor mængde ophidselse i den sidste uge om spørgsmålet om minedriftcentralisering i Bitcoin-netværket. Vi så en enkelt minedriftspool, GHash.io, samle over 45 hash-kræfter i mange timer og på et tidspunkt endda vokse til at blive 51 af hele netværket. Hele forsiden af ​​Bitcoin reddit var i brand i intens diskussion og et sjældent sammenstød af selvtilfredshed og frygt, minearbejdere mobiliserede hurtigt for at fjerne deres hashkraft fra GHash, og overraskende kloge strategier blev brugt i et forsøg på at bringe balancen tilbage mellem de forskellige puljer , op til og med en minearbejder med “mellem 50 TH / s og 2 PH / s” minedrift ved GHash men nægter at videresende gyldige blokke, i det væsentlige sabotere alle miner ved poolen i op til 4. Nu er situationen noget aftaget med GHash ned til 35 netværkshash-kraft og andenpladsen, Discus Fish, op til 16, og det er sandsynligt, at situationen vil forblive sådan i mindst et kort stykke tid, før tingene varmes op igen. Er problemet løst? Selvfølgelig ikke. Kan problemet løses? Det vil være det primære emne for dette indlæg.

Bitcoin Mining

Lad os først og fremmest forstå problemet. Formålet med Bitcoin-minedrift er at skabe et decentraliseret tidsstemplingssystem ved hjælp af det, der i det væsentlige er en flertalsmekanisme til at bestemme, i hvilken rækkefølge visse transaktioner kom som en måde at løse problemet med dobbeltforbrug. Problemet med dobbeltforbrug er let at forklare: Hvis jeg sender en transaktion, der sender min 100 BTC til dig, og derefter en dag senere sender jeg en transaktion, der sender den samme 100 BTC til mig selv, kan begge disse transaktioner naturligvis ikke behandles samtidigt. Derfor skal en af ​​de to ”vinde”, og den intuitivt korrekte transaktion, der skulle få den ære, er den, der kom først. Der er dog ingen måde at se på en transaktion og kryptografisk bestemme, hvornår den blev oprettet. Dette er hvor Bitcoin-minedrift træder ind.

Bitcoin-minedrift fungerer ved at lade noder kaldet “minearbejdere” samle nylige transaktioner og producere pakker kaldet “blocks”. For at en blok skal være gyldig, skal alle de transaktioner, den indeholder, være gyldige, den skal “pege på” (dvs. indeholde hash af) en tidligere blok, der er gyldig, og den skal opfylde “beviset for arbejdsbetingelse” ( nemlig SHA2562 (block_header) <= 2190, dvs. dobbelt-hash af blokoverskriften skal starte med et stort antal nuller). Da SHA256 er en pseudorandom-funktion, er den eneste måde at lave sådanne blokke på gentagne gange at forsøge at producere dem, indtil en tilfældigvis tilfredsstiller betingelsen. 2190 “målet” er en fleksibel parameter; det justeres automatisk, så hele netværket i gennemsnit skal arbejde i ti minutter, før en node bliver heldig og lykkes; når det sker, bliver den nyligt producerede blok den “seneste” blok, og alle begynder at prøve at udvinde en blok, der peger på den blok som den forrige blok. Denne proces, der gentages en gang hvert tiende minut, udgør den primære drift af Bitcoin-netværket, hvilket skaber en stadigt forlængende kæde af blokke (“blockchain”), der i rækkefølge indeholder alle de transaktioner, der nogensinde har fundet sted.

Hvis en node ser to eller flere konkurrerende kæder, anser den den længste, dvs. den der har mest bevis for arbejde bag sig for at være gyldig. Over tid, hvis to eller flere kæder spiller samtidigt, kan man se, hvordan kæden med mere beregningskraft, som den til sidst garanterer at vinde; derfor kan systemet beskrives som “en CPU-cyklus, en stemme”. Men der er en sårbarhed: Hvis en part eller en sammenhængende gruppe af partier har over 50 af al netværksmagt, så har den enhed alene majoritetskontrol over afstemningsprocessen og kan udregne enhver anden kæde. Dette giver denne enhed nogle privilegier:

  1. Enheden kan kun anerkende blokke produceret af sig selv som gyldige, hvilket forhindrer nogen anden i at udvinde, fordi dens egen kæde altid vil være den længste. Over tid fordobler dette minearbejderens BTC-denominerede indtægt for alle andres regning. Bemærk, at en svag version af dette angreb, “egoistisk minedrift”, begynder at blive effektiv ved omkring 25 netværkseffekt.
  2. Enheden kan nægte at medtage visse transaktioner (dvs. censur)
  3. Enheden kan “gå tilbage i tiden” og starte minedrift fra N-blokke siden. Når denne gaffel uundgåeligt overhaler originalen, fjerner dette effekten af ​​eventuelle transaktioner, der skete i den originale kæde efter gaffelpunktet. Dette kan bruges til at tjene en ulovlig fortjeneste ved (1) at sende BTC til en børs, (2) vente på 6 blokke på, at depositum skal bekræftes, (3) at købe og trække LTC, (4) at vende indskudstransaktionen og i stedet sende disse mønter tilbage til angriberen.

Dette er det frygtede “51 angreb”. Navnlig giver selv 99 hashpower dog ikke angriberen det privilegium at tildele sig et vilkårligt antal nye mønter eller stjæle andres mønter (undtagen ved at vende transaktioner). Et andet vigtigt punkt er, at 51 af netværket ikke er nødvendigt for at igangsætte sådanne angreb; hvis alt hvad du ønsker er at bedrage en købmand, der accepterer transaktioner efter at have ventet N-bekræftelser (normalt,

N = 3

eller

N = 6

Hvis din minedrift har del P af netværket, kan du med succes sandsynligvis lykkes:

(P / (1-P)) ^ N

ved 35 hashpower og 3 bekræftelser betyder det, at GHash i øjeblikket kan stjæle altcoins fra en altcoin-udveksling med 15,6 succes sandsynlighed – en gang i hvert sjette forsøg.

Puljer

Her kommer vi til puljer. Bitcoin-minedrift er en givende, men desværre meget stor variansaktivitet. Hvis i den aktuelle 100 PH / s netværk, du kører en ASIC med 1 TH / s, så hver blok, du har en chance for 1 ud af 100.000 for at modtage blokbelønningen på 25 BTC, men de andre 99999 gange ud af 100.000 får du nøjagtigt ingenting. I betragtning af at netværkshash-kraften i øjeblikket fordobles hver tredje måned (for nemheds skyld, for eksempel 12500 blokke), giver det dig en sandsynlighed på 15,9 for, at din ASIC nogensinde vil generere en belønning, og en 84,1 chance for, at ASIC’s samlede levetidsindtjening vil være nøjagtigt ingenting.

En minedriftspul fungerer som en slags invers forsikringsagent: minedriftens pool beder dig om at mine i sin egen adresse i stedet for din, og hvis du genererer en blok, hvis bevis for arbejde er næsten god nok, men ikke helt, kaldes en “del” , så giver poolen dig en mindre betaling. For eksempel, hvis minearbejdsvanskeligheden for hovedkæden kræver, at hasjen er mindre end 2190, kan kravet om en aktie muligvis være 2190. Derfor genererer du i dette tilfælde en aktie omtrent hver hundrede blokke og modtager 0,024 BTC fra poolen, og en gang ud af tusind ud af dem vil minepuljen modtage en belønning på 25 BTC. Forskellen mellem den forventede 0.00024 BTC og 0.00025 BTC pr. Blok er minedriftens fortjeneste.

Minedrift tjene dog også et andet formål. Lige nu er de fleste minedrift-ASIC’er stærke til hashing, men overraskende svage over alt andet; det eneste, de ofte har til generel beregning, er en lille Raspberry Pi, alt for svag til at downloade og validere hele blockchain. Minearbejdere kunne løse dette på bekostning af noget som en ekstra $ 100 per enhed til en mere anstændig CPU, men det gør de ikke – af den åbenlyse grund, at $ 0 er mindre end $ 100. I stedet beder de minedriftspuljer om at generere minedata til dem. De pågældende “minedata” henviser til blokoverskriften, et par hundrede byte data, der indeholder hash fra den foregående blok, roden til et Merkle-træ, der indeholder transaktioner, tidsstemplet og nogle andre tilknyttede data. Minearbejdere tager disse data og fortsætter med at øge en værdi, der kaldes en “nonce”, indtil blokhovedet opfylder beviset for arbejdet. Normalt ville minearbejdere tage disse data fra den blok, som de uafhængigt bestemmer for at være den seneste blok; her bliver det faktiske valg af, hvad den seneste blok er, imidlertid henvist til puljerne.

Således, hvad har vi? Nå lige nu, i det væsentlige dette:

Minedriftens økosystem er størknet i et relativt lille antal puljer, og hver enkelt har en betydelig del af netværket – og selvfølgelig nåede en af ​​disse puljer i sidste uge, GHash, til 51. I betragtning af at hver gang en minedrift, uanset om Deepbit i 2011 eller GHash i 2013, nåede 51, der har været en pludselig massiv reduktion i antallet af brugere, det er fuldt ud muligt, at GHash faktisk kom overalt op til 60 netværkshashkraft og simpelthen skjuler noget af det. Der er masser af beviser i den virkelige verden af ​​store virksomheder, der skaber angiveligt gensidigt konkurrerende mærker for at give indtryk af valg og markedsdynamik, så en sådan hypotese bør slet ikke diskonteres. Selv under antagelse af, at GHash faktisk er ærlig over for det hashkraftniveau, det har, hvad dette diagram bogstaveligt talt siger, er, at den eneste grund til, at der ikke er 51 angreb, der sker mod Bitcoin lige nu, er at Discus Fish, en minedrift, der drives af en nitten år gammel i Hangzhou, Kina og GHash, en minedrift, der køres angiveligt i Storbritannien, men kan godt være hvor som helst, har endnu ikke besluttet at kollidere med hinanden og overtage blockchain. Alternativt, hvis man er tilbøjelig til at stole på denne særlige 19-årige i Hangzhou (trods alt syntes han ganske flot, da jeg mødte ham), kan Eligius eller BTCGuild kollidere med GHash i stedet.

Så hvad hvis GHash for eksempel får over 51 igen og starter 51 angreb (eller måske endda starter angreb mod altcoin-børser ved 40)? Hvad sker der så?

Lad os først få et dårligt argument ude af vejen. Nogle hævder, at det ikke betyder noget, om GHash kommer over 51, fordi der ikke er noget incitament for dem til at udføre angreb mod netværket, da selv et sådant angreb ville ødelægge værdien af ​​deres egne valutaenheder og minedrift. Desværre er dette argument simpelthen absurd. For at se hvorfor, overvej en hypotetisk valuta, hvor minedriftsalgoritmen simpelthen er en signaturverifikator for min egen offentlige nøgle. Kun jeg kan underskrive blokke, og jeg har ethvert incitament til at bevare tilliden til systemet. Hvorfor ville Bitcoin-samfundet ikke vedtage mit klart overlegne, ikke-el-spildende bevis for arbejde? Der er mange svar: Jeg er måske irrationel, jeg bliver måske tvunget af en regering, jeg begynder muligvis langsomt at indprente en kultur, hvor tilbageførsler af transaktioner til visse “gode formål” (f.eks. Blokering af børnepornografiske betalinger) er acceptable og derefter langsomt udvide det til dække alle mine moralske fordomme, eller måske har jeg endda en massiv kortslutning mod Bitcoin med 10x gearing. Disse mellemste to argumenter er ikke vanvittige hypotetiske; de er virkelige dokumenterede handlinger af implementeringen af ​​me-mønt, der allerede findes: PayPal. Dette er grunden til, at decentralisering betyder noget; vi forbrænder ikke millioner af dollars elektricitet om året bare for at flytte til en valuta, hvis fortsatte stabilitet hænger på blot en lidt anden slags politisk spil.

Derudover er det vigtigt at bemærke, at selv GHash selv har en historie med engagement i at bruge transaktionsangreb mod spilwebsteder; specifikt kan man huske episoden, der involverer BetCoin terninger. Naturligvis benægter GHash, at det har taget nogen bevidst handling og sandsynligvis er korrekt; snarere ser angrebene ud til at være en skurkens medarbejder skyld. Dette er dog ikke et argument til fordel for GHash; tværtimod, det er et stykke empirisk bevis fra den virkelige verden, der viser et fælles argument til fordel for decentralisering: magt korrumperer, og lige så vigtigt tiltrækker magt dem, der allerede er korrupte. Teoretisk har GHash øget sikkerheden siden da; i praksis, uanset hvad de gør, findes dette centrale punkt for sårbarhed for Bitcoin-netværket stadig.

Der er dog et andet, bedre argument for, hvorfor minepuljer ikke er et problem: nemlig det faktum, at de ikke er individuelle minearbejdere, men snarere puljer, hvor minearbejdere kan komme ind og forlade når som helst. På grund af dette kan man med rimelighed sige det Ars Technicas krav at Bitcoins sikkerhed er blevet “knust af en anonym minearbejder med 51 netværkseffekt” er helt unøjagtig; der er ingen minearbejder, der kontrollerer noget tæt på 51. Der er faktisk en enkelt enhed, kaldet CEX.io, der styrer 25 af GHash, hvilket er skræmmende i sig selv, men alligevel langt fra scenariet, som overskriften insinuerer, er tilfældet. Hvis enkeltpersoner minearbejdere ikke ønsker at deltage i at undergrave Bitcoin-protokollen og uundgåeligt banke værdien af ​​deres mønter ned med noget som 70, kan de simpelthen forlade puljen, og sådan en ting er nu sket tre gange i Bitcoins historie. Spørgsmålet er imidlertid, vil Bitcoin fortsat være tilfældet, da Bitcoin-økonomien fortsætter med at professionalisere sig? Eller givet noget mere “grådige” individer, vil minearbejdere fortsætte med minedrift ved den eneste pulje, der lader dem fortsætte med at tjene indtægter, hvilket individuelt sparer deres egen fortjeneste på bekostning af at tage hele Bitcoin-minedrift økosystem samlet ned ad en klint?

Løsninger

Selv nu er der faktisk en strategi, som minearbejdere kan og har taget for at undergrave GHash.io: minedrift ved poolen, men bevidst tilbageholder de blokke, de finder, der faktisk er gyldige. En sådan strategi kan ikke detekteres, men med en minedrift på 1 PH / s på denne måde reducerer den i det væsentlige overskuddet for alle GHash-minearbejdere med ca. 2,5. Denne slags puljesabotage ophæver fuldt ud fordelen ved at bruge GHash uden gebyr over andre puljer. Denne evne til at straffe dårlige skuespillere er interessant, selvom dens implikationer er uklare; hvad hvis GHash begynder at ansætte minearbejdere til at gøre det samme mod hver anden pool? I stedet for at stole på årvågen sabotagetaktik med et uundersøgt økonomisk slutspil, skal vi ideelt set prøve at lede efter andre løsninger.

Først og fremmest er der den altid tilstedeværende P2P-minedrift, P2Pool. P2Pool har eksisteret i årevis og fungerer ved at have sin egen interne blockchain med en 10 sekunders bloktid, så minearbejdere kan indsende aktier som blokke i kæden og kræve minearbejdere at forsøge at producere blokke, der sender til alle de sidste par dusin dele producenter på samme tid. Hvis P2Pool havde 90 netværkshashkraft, ville resultatet ikke være centralisering og velvilligt diktatur; snarere ville den begrænsende sag simpelthen være en replika af den almindelige gamle Bitcoin blockchain. P2Pool har dog et problem: det kræver, at minearbejdere fuldt ud validerer noder. Som beskrevet ovenfor er det uacceptabelt i betragtning af muligheden for minedrift uden at være en fuldt validerende knude.

En løsning på dette problem er at have en minedriftsalgoritme, der tvinger noder til at gemme hele blockchain lokalt. En simpel algoritme til dette i Bitcoins tilfælde er:

def mine (block_header, N, nonce): o = [] for i i området (20): o.append (sha256 (block_header + nonce + i)) n = [] for i i området (20): B = ( o [i] / 2 ** 128)% N n.append (tx (B, o [i])) return sha256 (block_header + str (n))

Hvor tx (B, k) er en funktion, der returnerer kth-transaktionen i blok B, omvikler modulo antallet af transaktioner i den blok, hvis det er nødvendigt, og N er det aktuelle bloknummer. Bemærk, at dette er en simpel algoritme og er meget suboptimal; nogle åbenlyse optimeringer inkluderer at gøre det serielt (dvs. o [i + 1] afhænger af n [i]), at opbygge et Merkle-træ ud af o [i] -værdierne, så de kan verificeres individuelt og vedligeholde to Merkle-træer i hver blok, den ene lagrer transaktioner og den anden lagrer alle aktuelle saldi, så algoritmen behøver kun at forespørge om den aktuelle blok.

Denne tilgang løser faktisk to problemer på samme tid. For det første fjerner det incitamentet til at bruge en central pool i stedet for P2Pool. For det andet er der en igangværende krise i Bitcoin om, hvordan der er for få fulde noder; grunden til, at dette er tilfældet, er, at det er dyrt at opretholde en fuld node med sin 20 GB blockchain, og ingen ønsker at gøre det. Med denne ordning ville hver enkelt minedrift ASIC blive tvunget til at gemme hele blockchain, en tilstand, hvorfra udførelsen af ​​alle funktionerne i en fuld knude bliver triviel.

En anden strategi er et andet kryptografisk trick: Gør minedrift ikke outsourcet. Specifikt er ideen at oprette en minealgoritme sådan at når en minearbejder opretter en gyldig blok, har de altid nødvendigvis en alternativ måde at offentliggøre blokken på, der sikrer minebelønningen for sig selv. Strategien er at bruge en kryptografisk konstruktion kaldet nul-videns bevis, kryptografisk bevis for, at de oprettede en gyldig blok, men holder blokdata hemmelig, og derefter samtidig oprette en blok uden bevis for arbejde, der sender belønningen til minearbejderen. Dette ville gøre det trivielt at bedrage en minepool, hvilket gør minepuljer ikke levedygtige.

En sådan opsætning vil kræve en væsentlig ændring af Bitcoins minedriftsalgoritme og bruger kryptografiske primitiver langt mere avancerede end dem i resten af ​​Bitcoin; uden tvivl er kompleksitet i sig selv en alvorlig ulempe, og en der måske er det værd at løse alvorlige problemer som skalerbarhed, men ikke at implementere et klogt trick for at modvirke minedrift. Derudover vil det umuligt gøre problemet værre, ikke bedre, at gøre umulige bassiner umulige. Årsagen til, at der findes minepuljer, er at håndtere variansproblemet; minearbejdere er ikke villige til at købe en investering, der kun har 15 chance for at tjene noget afkast. Hvis muligheden for pooling er umulig, vil minedriftsøkonomien simpelthen centralisere sig i et mindre sæt større aktører – en opsætning, som i modsætning til nu individuelle deltagere ikke bare kan skifte væk fra. Den tidligere ordning tillader derimod stadig pooling, så længe den lokale node har den fulde blockchain og derved tilskynder til en slags pooling (nemlig p2pool), der ikke er systemisk skadelig.

En anden tilgang er mindre radikal: ændr ikke minedriftsalgoritmen overhovedet, men ændr poolingsalgoritmerne. Lige nu bruger de fleste minepuljer en udbetalingsordning kaldet “pay-per-last-N-shares” (PPLNS) – betaler minearbejdere pr. Aktie et beløb baseret på indtægterne fra de sidste par tusinde aktier. Denne algoritme opdeler i det væsentlige puljens egen varians blandt sine brugere, hvilket resulterer i ingen risiko for puljen og en lille varians for brugerne (f.eks. Ved at bruge en pool med 1 hashpower er den forventede standardafvigelse for månedlige afkast ~ 15, langt bedre end solo minelotteriet, men stadig ikke ubetydeligt). Større puljer har mindre varians, fordi de udvinder flere blokke (efter grundlæggende statistik har en pool med 4x mere minekraft en 2x mindre standardafvigelse i procent). Der er en anden ordning, kaldet PPS (pay-per-share), hvor en minepulje simpelthen betaler et statisk beløb pr. Aktie til minearbejdere; denne ordning fjerner al varians fra minearbejdere, men på bekostning af at indføre risiko i puljen; det er derfor ingen minepool gør det.

Meni Rosenfelds Multi-PPS forsøger at give en løsning. I stedet for minedrift i en pool kan minearbejdere forsøge at producere blokke, der betaler til mange puljer samtidigt (f.eks. 5 BTC til en pool, 7 BTC til en anden, 11,5 BTC til en tredje og 1,5 BTC til en fjerde), og puljerne vil betale minearbejderen for aktier forholdsmæssigt (f.eks. i stedet for at en pulje betaler 0,024 BTC pr. aktie, betaler den første pulje 0,0048, den anden 0,00672, den tredje 0,01104 og den fjerde 0,00144). Dette gør det muligt for meget små puljer kun at acceptere minearbejdere, der giver dem meget små belønninger, så de kan påtage sig et risikoniveau, der er proportionalt med deres økonomiske kapacitet. For eksempel, hvis pool A er 10 gange større end pool B, kan pool A muligvis acceptere blokke med output til dem op til 10 BTC, og pool B accepterer muligvis kun 1 BTC. Hvis man foretager beregningerne, kan man se, at det forventede afkast for pulje B er nøjagtigt ti gange, hvad pulje A får under alle omstændigheder, så pulje B har ingen særlig superlinear fordel. I et enkelt PPS-scenarie ville den mindre B derimod have 3,16 gange højere risiko sammenlignet med sin formue.

Problemet er, i hvilket omfang er problemet virkelig på grund af varians, og i hvilket omfang er det noget andet, som bekvemmelighed? Sikker på, at en 1 minepulje får 15 månedlige standardafvigelser i afkastet. Imidlertid ser alle minepuljer noget i retning af en 40 månedlig standardafvigelse i deres afkast simpelthen på grund af den ustabile BTC-pris. Forskellen mellem 15 standardafvigelser og 2 standardafvigelser synes stor og en tvingende grund til at bruge den største pool; forskellen mellem 42 og 55 ikke så meget. Så hvilke andre faktorer kan påvirke minepuljecentralisering? En anden faktor er det faktum, at puljer nødvendigvis “hører” om deres egne blokke med det samme og alle andres blokke efter en vis forsinkelse i netværket, så større pools vil minedrift på forældede blokke sjældnere; dette problem er kritisk for blockchains med en tid på ti sekunder, men i Bitcoin er effekten mindre end 1 og dermed ubetydelig. En tredje faktor er bekvemmelighed; dette kan bedst løses ved at finansiere en brugervenlig open source-make-your-own minedrift-pool-løsning i en lignende ånd som den software, der bruges af mange små VPS-udbydere; hvis det anses for vigtigt, kan det være, at vi ender med at finansiere en netværksagnostisk version af en sådan indsats. Den sidste faktor, der stadig er tilbage, er dog, at GHash ikke har noget gebyr; snarere opretholder puljen sig selv gennem sin forbindelse til ASIC cloud-mineselskab CEX.io, der kontrollerer 25 af sin hashpower. Således, hvis vi virkelig vil komme ned til bunden af ​​centraliseringsproblemet, er vi muligvis nødt til at se på ASIC’er selv.

ASIC’er

Oprindeligt var Bitcoin minedrift beregnet til at være en meget egalitær stræben. Millioner af brugere over hele verden ville alle udvinde Bitcoin på deres desktops, og resultatet ville samtidig være en distributionsmodel, der er meget egalitær og bredt spreder den oprindelige BTC-forsyning og en konsensusmodel, der inkluderer tusindvis af interessenter, der næsten udelukker enhver mulighed for hemmeligt samarbejde. Oprindeligt fungerede ordningen og sikrede, at de første par millioner bitcoins blev bredt spredt blandt mange tusinder af brugere, inklusive selv de normalt kontantfattige gymnasieelever. I 2010 kom imidlertid fremkomsten af ​​minesoftware til GPU’en (“grafikbehandlingsenhed”), der udnyttede GPU’s massive parallelisering for at opnå 10-100x speedups og gøre CPU-minedrift fuldstændig urentabel inden for måneder. I 2013 tog specialiseringen en yderligere drejning med fremkomsten af ​​ASIC’er. ASIC’er eller applikationsspecifikke integrerede kredsløb er specialiserede minedriftchips produceret med et enkelt formål: at skrue så mange SHA256-beregninger ud som muligt for at udvinde Bitcoin-blokke. Som et resultat af denne specialisering får ASIC’er yderligere 10-100x hastighed over GPU’er, hvilket også gør GPU-minedrift urentabel. Nu er den eneste måde at mine på enten at starte et ASIC-firma eller købe et ASIC fra et eksisterende.

Den måde, ASIC-virksomhederne arbejder på, er enkel. For det første starter virksomheden op, laver en minimal mængde opsætningsarbejde og regner ud sin plan og begynder at tage forudbestillinger. Disse forudbestillinger bruges derefter til at finansiere udviklingen af ​​ASIC, og når ASIC’erne er klar, sendes enhederne til brugerne, og virksomheden begynder at producere og sælge mere i et jævnt tempo. ASIC-fremstillingen sker i en rørledning; der er en type fabrik, der producerer chips til ASIC’er, og derefter en anden, mindre sofistikeret drift, hvor chipsene sammen med standarddele som printkort og blæsere sættes sammen i komplette kasser, der skal sendes til købere.

Så hvor efterlader dette os? Det er indlysende, at ASIC-produktionen er temmelig centraliseret; der er noget, der ligner 10-30 virksomheder, der fremstiller disse enheder, og hver af dem har et betydeligt niveau af hashpower. Imidlertid forstod jeg ikke, hvor centraliseret ASIC-produktion er, før jeg besøgte denne beskedne lille bygning i Shenzhen, Kina:

På tredje sal på fabrikken ser vi:

Hvad vi har på det første billede er omkring 150 minearbejdere på hver 780 GH / s, hvilket udgør i alt 120 TH / s af minearbejdere – mere end 0,1 af den samlede netværkshashkraft – alt sammen ét sted. Det andet billede viser kasser, der indeholder yderligere 150 TH / s. Alt i alt producerer fabrikken lidt mere end summen af ​​disse to mængder – ca. 300 TH / s – hver eneste dag. Se nu på dette diagram:

I alt vinder Bitcoin-netværket cirka 800 TH / s hver dag. Sågar selv tilføjelse af nogle sikkerhedsfaktorer og forudsat, at fabrikken lukker nogle dage om ugen, hvad vi har, er en enkelt fabrik, der producerer over en fjerdedel af al ny hashkraft, der føjes til Bitcoin-netværket. Nu er bygningen lidt stor, så gæt hvad der er på første sal? Det er rigtigt, et fabrikationsanlæg, der producerer Scrypt ASIC’er svarende til en fjerdedel af al ny hashpower tilføjet til Litecoin-netværket. Dette projekterer et billede af et skræmmende slutspil for Bitcoin: Bitcoin-netværket bruger millioner af dollars elektricitet hvert år kun for at erstatte den amerikanske dollars minedriftsalgoritme af “8 hvide fyre” med et par dusin fyre i Shenzhen.

Inden vi bliver for alarmerende over fremtiden for minedrift, er det vigtigt at grave ned og forstå (1) hvad der er galt med ASIC’er, (2) hvad der er okay med CPU’er, og (3) hvad fremtiden for ASIC-minedrift vil ligner. Spørgsmålet er mere komplekst, end det ser ud til. Først og fremmest kan man spørge, hvorfor er det dårligt, at ASIC’er kun produceres af få virksomheder, og en fjerdedel af dem passerer gennem en fabrik? CPU’er er også stærkt centraliserede; integrerede kredsløb produceres kun af et lille antal virksomheder, og næsten alle computere, som vi bruger, har i det mindste nogle komponenter fra AMD eller Intel. Svaret er, at selvom AMD og Intel producerer CPU’erne, styrer de ikke, hvad der køres på dem. De er almindelige enheder, og der er ingen måde for producenterne at oversætte deres kontrol over fremstillingsprocessen til nogen form for kontrol over brugen af ​​den. DRM-ladede “pålidelige computermoduler” eksisterer, men det er meget vanskeligt at forestille sig, at sådan en ting bruges til at tvinge en computer til at deltage i et dobbelt-forbrugsangreb.

Med ASIC-minearbejdere er tingene lige nu stadig ikke så dårlige. Selvom ASIC’er kun produceres i et lille antal fabrikker, kontrolleres de stadig af tusindvis af mennesker over hele verden i forskellige datacentre og hjem, og individuelle minearbejdere, der hver især har mindre end et par teraskader, har evnen til at dirigere deres hashkraft, hvor end de har brug for. Snart kan det dog ændre sig. Om en måneds tid, hvad nu hvis producenterne indser, at det ikke giver økonomisk mening for dem at sælge deres ASIC’er, når de kan installere, skal de blot opbevare alle deres enheder i et centrallager og tjene den fulde indtægt? Forsendelsesomkostninger vil falde til næsten nul, forsinkelsesforsinkelser vil falde (en uges forsinkelsesforsinkelse svarer til ~ 5,6 omsætningstab ved nuværende hashpower-vækstrater), og der er ikke behov for at producere stabile eller smukke omslag. I dette scenarie ville det ikke kun være 25 af alle ASIC’er, der produceres af en fabrik i Shenzhen; det ville være 25 af al hashkraft, der løber tør for en fabrik i Shenzhen.

Da jeg besøgte hovedkvarteret for et firma i Hangzhou, der blandt andet er involveret i Litecoin-minedrift, spurgte jeg grundlæggerne det samme spørgsmål: hvorfor holder du ikke bare minearbejdere internt? De gav tre svar. For det første interesserer de sig for decentralisering. Dette er let at forstå, og det er meget heldigt, at så mange minearbejdere har det sådan indtil videre, men i sidste ende vil minedrift blive udført af virksomheder, der bekymrer sig lidt mere om monetær fortjeneste og mindre om ideologi. For det andet har de brug for forudbestillinger for at finansiere virksomheden. Rimeligt, men løst ved at udstede “minekontrakter” (i det væsentlige kryptoaktiver, der udbetaler udbytte svarende til et specifikt antal GH / s minekraft). For det tredje er der ikke nok elektricitet og plads i lagrene. Det sidste argument, så spændende som det ser ud til, er muligvis det eneste, der holder vand på lang sigt; det er også den erklærede grund til, at ASICminer stoppede minedrift rent internt og begyndte at sælge USB-minearbejdere til forbrugere, hvilket tyder på, at der måske er en stærk og universel begrundelse bag en sådan beslutning.

Hvis vi antager, at finansieringsstrategierne ved salg af forudbestillinger og salg af minekontrakter er økonomisk ækvivalente (som de er), er ligningen til at bestemme, om intern minedrift eller salg giver mere mening, som følger:

På venstre side har vi omkostningerne ved intern minedrift: elektricitet, opbevaring og vedligeholdelse. På højre side har vi omkostningerne ved elektricitet, opbevaring og vedligeholdelse eksternt (dvs. i købers hænder), forsendelse og straffen fra at skulle starte med at køre ASIC senere, samt en negativ faktor for at tage højde for, at nogle miner i det mindste delvist for sjov og ud fra et ideologisk ønske om at støtte netværket. Lad os analysere disse tal lige nu. Vi bruger Butterfly Labs Monarch som et eksempel, og hold hver ASIC kørende i et år for enkelhedens skyld.

  • Intern elektricitet, opbevaring, vedligeholdelse – ifølge BFL’s kasseside koster intern elektricitet, opbevaring og vedligeholdelse $ 1512 om året, hvilket vi markerer ned til $ 1000, forudsat at BFL tager noget overskud
  • Ekstern elektricitet – i Ontario er priserne ca. $ 0,1 pr. KWH. En Butterfly Labs Monarch kører 600 GH / s ved 350 W; normaliserer dette til per TH, betyder det en elomkostning på $ 1,40 pr. dag eller $ 511 for hele året
  • Ekstern lagring – derhjemme kan man overveje opbevaring gratis, eller man kan tilføje et gebyr på 1 $ pr. Dag derfor vil vi sige et sted fra $ 0 til $ 365
  • Ekstern vedligeholdelse – svært at kvantificere denne værdi for teknisk dygtige personer, der nyder udfordringen, er det nul, og for andre kan det være svært; derfor kan vi sige $ 0 til $ 730
  • Forsendelsesomkostninger – ifølge BFL, $ 38.
  • Omsætning – i øjeblikket giver 1 TH / s dig 0,036 BTC eller $ 21,6 pr. Dag. Da hashpower i vores analyse fordobles hver 90. dag, så effektiviteten af ​​ASIC halveres hver 90. dag, får vi 122 dages levetid eller $ 2562 indtægter
  • Forsendelsestid – ifølge mine kinesiske kilder, en uge
  • Hashpower fordoblingstid – tre måneder. Derfor er hele udtrykket for forsinkelsesstraffen 2562 * (1 – 0,5 ^ 0,0769) = 133,02
  • Hobbyist / ideologipræmie – i øjeblikket gør en stor del af Bitcoin minearbejdere det ud fra ideologiske overvejelser, så vi kan sige alt fra $ 0 til $ 1000

Således tilføjer det hele op til venstre har vi $ 1000, og til højre har vi $ 511 + $ 38 + $ 133 = $ 682, op til plus $ 1095 og minus op til $ 1000. Således er det helt tvetydigt, hvilken der er bedre; fejl i min analyse og de nebuløse variabler for, hvor meget mennesker værdsætter deres tid og æstetik, synes at opveje nogen konkrete konklusioner. Men hvad vil der ske i fremtiden? Grundlæggende kan man forvente, at elektricitet, opbevaring og vedligeholdelse ville være meget billigere centralt end hos hver enkelt forbruger simpelthen på grund af stordriftsfordele og gevinster ved specialisering; derudover er de fleste mennesker i den “virkelige verden” ikke altruister, hobbyister eller beundrere af smukke ASIC-belægninger. Forsendelsesomkostninger er over nul, og forsinkelsesbøden for forsendelse er over nul. Så således ser det ud til, at økonomien runde favoriserer centraliseret minedrift …

… bortset fra en potentiel faktor: varme. Lige nu er ASIC’er stadig i en hurtig udviklingsfase, så langt størstedelen af ​​omkostningerne er hardware; BFL-minearbejderen brugt i ovenstående eksempel koster $ 2200, men elen koster $ 511. I fremtiden vil udviklingen dog være meget langsommere; i sidste ende kan vi forvente en konvergens til Moores lov, hvor hashkraft fordobles hvert andet år, og selv Moores lov i sig selv ser ud til at blive aftagende. I en sådan verden kan elomkostninger komme tilbage som det primære chokerpunkt. Men hvor meget koster elektricitet? I et centraliseret lager, en hel del, og kvadrat-terning lov garanterer, at der i et centraliseret miljø skal bruges mere energi end derhjemme til køling, fordi alle minearbejdere er ét sted, og de fleste af dem er for dybt inde i fabrikken til at blive udsat for kølig frisk luft. I et hjem er udgifterne til elektricitet imidlertid nul, hvis udetemperaturen er mindre end ca. 20’C; al elektricitet brugt af minearbejderen bliver til sidst nødvendigvis til “spild” varme, som derefter varmer hjemmet og erstatter elektricitet, som en centralvarmer bruger. Dette er det eneste argument for, hvorfor ASIC-decentralisering kan fungere: i stedet for at decentralisering sker, fordi alle har en vis mængde ubrugt og derved gratis enheder af beregningstid på deres bærbare computer, sker decentralisering, fordi mange mennesker har en vis mængde efterspørgsel efter opvarmning i deres hjem.

Vil dette ske? Mange Bitcoin-tilhængere synes overbeviste om, at svaret er ja. Jeg er dog ikke sikker; det er et helt empirisk spørgsmål, om el-omkostningerne er mindre end vedligeholdelse plus opbevaring plus forsendelse plus forsinkelsesbøde, og om ti år kan ligningen godt falde på den ene eller den anden side. Jeg er personligt ikke villig til blot at læne mig tilbage og håbe på det bedste. Dette er grunden til, at jeg personligt finder det skuffende, at så mange af de centrale Bitcoin-udviklere (dog heldigvis ikke næsten alle) er tilfredse med at betragte beviset på arbejdsproblemet som “løst” eller argumentere for, at forsøg på at løse minedrift er en handling af “Unødvendig ombygning”. Det kan vise sig at være, eller måske ikke, men det faktum, at vi først har denne diskussion, antyder kraftigt, at Bitcoins nuværende tilgang er meget langt fra perfekt.

ASIC-modstand

Løsningen på ASIC-problemet, der oftest udråbes, er udviklingen af ​​ASIC-resistente minealgoritmer. Indtil videre har der været to tanker i udviklingen af ​​sådanne algoritmer. Den første er hukommelseshårdhed – reducering af ASICs styrke til at opnå massive gevinster gennem parallelisering ved hjælp af en funktion, der tager en meget stor mængde hukommelse. Samfundets første forsøg var Scrypt, som viste sig ikke at være resistent nok; i januar forsøgte jeg at forbedre Scrypt’s hukommelseshårdhed med Dagger, en algoritme, der er hukommelseshård at beregne (i et omfang på 128 MB), men let at kontrollere; denne algoritme er imidlertid sårbar over for delt hukommelsesangreb, hvor et antal parallelle processer kan få adgang til de samme 128 MB hukommelse. Den nuværende avancerede i hukommelseshård PoW er Gøg, en algoritme, der ser efter længde-42 cyklusser i grafer. Det kræver en stor mængde hukommelse for effektivt at finde sådanne cyklusser, men en cyklus er meget hurtig at verificere, hvilket kræver 42 hashes og mindre end 70 bytes hukommelse.

Den anden tilgang er noget anderledes: Opret en mekanisme til at generere nye hashfunktioner og gør pladsen til funktioner, som den genererer så stor, at den slags computer, der er bedst egnet til behandling af dem, pr. Definition er fuldstændig generaliseret, dvs. en CPU. Denne tilgang er tæt på at være “beviseligt ASIC-resistent” og dermed mere fremtidssikker, snarere end at fokusere på specifikke aspekter som hukommelse, men også den er ufuldkommen; der vil altid være mindst nogle dele af en CPU, der viser sig at være fremmed i en sådan algoritme og kan fjernes for effektivitet. Imidlertid er søgen ikke efter perfekt ASIC-modstand; snarere er udfordringen at opnå det, vi kan kalde ”økonomisk ASIC-modstand” – at opbygge en ASIC burde ikke være det værd.

Dette er faktisk overraskende sandsynligt, at det kan opnås. For at se hvorfor skal du bemærke, at mineproduktion pr. Brugt dollar er for de fleste mennesker sublinear. De første N enheder med minedrift er meget billige at producere, da brugerne simpelthen kan bruge den eksisterende ubrugte beregningstid på deres desktops og kun betale for elektricitet (E). Går ud over N-enheder, skal man dog betale for både hardware og elektricitet (H + E). Hvis ASIC’er er mulige, så længe deres hastighed over råvarehardware er mindre end (H + E) / E, vil det selv i et ASIC-holdigt økosystem være rentabelt for folk at bruge deres elminedrift på deres desktops. Dette er det mål, som vi ønsker at stræbe efter; om vi kan nå det eller ej er helt ukendt, men da kryptokurrency som helhed er et massivt eksperiment, skader det under alle omstændigheder ikke at prøve.