De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven


Klik op ‘Lees de originele tekst’ aan het einde van het artikel en ga naar de ins-website om de spraakvideo ‘Let’s Rewrite the Network’ van Dominique Tal te bekijken (Chinese en Engelse ondertitels)

Dit artikel is gebaseerd op Dominique Tal [Dominic Tarr] Gepubliceerd in de vijfde jaarlijkse conferentie van de netwerkmaatschappij “Practical Wisdom Network” thema drie “gedistribueerd netwerk” keynote speech samengesteld. Het oorspronkelijke onderwerp van de lezing is “Laten we het web herschrijven”. De auteur van dit artikel, Dominique Tal, is de oprichter van het gedecentraliseerde roddelplatform “Scuttlebutt”.

(De volledige tekst is ongeveer 5600 woorden)

**
**

**
**

Laten we het netwerk herschrijven

Tekst:[新西兰] Dominique Tal [Dominic Tarr]

Vertaling: Zhang Jinhui

Bewerken en proeflezen: Jade

Samenvatting: Internet is bij ons al bijna 30 jaar in ontwikkeling, en de populariteit en complexiteit worden ook met de dag groter. Tot nu toe hebben we al veel kennis over het netwerk. Ik denk dat we genoeg bezit hebben verzameld, zodat we eenvoudig kunnen terugkijken op alles wat er is gebeurd sinds de geboorte van internet. Nu, wat als we beginnen met een eenvoudige programmeertool zoals Scratch? In deze lezing zal ik hierover enkele gedachten delen.

Samenvatting: Het web bestaat bijna drie decennia bij ons, en het is in die tijd enorm geëvolueerd. Het is ook enorm gegroeid in complexiteit. In die tijd hebben we veel geleerd. Ik denk dat we nu genoeg ervaring hebben om op alles terug te kijken dat is in computers gebeurd sinds het internet begon en het aanzienlijk vereenvoudigen. Dus, hoe zou het zijn als we nu net helemaal opnieuw begonnen? Ik heb enkele ideeën en zal deze met u delen.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

De auteur van dit artikel, Dominic Tarr, op de 5e jaarlijkse Network Society Conference

Hallo allemaal, het onderwerp van mijn toespraak vandaag is “Rewriting the Network”. Hoewel de host mijn naam vaak heeft genoemd, wil ik toch mijn contactgegevens invoeren – je kunt zoeken naar “Dominic Tarr” op internet om mij te vinden, ik heb een nieuwe Github-startpagina gemaakt; behalve dat. Bovendien heb ik veel JavaScript-modules, en u kunt ook contact met mij opnemen via deze URL’s.

