26 februari tl; dc (för länge, ringde inte)

Varning: Detta är en uppfattning om ämnen som diskuteras i det återkommande Eth1.x-forskningssamtalet och representerar inte slutförda planer eller åtaganden för uppgraderingar av nätverket.

De viktigaste ämnena för detta samtal var:

  • Den grova planen för forskningstoppmötet 1.x i Paris efter EthCC
  • Vittnesformatet
  • Problemet med att hämta data

logistik

Toppmötet för att diskutera och samarbeta om Stateless Ethereum planeras till helgen efter EthCC, vilket kommer att vara en oumbärlig tid för att arbeta med de viktigaste och olösta problemen för denna insats.

Schemat är ännu inte fast, men en grov beskrivning samlas:

lördag – Efter en timmes frukost och gratis diskussion kommer vi att träffas överens om mål och omfattning för toppmötet. Sedan är det cirka fyra timmar reserverade för organiserade presentationer och “djupa dyk” om särskilda ämnen av betydelse. På senare eftermiddagen / kvällen kommer det att finnas ytterligare en timme + fritid och informell diskussion.

söndag – Samma som tidigare, men med bara två timmars strukturerade presentationer, för att uppmuntra deltagarna att dela ut sig i grupper och arbeta med olika forsknings- eller implementeringsämnen under resten av toppmötet. Slutligen kommer det att bli en avslutande diskussion för att kartlägga nästa steg och revidera teknikträdet.

Det bör sägas att detta forskningstoppmöte inte är inriktat på offentligt eller allmänt engagemang, för att göra meningsfulla framsteg i det framtida arbetet. Detta är inte avsett att vara en åskådares händelse, och det förväntas verkligen att deltagarna kommer att ha “gjort sina läxor” så att den korta tiden för diskussion används effektivt.

Teknisk diskussion

Vittnesformat

Det första ämnet för teknisk diskussion var centrerat kring det nyligen inlämnade utkast till vittnesspecifikation, som hjälper till att definiera implementering för alla klientteam.

Vittnesspecifikationen består verkligen av två delar: Semantik och format. Denna organisation har den önskvärda egenskapen att rent separera två aspekter av vittnet som kan ha olika mål.

Semantik är lite svårare att få tag på och handlar bara om de abstrakta metoderna för att ta en grupp objekt och omvandla dem till andra objekt. Vittnesemantiken är på ett enkelt formellt språk som beskriver hur man kommer från input till output och lämnar alla implementeringsdetaljer abstrakt. Till exempel är frågor om dataserialisering eller analysering inte relevanta för vittnesemantiken, eftersom de är mer en implementeringsdetalj. Målet på hög nivå att definiera vittnes semantik på ett formellt sätt är att ha en helt otvetydig referens för klientteam att genomföra utan mycket fram och tillbaka. Visserligen är det experimentellt att börja med formell semantik och arbeta för implementering (snarare än att säga, kodning av en referensimplementering), men man hoppas att det kommer att spara ansträngningar på lång sikt och leda till mycket mer robusta och olika statslösa Etereum-implementationer. Format är mycket mer konkret och specificerar verkliga detaljer som påverkar driftskompatibiliteten mellan olika implementationer.

Vittnesformatet är där saker som storleken på kodbitar kommer att definieras, och ett bra vittnesformat hjälper olika implementeringar att förbli interoperabla, och i allmänna ordalag beskriver kodning och avkodning av data. Formatet är inte specifikt inriktat på att minska vittnesstorleken, snarare på att hålla klientimplementeringarna minnen effektiva och maximera effektiviteten för generering och överföring. Exempelvis kan det aktuella formatet beräknas i realtid när du går genom tillståndet utan att behöva buffra eller bearbeta hela bitar, så att vittnet kan delas upp i små bitar och strömmas.

Som ett första utkast förväntas det bli någon refactoring före och efter Paris, eftersom andra forskare ger feedback, och det finns redan en begäran om lite mer innehåll om designmotivationer och förklaring på hög nivå angående innehållet ovan. I samtalet föreslogs också att vittnesformatet skulle skrivas om i ett kommande ”The 1x Files” -inlägg, vilket verkar vara en bra idé (hålla kontakten med det under de kommande veckorna).

Transaktionsvalidering, ett mellanmål

När vi rörde sig mot mindre konkreta diskussionsämnen tog man upp en grundläggande fråga i chatten som motiverar diskussion: Ett potentiellt problem med validering av transaktioner i ett statslöst paradigm.

