•två år
Vad är decentraliserad lagring?: En djupdykning av Filecoin?
Innehållsförteckning Definition Introduktion till decentraliserad lagring Grundläggande egenskaper hos decentraliserad lagring Önskvärda egenskaper hos decentraliserad lagring Fallstudie: Hur Filecoin inkarnerar dessa egenskaper Summering DefinitionDecentraliserade lagringssystem delar lagringsansvaret bland många oberoende operatörer som bildar ett enda lagringsnätverk.Introduktion till decentraliserad lagringModern datateknik är högt centraliserad. Under det senaste decenniet har några enorma molnföretag tjänat enorma summor genom att dela upp traditionella datorsystem i kompartmentaliserade, molnbaserade erbjudanden. Den moderna webben återspeglar denna centralisering — när en av dessa leverantörer har en driftstopp, blir det en stor internet händelse. (Om du inte tror oss, vill vi påminna dig om Amazons webbserver-avbrott 2017, GitHubs utdragna avbrott i juni 2020 eller Microsofts flera veckors problem med molntjänster i oktober 2020.) Det innehåll vi hostar på dessa tjänster är inte bättre, gömt bakom sköra länkar som alltför ofta bryts. Detta har djupa konsekvenser för de datorsystem vi bygger och för samhällen som alltmer förlitar sig på dem.Centraliserade arkitekturer har varit framgångsrika delvis för att de är lättare att bygga. För att motverka konsolidering behöver utvecklare grundläggande nya byggstenar som är lika lätta att komponera. Decentraliserad lagring är en sådan grundsten som fungerar som en förutsättning för en mer distribuerad webb.Grundläggande egenskaper hos decentraliserad lagringDet finns många olika sätt att designa ett decentraliserat lagringssystem. I allmänhet betonar de gemensamma egenskaper som motståndskraft och effektivitet.MotståndskraftDen moderna internet är skrämmande bräcklig. Webbinnehåll sitter idag bakom URL:er, var och en tillhörande en enda definitiv server vid varje given tidpunkt. Om den leverantören faller bort från nätverket av någon anledning blir det innehåll som det pekade på otillgängligt. Centralisering ökar detta effekt, skapar enskilda punkter av misslyckande och ger bekväma möjligheter för censur.Som ett resultat är länkröta (precis vad det låter som, när en länk är brutet eller permanent otillgänglig) allt förekommande i dagens internet, statlig censur är okomplicerad och distribuerade denial-of-service-attacker kan störa tillgång till nästan vilken fil som helst.I ett idealiskt decentraliserat system bör förlusten av en operatör inte förhindra åtkomst till det innehåll som tidigare var lagrat och levererat. Genom att sprida ansvar över många noder i ett nätverk har decentraliserade system också ett naturligt motstånd mot censur och andra försök till denial-of-service eftersom det inte finns någon centraliserad måltavla mot vilken angripare kan massera resurser.Ett återkommande exempel på hur centraliserade lagringssystem kan vara mottagliga för censur är vad som hände när Katalonien (en av Spaniens 17 autonoma regioner) höll en folkomröstning om självständighet. Den spanska regeringen — som motsatte sig självständighetsplanerna — blockade webbplatser med röstinformat på ISP-nivå. Genom att avbryta dessa kritiska länkar förhindrade regeringen effektivt många individer att komma åt denna information.Men många av dessa webbplatser var också speglade med hjälp av Interplanetary File System (IPFS), ett peer-to-peer lagringnätverk. Alla som kör en IPFS nod kunde ladda ner den censurerade informationen från andra noder i nätverket och börja dela den själva. IPFS decentraliserade natur motverkade den spanska regeringens försök att blockera åtkomst till dessa dokument — så snart en nod var blockerad, kunde en annan enkelt ersätta den. I allmänhet gör decentraliserade lagringssystem nätverksnivåblockering mycket svårare.EffektivitetAlla datorsystemsarkitekturer har vissa styrkor och vissa svagheter, och ingen enskild lösning passar alla möjliga användningsområden. Tyvärr är det moderna webbens fokus på centralisering inte annorlunda.Idag lagras det mesta innehållet på ett fåtal centraliserade datacenter i ett fåtal städer över hela världen. Om två användare på samma nätverk vill skicka meddelanden med varandra, till exempel, kommer dessa meddelanden normalt att gå till ett av dessa datacenter först. Om hundra användare är i ett rum och tittar på samma video på sina enheter, kommer de att nå en central server och ladda ner hundra kopior parallellt, istället för att ladda ner en enda kopia och dela den över det lokala nätverket.På enklaste sätt gör decentraliserad lagring det enklare att dela filer utan att skicka förfrågningar över hela internet till ett fåtal datacenter. Istället etablerar noder anslutningar med varandra med så få mellanhänder som möjligt. Att ansluta sig till noder i andra länder, till exempel, kommer fortfarande att kräva flera hopp, men noder på samma nätverk kan dela filer direkt. Det övergripande målet för decentraliserade lagringssystem skulle vara att ha så många noder att alla kan hitta relativt lokala jämlikar för den information de letar efter.Decentraliserade lagringslösningar kan införa grundläggande nya effektiviteter i sådana aktiviteter. Genom att kringgå spridda datacenter kan ett distribuerat system placera noder betydligt närmare slutanvändare än även moderna innehållsleveransnätverk, vilket resulterar i betydligt snabbare filåtkomst. Peer-to-peer-fildelning över lokala nätverk kan också spara värdefull bandbredd, särskilt på platser med begränsad tillgång till det bredare internet.Önskvärda egenskaper hos decentraliserad lagringMedan motståndskraft och effektivitet är kännetecken för decentraliserad lagring, finns det ett antal ytterligare egenskaper som ett idealiskt lagringssystem kanske skulle erbjuda:ÅtkomstbarEtt idealiskt distribuerat system bör vara åtkomstbart. Deltagande i nätverket bör vara enkelt, vilket gör att så många noder som möjligt kan lagra och distribuera filer på nätverkets vägnar.Om du läser detta och undrar — kan jag vara en nod? Svaret är: det beror på. Med Filecoin bör en relativt teknisk kunnig individ kunna köra en klientnod för att interagera med nätverket. När det gäller att köra lagringsmineringsnoder (se nedan för mer information) är det inte något som alla och deras mamma kan göra — du måste ha hårdvara som uppfyller vissa specifikationer.I fallet med IPFS har noder lägre krav på hårdvara, vilket innebär att det är möjligt för många fler användare att bidra till nätverket genom att köra en nod (kanske genom att köra en webbläsare som redan innehåller en inbyggd).ProgrammerbarMolnbaserade tjänsteleverantörer har gjort billig och pålitlig lagring enklare än någonsin att arbeta med. En stor del av deras framgång är förmågan att tillhandahålla och hantera lagring genom kod via API:er. En konkurrerande system bör kunna erbjuda samma grad av bekvämlighet.InnehålladresseringSom diskuterats, innebär URL:er vissa inneboende designavvägningar. De beskriver platsen för data, snarare än dess innehåll.För att förklara hur centraliserade system kan göra det svårt att hitta en bit data — tänk dig att du vill ladda ner en bild på en fluffig katt. Tänk på dessa två URL:er:https://example1.com/cat.jpeghttps://example2.com/cat.jpegVarje URL refererar till en fil med namnet cat.jpeg, men det finns ingen garanti för att dessa två filer är desamma. Om example1.com går offline kan du inte vara säker på att example2.com har det du letar efter — dess cat.jpeg kan vara helt annorlunda. Faktum är att det kan till och med vara en bild på en hund! Det finns inget naturligt förhållande mellan en URL och innehållet den refererar till.På grund av detta finns det inget sätt för dig att fråga internet idag, "Har någon där ute denna fil?" eftersom du inte vet något om filen förutom dess plats.När du delar filer med hjälp av en URL kan saker gå fel. Servern kan börja leverera en annan fil från den URL-adressen, eller någon kan utföra en (förvånansvärt inte så sällsynt) man-in-the-middle attack och ändra filen. Det är mycket svårt att verifiera att alla som får tillgång till URL:en får filen de ville ha.Innehålladressering, däremot, hittar filer baserat på innehållsidentifierare (CIDs), vilka fungerar som digitala fingeravtryck för filer. Att adressera filer på detta sätt löser många problem med platsadressering. När en klient vill ha en fil, istället för att fråga en server efter en URL frågar de noder i nätverket efter en fil med ett specifikt CID. När klienten laddar ner filen skapar de sitt eget fingeravtryck.För att återbesöka vårt tidigare exempel, skulle det vara som om alla webbplatser hade en gemensam förståelse för vilken fil som ska levereras när de frågar efter cat.jpeg. Så även om det inte är en garanti att någon nod har just den cat.jpeg, kommer noderna att köra en kontroll för den filens fingeravtryck för att försöka hitta en matchning. Medan ett steg som fingeravtryckning är något som kräver mer teknisk kunskap än genomsnittspersonen skulle vilja hantera, kan Filecoin- och IPFS-klienter enkelt automatisera den här processen. Det låter klienten garantera att de har fått filen de begärde — i detta system är det trivialt att hitta alternativa leverantörer av en bit data. Det huvudsakliga syftet: CIDs innebär att du kan hitta innehåll som annars skulle saknas i ett centraliserat system, och CIDs kan också förhindra man-in-the-middle-attacker eller en server som plötsligt ändrar en fil på en specifik URL.TrustlessEtt trustless system möjliggör samarbete mellan två parter utan att de behöver känna varandra eller vända sig till en tredje part. Istället driver systemets incitament aktörerna mot den beteende som krävs för att nätverket ska fungera.VerifierbarEtt idealiskt lagringssystem bör göra det enkelt att kontinuerligt bevisa att noder lagrar exakt den data de har lovat. Den här typen av granskning är avgörande för att uppnå trustlessness. Om du alltid kan fastställa att data lagras korrekt har du mindre behov av att lita på partiet som tillhandahåller lagringen.ÖppenTill slut är ett idealiskt distribuerat lagringssystem öppet: dess kod är öppen källkod och granskbar. Dessutom ska lagringssystemet inte vara monolitiskt. Istället bör
Innehållsförteckning Definition Introduktion till decentraliserad lagring Grundläggande egenskaper hos decentraliserad lagring Önskvärda egenskaper hos decentraliserad lagring Fallstudie: Hur Filecoin inkarnerar dessa egenskaper Summering DefinitionDecentraliserade lagringssystem delar lagringsansvaret bland många oberoende operatörer som bildar ett enda lagringsnätverk.Introduktion till decentraliserad lagringModern datateknik är högt centraliserad. Under det senaste decenniet har några enorma molnföretag tjänat enorma summor genom att dela upp traditionella datorsystem i kompartmentaliserade, molnbaserade erbjudanden. Den moderna webben återspeglar denna centralisering — när en av dessa leverantörer har en driftstopp, blir det en stor internet händelse. (Om du inte tror oss, vill vi påminna dig om Amazons webbserver-avbrott 2017, GitHubs utdragna avbrott i juni 2020 eller Microsofts flera veckors problem med molntjänster i oktober 2020.) Det innehåll vi hostar på dessa tjänster är inte bättre, gömt bakom sköra länkar som alltför ofta bryts. Detta har djupa konsekvenser för de datorsystem vi bygger och för samhällen som alltmer förlitar sig på dem.Centraliserade arkitekturer har varit framgångsrika delvis för att de är lättare att bygga. För att motverka konsolidering behöver utvecklare grundläggande nya byggstenar som är lika lätta att komponera. Decentraliserad lagring är en sådan grundsten som fungerar som en förutsättning för en mer distribuerad webb.Grundläggande egenskaper hos decentraliserad lagringDet finns många olika sätt att designa ett decentraliserat lagringssystem. I allmänhet betonar de gemensamma egenskaper som motståndskraft och effektivitet.MotståndskraftDen moderna internet är skrämmande bräcklig. Webbinnehåll sitter idag bakom URL:er, var och en tillhörande en enda definitiv server vid varje given tidpunkt. Om den leverantören faller bort från nätverket av någon anledning blir det innehåll som det pekade på otillgängligt. Centralisering ökar detta effekt, skapar enskilda punkter av misslyckande och ger bekväma möjligheter för censur.Som ett resultat är länkröta (precis vad det låter som, när en länk är brutet eller permanent otillgänglig) allt förekommande i dagens internet, statlig censur är okomplicerad och distribuerade denial-of-service-attacker kan störa tillgång till nästan vilken fil som helst.I ett idealiskt decentraliserat system bör förlusten av en operatör inte förhindra åtkomst till det innehåll som tidigare var lagrat och levererat. Genom att sprida ansvar över många noder i ett nätverk har decentraliserade system också ett naturligt motstånd mot censur och andra försök till denial-of-service eftersom det inte finns någon centraliserad måltavla mot vilken angripare kan massera resurser.Ett återkommande exempel på hur centraliserade lagringssystem kan vara mottagliga för censur är vad som hände när Katalonien (en av Spaniens 17 autonoma regioner) höll en folkomröstning om självständighet. Den spanska regeringen — som motsatte sig självständighetsplanerna — blockade webbplatser med röstinformat på ISP-nivå. Genom att avbryta dessa kritiska länkar förhindrade regeringen effektivt många individer att komma åt denna information.Men många av dessa webbplatser var också speglade med hjälp av Interplanetary File System (IPFS), ett peer-to-peer lagringnätverk. Alla som kör en IPFS nod kunde ladda ner den censurerade informationen från andra noder i nätverket och börja dela den själva. IPFS decentraliserade natur motverkade den spanska regeringens försök att blockera åtkomst till dessa dokument — så snart en nod var blockerad, kunde en annan enkelt ersätta den. I allmänhet gör decentraliserade lagringssystem nätverksnivåblockering mycket svårare.EffektivitetAlla datorsystemsarkitekturer har vissa styrkor och vissa svagheter, och ingen enskild lösning passar alla möjliga användningsområden. Tyvärr är det moderna webbens fokus på centralisering inte annorlunda.Idag lagras det mesta innehållet på ett fåtal centraliserade datacenter i ett fåtal städer över hela världen. Om två användare på samma nätverk vill skicka meddelanden med varandra, till exempel, kommer dessa meddelanden normalt att gå till ett av dessa datacenter först. Om hundra användare är i ett rum och tittar på samma video på sina enheter, kommer de att nå en central server och ladda ner hundra kopior parallellt, istället för att ladda ner en enda kopia och dela den över det lokala nätverket.På enklaste sätt gör decentraliserad lagring det enklare att dela filer utan att skicka förfrågningar över hela internet till ett fåtal datacenter. Istället etablerar noder anslutningar med varandra med så få mellanhänder som möjligt. Att ansluta sig till noder i andra länder, till exempel, kommer fortfarande att kräva flera hopp, men noder på samma nätverk kan dela filer direkt. Det övergripande målet för decentraliserade lagringssystem skulle vara att ha så många noder att alla kan hitta relativt lokala jämlikar för den information de letar efter.Decentraliserade lagringslösningar kan införa grundläggande nya effektiviteter i sådana aktiviteter. Genom att kringgå spridda datacenter kan ett distribuerat system placera noder betydligt närmare slutanvändare än även moderna innehållsleveransnätverk, vilket resulterar i betydligt snabbare filåtkomst. Peer-to-peer-fildelning över lokala nätverk kan också spara värdefull bandbredd, särskilt på platser med begränsad tillgång till det bredare internet.Önskvärda egenskaper hos decentraliserad lagringMedan motståndskraft och effektivitet är kännetecken för decentraliserad lagring, finns det ett antal ytterligare egenskaper som ett idealiskt lagringssystem kanske skulle erbjuda:ÅtkomstbarEtt idealiskt distribuerat system bör vara åtkomstbart. Deltagande i nätverket bör vara enkelt, vilket gör att så många noder som möjligt kan lagra och distribuera filer på nätverkets vägnar.Om du läser detta och undrar — kan jag vara en nod? Svaret är: det beror på. Med Filecoin bör en relativt teknisk kunnig individ kunna köra en klientnod för att interagera med nätverket. När det gäller att köra lagringsmineringsnoder (se nedan för mer information) är det inte något som alla och deras mamma kan göra — du måste ha hårdvara som uppfyller vissa specifikationer.I fallet med IPFS har noder lägre krav på hårdvara, vilket innebär att det är möjligt för många fler användare att bidra till nätverket genom att köra en nod (kanske genom att köra en webbläsare som redan innehåller en inbyggd).ProgrammerbarMolnbaserade tjänsteleverantörer har gjort billig och pålitlig lagring enklare än någonsin att arbeta med. En stor del av deras framgång är förmågan att tillhandahålla och hantera lagring genom kod via API:er. En konkurrerande system bör kunna erbjuda samma grad av bekvämlighet.InnehålladresseringSom diskuterats, innebär URL:er vissa inneboende designavvägningar. De beskriver platsen för data, snarare än dess innehåll.För att förklara hur centraliserade system kan göra det svårt att hitta en bit data — tänk dig att du vill ladda ner en bild på en fluffig katt. Tänk på dessa två URL:er:https://example1.com/cat.jpeghttps://example2.com/cat.jpegVarje URL refererar till en fil med namnet cat.jpeg, men det finns ingen garanti för att dessa två filer är desamma. Om example1.com går offline kan du inte vara säker på att example2.com har det du letar efter — dess cat.jpeg kan vara helt annorlunda. Faktum är att det kan till och med vara en bild på en hund! Det finns inget naturligt förhållande mellan en URL och innehållet den refererar till.På grund av detta finns det inget sätt för dig att fråga internet idag, "Har någon där ute denna fil?" eftersom du inte vet något om filen förutom dess plats.När du delar filer med hjälp av en URL kan saker gå fel. Servern kan börja leverera en annan fil från den URL-adressen, eller någon kan utföra en (förvånansvärt inte så sällsynt) man-in-the-middle attack och ändra filen. Det är mycket svårt att verifiera att alla som får tillgång till URL:en får filen de ville ha.Innehålladressering, däremot, hittar filer baserat på innehållsidentifierare (CIDs), vilka fungerar som digitala fingeravtryck för filer. Att adressera filer på detta sätt löser många problem med platsadressering. När en klient vill ha en fil, istället för att fråga en server efter en URL frågar de noder i nätverket efter en fil med ett specifikt CID. När klienten laddar ner filen skapar de sitt eget fingeravtryck.För att återbesöka vårt tidigare exempel, skulle det vara som om alla webbplatser hade en gemensam förståelse för vilken fil som ska levereras när de frågar efter cat.jpeg. Så även om det inte är en garanti att någon nod har just den cat.jpeg, kommer noderna att köra en kontroll för den filens fingeravtryck för att försöka hitta en matchning. Medan ett steg som fingeravtryckning är något som kräver mer teknisk kunskap än genomsnittspersonen skulle vilja hantera, kan Filecoin- och IPFS-klienter enkelt automatisera den här processen. Det låter klienten garantera att de har fått filen de begärde — i detta system är det trivialt att hitta alternativa leverantörer av en bit data. Det huvudsakliga syftet: CIDs innebär att du kan hitta innehåll som annars skulle saknas i ett centraliserat system, och CIDs kan också förhindra man-in-the-middle-attacker eller en server som plötsligt ändrar en fil på en specifik URL.TrustlessEtt trustless system möjliggör samarbete mellan två parter utan att de behöver känna varandra eller vända sig till en tredje part. Istället driver systemets incitament aktörerna mot den beteende som krävs för att nätverket ska fungera.VerifierbarEtt idealiskt lagringssystem bör göra det enkelt att kontinuerligt bevisa att noder lagrar exakt den data de har lovat. Den här typen av granskning är avgörande för att uppnå trustlessness. Om du alltid kan fastställa att data lagras korrekt har du mindre behov av att lita på partiet som tillhandahåller lagringen.ÖppenTill slut är ett idealiskt distribuerat lagringssystem öppet: dess kod är öppen källkod och granskbar. Dessutom ska lagringssystemet inte vara monolitiskt. Istället bör
https://example1.com/cat.jpe...
Show original content
4 users upvote it!
0 answers