“Rewriting the Web” is een project geïnitieerd door Scuttlebutt. Scuttlebutt is een beveiligde peer-to-peer (p2p) -database die gegevens kan uitvoeren die door de volgers van gebruikers worden gepusht. Dit lijkt sterk op hoe het sociale zoeknetwerk werkt: gebruikers kunnen pushberichten met anderen delen en verschillende applicaties bouwen. Toen ik Scuttlebutt deed, kwam er altijd een idee bij me op, dat wil zeggen, ik hoop dat dit systeem altijd veilig zal blijven; dit vereist een sandbox-systeem waarmee gebruikers er applicaties in kunnen bouwen en implementeren. Op deze manier kunnen gebruikers applicaties maken via Scuttlebutt, of er applicaties op laden.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Logo van de homepage van Scuttlebutt (Scuttlebutt: https://scuttlebutt.nz )

Hoewel het zich nog in de conceptfase bevindt, ben ik ervan overtuigd dat we een nieuwe en veiligere Scuttlebutt moeten maken, vooral om op basis van onze eerdere resultaten enkele verbeteringen aan te brengen. Bijvoorbeeld het implementeren van een point-to-point-protocol terwijl het beveiligingsniveau opnieuw wordt opgebouwd. Daarom noem ik dit project geen sandbox van beveiligingsschilden, maar “herschrijf het netwerk”. ‘Herschrijven’ betekent ‘alles omverwerpen en opnieuw beginnen’. Niet alleen voor peer-to-peer-systemen, maar ook voor andere zaken, zoals netwerkbesturingssystemen. Het bestaande netwerk bestaat al meer dan 30 jaar en we weten al wat de betere ontwikkelingsrichting is. Ik wil de repetitieve dingen niet doen, maar ik wil nieuwe dingen creëren.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

De netwerken van tegenwoordig hebben veel overtollige (bloats) die te complex en eigenlijk niet nodig zijn. HTML-specificatie kan het saaiste deel van internet worden genoemd, het heeft 1312 pagina’s. Het is denkbaar dat er maar heel weinig mensen zijn die de volledige tekst hebben gelezen en echt begrijpen hoe deze dingen werken. Maar zoiets als JavaScript dat veel dingen kan, is de enige uitleg op pagina 71 – zelfs als ik het niet heb gelezen, kan ik begrijpen hoe het goed werkt. Ik denk dat HTML met meer dan duizend pagina’s beschrijving onaanvaardbaar is, om nog maar te zwijgen van het feit dat er naast de beschrijving veel opgeblazen protocollen zoals IndexedDB op internet tegenwoordig zijn. De huidige netwerkomgeving is niet vriendelijk voor innovatie, veel dingen zijn gebundeld en de browser vormt een super monolithisch monolithisch geheel – alle leveranciers moeten een verenigd idee hebben, en elk innovatief ontwerp komt in aanmerking voor problemen. Het opnemen van webaudio (webaudio) is ook een erg opgeblazen API, die te veel onnodige dingen bevat die niet zijn verwijderd. Het is natuurlijk geen goed idee om de netwerkomgeving te veranderen door hier aanvullingen op toe te voegen; wat we echt nodig hebben is een groot aantal mensen met verschillende ideeën om apart te oefenen om te zien welke methode populair kan worden.

Hoe wordt het web vandaag gevormd? In het begin van de jaren negentig was het zogenaamde netwerk slechts een genetwerkte documentviewer. JavaScript is halverwege de jaren negentig toegevoegd en is tegenwoordig de belangrijkste codeertaal op internet. Het huidige netwerkbesturingssysteem is eigenlijk een JavaScript-applicatieplatform dat niet erg gemakkelijk te gebruiken is, niet zorgvuldig is ontworpen, maar per ongeluk is geëvolueerd. Op basis hiervan hoop ik een beter besturingssysteem te maken. Dit systeem kan enkele verenigende concepten hebben (Unifying Concepts) – naar mijn mening, naast URL’s en links (links), is het huidige netwerk een gebrek aan eenwording.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Unix is ​​een relatief goed besturingssysteem. Unix, dat eind jaren zestig werd geboren, heeft een beetje uniformiteit, dat wil zeggen “alles is een bestand”. Unix is ​​een bytestroom en werd voornamelijk gebruikt om tekst te verwerken aan het begin van de creatie. Het kernconcept is het manipuleren en combineren van de informatie van de tekststroom. De invoerinhoud van Unix kan een bestand of een programma zijn, dat op verschillende manieren zal worden verwerkt en uitgevoerd. Bijna alle besturingssystemen zijn nu bovenop dit besturingssysteem gebouwd. Unix-gebaseerde Linux is bijvoorbeeld tegenwoordig het populairste serverbesturingssysteem. Android is ook gebaseerd op Linux en Mac OS is gebaseerd op FreeBSD, een tak van Unix. Er zijn ook enkele Windows-filiaalsystemen voor Linux. Sommige mensen denken dat in de toekomst de nieuwste versie van een Windows-systeem Linux kan zijn met een geheel andere interactieve interface. Als er zo’n dag is, zal ik helemaal niet verbaasd zijn.

Tegenwoordig zijn er echter veel dingen veranderd. Het idee dat “alles een bestand is” klopt niet meer, nu ben ik zelfs bereid te zeggen: “alles is geen bestand”. In 1969 had een grote organisatie misschien maar één computer en maken gebruikers verbinding met dezelfde computer via een terminal, maar er is geen verbinding tussen gebruikers; maar in 2020 kan één persoon meerdere computers hebben, behalve laptops en mobiele telefoons. daarnaast heb je misschien ook nog andere mooie dingen zoals smartwatches; zelfs de computers in huis, zoals camera’s en wifi-routers, kunnen via Unix met elkaar worden verbonden.

Dus nu denk ik dat het belangrijkste concept is “alles is netwerk”. Er zijn veel subcomputers binnen elke computer in het netwerk, dat wil zeggen alle CPU-kernen. Virtuele machine-applicaties draaien op deze CPU-kernen. Binnen deze applicaties, ingebed in een taal die lijkt op een andere geneste computer (geneste computer), kunt u altijd een van de makers van de computer zijn. Logischerwijs definieer ik een computer als “een machine die kan worden gesimuleerd als elke andere machine”. Zolang een computer normaal werkt, kan het netwerk dat wordt gevormd door alle subcomputers waaruit deze computers bestaan, een netwerk worden genoemd. Daarom is elke computer een computernetwerk. Helaas is het huidige besturingssysteem niet op een dergelijk idee gebaseerd: de webbrowser is eigenlijk een applicatie om op internet te surfen, en surfen op internet betekent het uitvoeren van de stappen van het installeren van de applicatie.

Tegenwoordig betekent elk bezoek aan een website een herinstallatie van de webapplicatie. Op de client draait elke pagina op een apart tabblad van de browser, en een bepaald tabblad weet niet welke pagina’s op andere tabbladen worden uitgevoerd. Dit is als een enkele computer die op de serverkant van een datacenter draait, en programma’s die op deze enkele virtuele machine draaien. Deze virtuele machines kunnen op dezelfde computer worden uitgevoerd, of ze kunnen op verschillende computers worden gedistribueerd. Maar dit is niet anders voor ontwikkelaars – het enige verschil is dat de clientbrowser en het datacenter aan de serverzijde respectievelijk een “pull request” en een “push request” door de client afgeven. In termen van logica zijn “laat de encoder draaien” en “stuur een push aan de serverkant” bijna hetzelfde, maar op dit moment hebben we een nieuw model nodig om de veranderingen in de huidige wereld beter te beschrijven.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Ons bestaande Actormodel (Actormodel) is gemaakt in de jaren 70. Het is als een rekeneenheid met een gegevensoverdrachtkarakter en wordt gebruikt om het model van gedistribueerd computergebruik te beschrijven. Acteurs hebben adressen waar mensen berichten kunnen sturen en andere acteurs de informatie kunnen laten ontvangen. Hoewel het verzamelen van informatie vaak niet in orde is, kunnen sommige realistische beperkingen (realistische beperkingen) het zelfs moeilijk maken voor actoren om deze informatie te ontvangen – er zal bijvoorbeeld een grote hoeveelheid informatie worden geëxporteerd in een op uitwisseling gebaseerd pakketnetwerk. informatie gaat verloren, en de bestelling is mogelijk. Het werd verstoord en gewijzigd, maar we kunnen op basis hiervan een overeenkomst sluiten om betrouwbaarheid te creëren. CP / IP is bijvoorbeeld een protocol dat datapakketten kan herhalen. Het kan de fouten op het onderste niveau corrigeren. Hier moeten we van leren.

Aangezien het Actor-model zelf niet voldoende is om te beschrijven wat we doen, dacht ik aan het “Actor / Script” -model. Er is geen tegenstelling tussen dit model en het Actormodel, maar het is verder geschreven. Mogelijk kunnen we een nieuwe Actor maken op basis van het script in het bericht dat wordt verzonden. Het script is alleen de code van de Actor en het kan zelfs worden gewijzigd voordat het wordt uitgevoerd. De hiërarchie van deze actoren is in elkaar genest. Heirachical Actors (Heirachical Actors) kunnen worden gemaakt in een bovenliggende Actor, wat betekent dat zaken als systeem-API’s en netwerken net als Actors kunnen worden opgelost. De code van de kindacteur kan worden gewijzigd, de kindactoren die de oudercode wijzigen, kunnen worden onderschept en de informatie wordt eerst doorgegeven aan de ouderacteur. Dit betekent dat mensen altijd de berichten van de kindacteur kunnen zien door de code van de kindacteur te wijzigen, zodat ze eerst naar de ouderacteur kunnen worden gestuurd. In het Actor / Script-model kun je acteurs naar andere acteurs sturen, maar je kunt niet garanderen dat ze echt alles verzenden – ze kunnen verschillende berichten uitvoeren.

Hoewel de informatie iets anders is, kunt u een slim contract (slim contract) opstellen. Als we de web-front-end inbouwen in een Actor / Script-model, zal de klant een bericht naar de server sturen en een pagina opvragen waarop de server reageert met het volgende script: een nieuw label of een nieuwe actor gemaakt door de klant op het web pagina, dat wil zeggen de web-backend, en het is de actor die bij dit netwerkmodel past. Wanneer een ontwikkelaar een bericht stuurt naar een datacenter dat een Actor bevat, zal het datacenter een webserver aanmaken als Actor en vervolgens clientverzoeken doorsturen naar de nieuwe Actor. Hoewel in dit model de client alleen kan uitwisselen met de oorspronkelijke server die zijn gegevens heeft verzonden, en niet kan communiceren met andere clients of andere servers, zijn er op dit niveau minder beperkingen voor uitwisselingen, en we kunnen het eigenlijk op veel manieren doen Werk dat in het originele model niet mogelijk was. We kunnen bijvoorbeeld een smart contract inzetten als een Actor / Script-model en dit naar alle actoren sturen. Nadat het contract door elke actor in het netwerk is geverifieerd, kan het hele netwerk als een enkele actor worden behandeld. Maar om eerlijk te zijn, denk ik dat dit idee de gegevensdoorvoer en -efficiëntie ernstig beperkt, en je weet dat we veel meer kunnen maken dan een hele grote maar erg trage computer.

Soms zijn zaken als virussen en computerkwetsbaarheden (bugs) een soort acteur / script, dat lijkt op een zelfreplicerend script van een netwerkworm (netwerkworm). Zodra het is geaccepteerd, scant het zelf het lokale systeem. Zoek naar nieuwe adressen waar het kan doorgaan met verzenden, en jezelf eropuit kan sturen. Actoren en botnets (Botnet) kunnen ook wormen zijn, die scripts accepteren van de centrale Actor (dwz de controller). Maar dit kan ook handig zijn voor het Actor / Script-model – het kan zelfs dingen beschrijven die we niet willen ontmoeten.

Een ander interessant punt is het benoemde functienetwerk (Named Function Networking) dat we bouwen op basis van naamgeving en datanetwerken. Net als bij de academische versie van IPFS, zijn de gegevens die worden aangevraagd door naamgeving meestal de inhoudshash (Content-hash) en het benoemde functienetwerk. U kunt naar de code verwijzen op basis van de hash-waarde en vervolgens verzoeken om de genoemde functie op de genoemde gegevens ( Named Data) Netwerk en gebruik het om code te compileren of zoekopdrachten uit te voeren op gegevens en andere inhoud. Dan zou een beter besturingssysteem eruit moeten zien als WebAssembly.

WebAssembly is een scripttaal waarmee informatie tussen actoren kan worden uitgewisseld. Het adres van een actor is in feite een reeks willekeurige bytes, en het bovenliggende adres is het voorvoegsel van het onderliggende adres. Met WebAssembly kunnen systeem-API’s worden geadresseerd en bediend zoals elke andere Actor; dit is relatief flexibel. Daarom is WebAssembly bijna een perfecte keuze, een low-level compilatiedoel; het is een platformonafhankelijke low-level virtuele machine, lager dan de virtuele Java-machine, maar hoger dan LLVM. WebAssembly bestaat al buiten het gehele bestaande systeem, dus we hoeven niemand over te halen om WebAssembly te gebruiken.

Bovendien is WebAssembly ook een goed sandbox-model en heeft het vele manieren om te voorkomen dat anderen scripts wijzigen. Bijvoorbeeld, tenzij de gebruiker het adres laat matchen met een functie en het een manier geeft om naar de tijd te vragen, is het tijdstip van toegang tot bepaalde API-webassemblages zelfs onkenbaar, dus het is volkomen zeker. Bovendien verschilt codeopslag van gegevensopslag.Een uitvoerbaar Unix-bestand kan sommige programma’s compileren, maar er kan ook een ander geheugen op draaien. Nadat het ene proces is afgelopen, is er eigenlijk code op het andere proces, maar de code kan naar het codegeheugen verwijzen en het wijzigen, dus het is zeer geschikt om te worden gebruikt om virussen en kwaadwillende hackers aan te pakken.

Zelfs als het om verschillende redenen niet in staat is, kan het Actor / Script-model ook veel verbeterde sandboxen bieden.Gebruikers kunnen in deze sandboxen veel experimenten uitvoeren, zoals het verzenden van berichten naar Actors met bepaalde voorvoegsels. Aangezien het voorvoegsel dat voor het bestandssysteem is ingesteld, het voorvoegsel is van alle bestanden in de directory en map, kunt u de ontvangst van berichten volledig beperken door een specifiek bestandssysteem. Bovendien kunt u ook gegevens naar een specifieke systeemacteur sturen die onderliggende actoren kan creëren om te voorkomen dat andere voorvoegsels nieuwe actoren maken die daarmee overeenkomen, om zo een betrouwbaarder, “p2p” -achtig netwerk op te bouwen.

Op zo’n betrouwbaar systeem, wanneer het script naar de acteur wordt gestuurd, wordt ook de onderliggende acteur a1 gemaakt, en het tweede verzonden script zal acteur b1 maken. De tweede acteur kan de eerste acteur controleren, maar de eerste acteur kent dit proces niet. Fouten in het gedrag van Actor zijn detecteerbaar, zodat u de betrouwbaarheid ervan kunt verbeteren. Als u opzettelijk een foutcode naar a1 stuurt en b1 vraagt ​​om deze te controleren, dan kunnen we ervoor zorgen dat het probleem zo volledig mogelijk wordt ontdekt door de gegevens die door b1 als fouten zijn gedetecteerd, te tellen. Dit is een netwerk van zeer vertrouwde codes Omdat deze codes slechts met drie computers zijn verbonden in plaats van met alle computers op internet, is het eenvoudig om de werking van deze codes te annuleren.

De laatste is een beslissende constructie. Vermoedelijk zult u proberen ervoor te zorgen dat er niet met uw code geknoeid wordt en geen kwaadaardige inhoud bevat; daarom kunt u een bepaalde broncode naar alle servers uitzenden, ze de code laten uitvoeren en controleren of hun output exact hetzelfde is. U kunt een proxy-actor met een relatief stabiel adres maken, het omleiden, het bericht herschrijven en vervolgens de informatie naar de onderliggende actor sturen, en het gedrag van deze actor wijzigen volgens relevante regels. Daarnaast kunt u ook databasequery’s doen. U kunt naar gegevens verzenden, deze gegevens scannen en verschillende functies uitvoeren. Dit is vooral handig wanneer de code relatief klein is, maar de gegevens groot – een klein deel van de code is voldoende om een ​​grote hoeveelheid gegevens te verwerken zonder deze naar de client te verzenden.

Een groot probleem met het toestemmingssysteem is hoe je de inhoud van de toestemming kunt bepalen. Naar mijn mening is de betere manier om ermee om te gaan niet door voor alle toestemmingen “ja” of “nee” te selecteren, of om een ​​toepassing van een derde partij bepaalde informatie te laten verkrijgen. Dit zijn tenslotte dingen die auditors zouden moeten doen; het probleem is om te oordelen en wat is de redelijke autoriteit om het probleem te begrijpen – dit kan gemakkelijker zijn dan het rechtstreeks opvragen van de broncode. Aangezien een programma uw bestanden kan bekijken zonder het netwerk te hoeven controleren, mag het niet alleen worden gebruikt om werk te annuleren. U kunt zich abonneren op de toestemmingen van specifieke applicaties die zijn ingesteld door de feeds die u vertrouwt, zonder dat u de toestemmingen van elke applicatie hoeft in te stellen.Als u niet akkoord gaat met een bepaalde toestemming, kunt u overschakelen naar een feed die beter aan uw behoeften voldoet.

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Auteur van dit artikel

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Dominique Tal

Dominic Tarr

Oprichter van het gedecentraliseerde roddelplatform “Scuttlebutt”

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Thematisch overzicht van de vijfde jaarconferentie van Network Society

Paneel3 DWeb

De 5e jaarlijkse Network Society-conferentie | Mark Nadal: hoe een gedecentraliseerd netwerk te bouwen en te bouwen

De vijfde jaarlijkse Network Society Conference | Dylan Reblin: Seeing the Invisible-Deep Description of the Decentralized Network

De vijfde jaarlijkse Network Society Conference | Liu Yisi: Vertrouwen opbouwen in wantrouwen —— Mask als voorbeeld nemen

Paneel 2 Internetarchief

De 5e jaarlijkse Network Society Conference | Sam Williams: Bouwen aan een web dat nooit zal worden vergeten

De vijfde jaarlijkse Network Society Conference | Lin Yiling: Kaleidoscope of Contemporary: A Collection of Asian Art Archives

The Fifth Network Society Annual Conference | Zhou Peng’an: The Computer Museum on the Web – Herbouw van een digitale ervaring met historische waarde voor de Chinese gemeenschap

Paneel 1 basis komt op de markt

De vijfde jaarlijkse Network Society Conference | Glenn Weir: Kejin’s Changing Political Philosophy

De 5e jaarlijkse Network Society Conference | Vitalik Butlin: Ethereum Community Governance en Gitcoin’s Quadratic Fundraising

Conferentieschema en introductie

Practical Wisdom Network | Panel 4 Encryptionism Conference Introductie en participatiemethoden

Practical Wisdom Network | Panel 3 Distributed Network DWeb Conference Introductie en deelname

Practical Wisdom Network | Young Scholar Forum & Panel; 2: Onderwerpen en tijdschema van internetarchieven

Praktisch wijsheidsnetwerk | Mesh Network Workshop Review

Practical Wisdom Network | Panel 1: Radical Market Speakers and Topics Introduction

2020 Vijfde jaarlijkse Internet Society-conferentie | The Web of Phronesis

Conferentie-introductie en thema-oproep voor papers | De 5e jaarlijkse conferentie van de internetmaatschappij “The Web of Phronsis” (The Web of Phronsis)

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

De 5e jaarlijkse Network Society Conference | Dominique Tal: Laten we het netwerk herschrijven

Institute of Network Society, China Academy of Art

Disclaimer: de bovenstaande inhoud is verzameld van internet en het copyright van het werk behoort toe aan de oorspronkelijke auteur. Alle inhoud is bedoeld voor het verzenden van informatie. Dit betekent niet dat deze site het eens is met zijn standpunten en niet dient als enige investeringsbegeleiding.Er zijn risico’s in de valutacirkel en investeringen moeten voorzichtig zijn

Total
0
Shares
Related Posts

HubCoin (HUB) is nu beschikbaar op LBank Exchange

Internet City, Dubai, mei. 12 december 2022 – LBank Exchange, een wereldwijd handelsplatform voor digitale activa, lanceert ENTERBUTTON (ENTC) op 16 mei 2022. Voor alle gebruikers van LBank Exchange: het ENTC/USDT-handelspaar wordt officieel geopend voor handel om 16:00 uur (UTC+8) op 16…
Lees verder

BUX blijft uitbreiden en lanceert zero-fee transacties in Ierland

De Nederlandse makelaar BUX blijft uitbreiden in Europa en kondigde maandag de lancering aan van Bux Zero, zijn zero-commission investeringsapplicatie, in Ierland. Het platform voor alleen mobiele apparaten zal beschikbaar zijn op Android- en iOS-apparaten, waardoor beleggers meer dan 2.000 aandelen kunnen…
Lees verder