För närvarande utför en nod två kontroller av alla transaktioner den ser i nätverket. Först kontrolleras transaktionens nonce att den överensstämmer med alla transaktioner från det kontot och kasseras om den inte är giltig. För det andra kontrolleras kontosaldot för att säkerställa att kontot har tillräckligt med gaspengar. I ett statslöst paradigm kan dessa kontroller inte utföras av någon som inte har staten, vilket öppnar upp en potentiell vektor för attack. Det är utmärkt möjligt att vittnenes format skulle kunna göras så att det inkluderar den minsta mängden statlig information som krävs för att endast validera transaktioner från vittnen, men detta måste undersökas vidare.

Transaktionsvalideringsproblemet är faktiskt relaterat till ett mer generellt problem som Stateless Ethereum måste lösa, vilket kallas “Datainsamlingsproblemet”. Lösningen för datainsamling kommer också att lösa transaktionsvalideringsproblemet, så vi kommer att vända oss till det nu.

Datainsamling i Stateless Ethereum

Utmaningen i sin helhet beskrivs i ett forum för etersökningsforum, men idén relativt enkel och byggd utifrån några antaganden:

Det är möjligt att inom den nuvarande eth protokoll, bygg en statslös klient med befintliga nätverksprimitiv. Detta är ungefär vad strålsynkronisering är, med den viktiga skillnaden att strålsynkronisering är tänkt att behålla tillståndsdata och “återfylla” den så att den till slut blir en fullständig nod. En statslös klient kastar däremot bort statsuppgifter och förlitar sig helt och hållet på vittnen för att delta i nätverket.

Det nuvarande protokollet och nätverksprimitiven antar att det är stor sannolikhet att anslutna kamrater behåller giltigt tillstånd, dvs att anslutna kamrater är fullständiga noder. Detta antagande gäller nu eftersom de flesta noder verkligen är fullständiga noder med giltigt tillstånd. Men detta antagande kan inte åberopas om en hög andel av nätverket är statslöst. Det nuvarande protokollet gör det också inte ange ett sätt för en ny ansluten nod att se om en ansluten kamrare har eller inte har en nödvändig del av tillståndsdata.

Statslösa kunder har bättre UX än fullständiga noder. De synkroniseras snabbare och möjliggör nära omedelbar anslutning till nätverket. Det är därför rimligt att anta att med tiden fler och fler noder kommer att röra sig mot spektratets statslösa slut. Om detta är fallet blir antagandet om datatillgänglighet mindre och mindre ljud med en högre andel statslösa noder i nätverket. Det finns en teoretisk “tipppunkt” där statslösa noder överträffar tillståndsnoder och ett slumpmässigt sortiment av kamrater har en tillräckligt låg sannolikhet för att minst en håller den önskade delstaten. Vid den (teoretiska) punkten bryts nätverket.

Kickaren här är det om nätverket tillåter att tillstånd kan fås på begäran (som det gör nu), kan (och kommer) en statslös klient göras på samma protokoll. Att utvidga detta resonemang till att vara mer dramatiskt: Statslösa klienter är oundvikliga och datainsamlingsproblemet kommer att följa med dem. Därefter följer att betydande förändringar av eth nätverksprotokoll måste göras för att kategoriskt förhindra att nätverket når den tipppunkten, eller åtminstone skjuta det längre bort genom klientoptimeringar.

Det finns många öppna ämnen att diskutera här, och det är viktigt att det är oenighet bland 1x-forskarna om exakt hur långt nätverket är från den teoretiska brytpunkten, eller om brytpunkten finns alls. Detta belyser behovet av mer sofistikerade metoder för nätverkssimulering, liksom behovet av att definiera problemet tydligt vid forskningstoppmötet innan man arbetar för en lösning.

À tout à l’heure!

Spännande saker kommer utan tvekan att utvecklas till följd av den personliga forskningen som ska bedrivas i Paris under de kommande två veckorna, och de kommande delarna av ”The 1.x Files” kommer att ägnas åt att dokumentera och tydligt lägga ut det arbetet.

Toppmötet i Paris är nästan i full kapacitet, så om du inte har fyllt i RSVP-formuläret för att delta ska du kontakta Piper för att se om det finns plats.

Som alltid, om du är intresserad av att delta i den statlösa Etereum-forskningen, kom med oss ​​på ethresear.ch, bli inbjuden till telegramgruppen och nå ut till @gichiba och / eller @JHancock på twitter.

LEAVE A REPLY

Please enter your comment!
Please enter your name here