EF-stödda team:Research &Development Roundup

Vi har alla mycket att vara tacksamma för den här semesterperioden, från den första födelsedagen för beaconkedjan, till de framgångsrika uppgraderingarna under det senaste året och de otroliga framstegen över hela Ethereums ekosystem.

När ett mycket produktivt år går mot sitt slut, finns det några sista gåvor att leverera i form av uppdateringar från många (15+!!) EF-stödda team som alltid arbetar för att förbättra nätverket. Och det finns mycket av väsentligt material här, så ta dig tid att sortera igenom innehållsförteckningen och gräv i!

Som alltid fokuserar denna sammanfattningsserie på EF-stödda team vars medlemmar arbetar för att växa och förbättra Ethereum som helhet. Inkluderat i den här utgåvan är uppdateringar från många team som markerats i den tidigare rapporten, och andra nya och roterande grupper.

Njut av! 🦄

Innehållsförteckning

  • Konsensus FoU (aka EF Research Team)
  • Ekosystemstödsprogram
  • Ethereum.org
    • Innehållsuppdateringar
    • Tillväxt i samhället
      • Vissa statistik (aug - dec)
    • Översättningsprogram
      • En del statistik:
    • CLR-finansiering
    • Vad händer härnäst?
    • Hur låter det?
  • Ipsilon
    • EVM Object Format (EOF)
    • Andra EIP:er
      • EIP-2681 (Begränsa kontot till 2^64-1 )
      • EIP-3855 (PUSH0-instruktion )
      • EIP-3860 (Gräns ​​och mätare initcode )
    • geth
    • evmone
    • ethash
    • Frusande
  • Formell verifiering
  • Geth
  • Javascript-teamet
  • Sekretess- och skalningsutforskningar
    • zkEVM
    • ZKOPRU
    • Unirep &Unirep Social
    • CLR.fund for Everyone
    • InterRep
    • Semaphore / ZK-Keeper
    • RLN
  • Protokollstöd
  • Remix
  • Robust Incentives Group
  • Snake Charmers [Python Ecosystem]
    • Fe-lang
    • Portal
  • Säkerhet [Säkerhet/Konsensustest]
  • Soliditet
  • ZoKrates
    • Språk
    • Bevissystem
    • Kompilatorprestanda

Consensus R&D (alias EF Research Team)

Författare av Hsiao-Wei Wang

Under andra halvåret i år inkluderade milstolparna i Ethereums konsensus FoU:

  • Levererade den första beacon chain hårdgaffeln Altair den 27 oktober. Huvudfunktionerna är:

    • synkroniseringskommittéer för att stödja lätta klienter
    • incitament redovisningsreformer för att minska specifikationernas komplexitet
    • straffparameteruppdateringar mot deras planerade maximalt straffvärden
  • Levererade The Merge konsensuslagerspecifikationer för interops och testnät:

För att anpassa oss till The Great Renameing flyttade vi komponenter till "Consensus Layer" från "Eth2" för tydligare kommunikation på lång sikt.

I början av 2022 kommer vårt team att fokusera på att hjälpa till att leverera "The Merge", den viktigaste uppgraderingen av konsensusprotokollet någonsin. Lyckligtvis har vi stort stöd från kundteam och andra i samhället som arbetar för att göra detta till verklighet! Under tiden kommer vi att fortsätta vårt forskningsarbete om datatillgänglighet, L1-skalning och funktionerna i "clean up"-gaffeln efter The Merge.

Ecosystem Support Program

Författare av ESP Team

Vi publicerade vår Q2 Allocation Update med anslag på totalt $7 794 000 för kvartalet - och Q3 kommer snart! Du kan också kolla in de senaste månadsöversikterna här och här för mer detaljerade framstegsuppdateringar från några av våra fantastiska bidragstagare.

Bakom kulisserna arbetar vi med en större översyn av webbplatsen som borde göra det enklare än någonsin att förstå ESP:s uppdrag och prioriteringar, och för berättigade byggare att ansöka om finansiering eller annat stöd. Vi kan inte vänta med att lansera den nya webbplatsen i början av 2022!

Ethereum.org

Författare av Sam Richards

För att göra vårt arbete mer tillgängligt och för att främja mer samhällssamarbete publicerar vårt team en översikt över våra kvartalsvisa färdplansmål. Se vår produktkarta för Q4 här.

Trevlig helg till alla från ethereum.org-teamet 😀🎄 Som alltid är vår vision med ethereum.org att skapa den bästa portalen för Ethereums växande community och att fungera som ytterdörren till Ethereum för miljontals nya besökare varje månad.

Innehållsuppdateringar

Ethereum rör sig snabbt! Förutom att uppdatera hundratals sidor för att säkerställa att vårt innehåll förblir uppdaterat och korrekt, har vi också släppt ett gäng nytt innehåll:

  • Communitynav
  • Introduktion till smarta kontrakt
  • Ethereum-säkerhet och bedrägerier
  • Introduktion till styrning av Ethereum
  • Introduktion till Ether
  • MEV
  • Och många nya självstudier för utvecklare

Tillväxt i samhället

Ethereum.org existerar tack vare hundratals innehålls- och kodbidragsgivare från gemenskapen. Under Q3/Q4 lade vi tonvikt på sätt att öka bidragen och erkänna samhället för det arbete de gjorde:

Vissa statistik (aug - dec)

  • Våra GitHub-bidragsgivare ökade med 57 %, från 396 till 621 😲
  • Vår Discord-gemenskap nästan fördubblades, från 6 500 till 12 200 medlemmar 🎉
  • Vi har varit värd för två mötessamtal och startat kontorstider för bidragsgivare
  • Vi har lagt till 3 nya communityguider (betrodda medlemmar som svarar på frågor och modererar chatt) 😎
  • Vi introducerade nivåer av POAP:er för att gamifiera bidrag för innehåll, kod och översättningar

Översättningsprogram

Sedan vi anställde vår nya översättningsledare i juli har översättningsprogrammet ökat rejält!

En del statistik:

  • Mellan juli och november översatte communityn tillsammans 1 373 046 ord för ethereum.org, över 10 gånger så mycket som samma period förra året! För att sätta detta i perspektiv motsvarar detta att översätta hela nästan 20 böcker 📚!
  • Vi har fått översättningsstöd från över 2 500 gemenskapsbidragsgivare 🤯
  • Vi har 37 språk live på ethereum.org 🌍
  • Vi lanserade ett initiativ för att ge våra översättare ett bättre erkännande, inklusive en topplista och översättarcertifikat!

CLR-finansiering

Vi stödjer en clr.fund-runda på Layer 2! Efter över 6 månaders bidrag till clr.funds kvadratiska finansieringsstack har vi slagit samman våra ändringar till uppströmsrepo, som lägger till L2-nätverksstöd och en mängd webbappsförbättringar.

clr.fund planerar att distribuera en finansieringsrunda på Arbitrum One inriktad på insatsekosystemet i januari, och EF är glada över att kunna erbjuda matchande medel till rundan. Vi hoppas att du deltar! Håll ögonen öppna för detaljer. Jaja offentliga nyttigheter!

Vi har byggt på jättarnas axlar. Tack till clr.fund-teamet, MACI-teamet och clr.funds gemenskap av bidragsgivare som fortsätter att driva innovationer inom ZKP och kvadratisk finansiering.

Vad är härnäst?

  • skapa ett lärande nav för att tillåta icke-tekniska användare att bli skickliga Ethereum-användare
  • bygga ytterligare resurser för att köra noder och satsa för att förbättra tillgängligheten
  • ytterligare automatisera vår översättningspipeline för att släppa ut översatt innehåll snabbare
  • expandera översättningsprogrammet bortom ethereum.org
  • uppdatera innehåll för att övergå från Eth2-terminologin när sammanslagningen närmar sig

Hur låter det?

Vi uppskattar feedback på vår färdplan. Våra vägledande principer är baserade på att leverera det mesta värdet på kortast tid, så om det är något du tycker att vi bör arbeta med, vänligen meddela oss! Vi välkomnar idéer och bidrag från alla i samhället.

Mer om att bidra

Ipsilon

Författare av Alex Beregszaszi

Vi har skapat en teamwebbplats för att ge en tydlig beskrivning och för att heltäckande lista vårt nuvarande och tidigare arbete.

Det är lätt att avgöra från följande rubriker att under andra halvan av året fokuserade teamet mest på EVM. Det är också viktigt att nämna att vi har samarbetat med Geth-teamet för att förbättra prestandan hos EVM-tolken.

EVM Object Format (EOF)

Det första steget mot detta, EIP-3541, gick live med London och vi har genomfört en undersökning över många testnät och EVM-kedjor för att hitta ett passande prefix för EOF.

Fortsatta förtydliganden gjordes till EIP-3540 (inklusive det valda prefixet), och vi föreslog också ytterligare arbete som bygger på det:

  • EIP-3670 för att införa kodvalidering vid driftsättning
  • EIP-3690 ska ersätta JUMPDEST opcodes med en JUMPDEST-tabell
  • EIP-4200 kommer att introducera två nya opcodes, RJUMP och RJUMPI , vilket underlättar statiska hopp

Under oktober presenterade vi EOF på Liscon (slider här, men inspelningen är inte tillgänglig) och på Ethereum Meetup i Berlin (bilder, inspelning).

Andra EIP

EIP-2681 (Begränsa konto nonce till 2^64-1 )

Ett av våra gamla förslag, EIP-2681, accepterades under ACD#120. Det kodifierar en begränsning, som redan (delvis) implementerades i praktiken hos de flesta klienter. Efter godkännande har vi utökat Ethereum State Tests-sviten och justerat geth-implementeringen.

EIP-3855 (PUSH0-instruktion )

EIP-3855 föreslår att införa en PUSH0 instruktion som trycker 0 på stapeln. Detta är en ofta använd funktion, som oftast uppnås idag via ineffektiva eller återanvända instruktioner.

Vår analys visade att betydande resurser kunde ha sparats med denna opcode:

För att sätta "avfallet" i perspektiv, på befintliga konton slösas 340 557 331 byte på PUSH1 00-instruktioner, vilket innebär att 68 111 466 200 gas har spenderats för att distribuera dem.

EIP-3860 (Limit and meter initcode )

EIP-3860 är ett förslag om att sätta en gräns och införa mätning för initcode. Detta skulle möjliggöra mer optimerad analys och exekvering, eftersom implementeringar skulle behöva hantera mindre okända saker.

geth

Som ett samarbete med Geth-teamet började vi arbeta med att mäta och förbättra prestandan hos EVM-tolken i geth.

På analyssidan är två rapporter anmärkningsvärda:

  • Geth vs evmone jämför hastigheten för Geth och evmone med hjälp av benchmarking-sviten i evmone.
  • Geth &Go-kompilatorn utforskar effekten av Go-kompilatorversionen på geths hastighet.

Baserat på dessa initiala resultat har vi undersökt profilering och slutligen bidragit med flera förbättringar av kodbasen, varav de flesta redan har slagits samman. En icke heltäckande lista över relevanta PR:23952, 23970, 23974, 23977, 24017, 24026, 24031, 24120.

Följ den här länken för att se alla PR. Vi planerar att fortsätta detta arbete under nästa kvartal.

evmone

Två buggfixutgåvor av evmone gjordes:0.8.1 och 0.8.2.

ethash

Teamet har också ett C++ ethash/keccak256-bibliotek, som används av evmone och Silkworm.

Den senaste versionen av 0.8.0 introducerar en ny metod för att verifiera de sista Ethash-hasharna mot blocksvårigheten. Detta är både en användbarhets- och hastighetsförbättring. Metoden har lagts ut på Ethresear.ch.

Dessutom har ProgPoW fasats ut i biblioteket.

Fizzy

Teamet deltog även i Wasm in Web3-konferensen under september. Vi höll två presentationer:

  • Fizzy — En deterministisk tolk (slides) gav en omfattande översikt över vad Fizzy är, hur den kan jämföras med andra motorer, och förklarar också resonemanget bakom många av de designval vi gjorde.
  • Konstiga egenheter när vi testade WebAssembly visar ett bra urval av edge-fall vi har stött på när vi utvecklade Fizzy. Föredraget ger också några potentiella lösningar och förklarar för dessa kantfall, samt hur vi har utökat den officiella WebAssembly-testsviten för att täcka dem.

Formell verifiering

Författare av Leo Alt

Under andra halvåret fortsatte FV-teamet att fokusera på våra befintliga verktyg:

Agera:

  • Vi har äntligen släppt Act 0.1! Du kan läsa den fantastiska handledningen på https://fv.ethereum.org/2021/08/31/act-0.1/ för att se vad som är möjligt just nu och hur man använder det.
  • Vi omarbetar för närvarande felhanteringen för att förbättra användbarheten.

Hevm:

SMTChecker:

  • Spåra saldon för kontrakt exakt, inklusive msg.value skickas till och från de analyserade kontrakten.
  • Stöd även lågnivå samtal fungera som ett osäkert externt samtal.
  • Förbättra motexempel genom att rapportera block.* , medd.* och tx.* värden som är viktiga för misslyckade verifieringsmål.
  • Rapportera induktiva invarianter för kontrakt och återinträde till användaren.

Geth

Författare av Felix Lange

Under andra halvan av 2021 publicerade vi 9 geth-utgåvor. Som vanligt har vår tid delats mellan EIP-granskning/implementering, klientoptimering/underhåll och granskning av kodändringar som föreslagits av communityn.

I juli aktiverades Londons hårdgaffel, som inkluderade EIP-1559. Det nya prissättningsschemat för gas som definieras av detta EIP krävde många förändringar i alla delsystem av geth. Vi upptäcker och åtgärdar fortfarande hörnfallsproblem relaterade till EIP-1559 nu, sex månader efter introduktionen.

Två säkerhetsbrister har upptäckts under de senaste sex månaderna. För dem båda följde vi vår säkerhetsrådgivningspolicy:vi tilldelade omedelbart ett CVE-nummer till problemet och publicerade en snabbkorrigeringsversion. Tekniska detaljer om sårbarheten publicerades 6-8 veckor senare.

Under det sista kvartalet 2021 har vårt arbete mestadels skiftat mot implementering och testning av The Merge . Vi är på väg att förvandla get till "exekveringslagerklienten" för de sammanslagna exekverings-+konsensus-lagren (fmr. "eth1+eth2"). Som förberedelse för The Merge har vi skrivit om mycket av synkroniseringskoden för att fungera under kontroll av konsensuslagret. Geth deltar också i Merge-testnät.

Dessutom har geth-teamet arbetat med flera långsiktiga projekt, såsom implementering av Verkle Trees, en beacon chain light-klient och ett nytt databaslagringssystem för Ethereum-staten.

Javascript-teamet

Författare av Holger Drewes

Under de två sista kvartalen av 2021 var förberedelserna för "de stora övergångarna" på Ethereum-nätverket ett starkt fokus i vårt arbete. Vi deltog i Merge Interop i Grekland och släppte de första Merge-testnet-klara versionerna av vår klient, VM och relaterade bibliotek (se t.ex. EthereumJS-klienten v0.2-versionen). Vi började också på ett spännande experiment med Go-Ethereum Verkle/Stateless-teamet för att inbyggt testa tillståndslös blockexekvering baserat på ett verkle-bevis som serveras längs en modifierad blockrubrik via devp2p inom vår klient. Om du är intresserad kan du se följande spårningsproblem för att se våra framsteg.

Lite mer tillämpligt för slutanvändaren just nu :stödet från våra bibliotek för de framväxande L2-nätverken som Polygon, Arbitrum eller Optimism har förbättrats. Dessa och några andra nätverk kan nu direkt refereras till t.ex. skicka en transaktion till ett visst L2-nätverk. Se t.ex. Common v2.6.0-versionen för den senaste Optimism L2-nätverksintegrationen.

Och sist men inte minst:det finns en VM ArrowGlacier-version tillgänglig och på Ethers.js-fronten. Richard har precis lagt upp en spännande översikt över de kommande Ethers.js v6-biblioteksändringarna och uppdateringarna på sin blogg.

Sekretess- och skalningsutforskningar

Författare av Thore Hildebrandt

Privacy &Scaling Explorations-teamet arbetar för att överbrygga klyftan mellan spetsforskning inom nollkunskapsbevis och applikationsutveckling på Ethereum.

zkEVM

Målet med zkEVM är att köra smarta kontrakt i en zk-rollup. Tyvärr var EVM inte designad för att köras i en zk-krets vilket gör det till en utmaning. Vi vill implementera hela uppsättningen EVM-opkoder direkt i zk-kretsarna så att ett smart kontrakt som körs på L1 kan distribueras till L2 med minimala modifieringar. Detta kommer att möjliggöra full kompatibilitet med befintliga verktyg och göra det möjligt för oss att dra nytta av kunskapen om EVM som ekosystemet har byggt upp under de senaste åren. Vi gör goda framsteg när det gäller specifikation av opkoder och implementering av kretsarna, och vi har tidiga riktmärken och ett viktigt mål framöver för att få ner provningstiden.

ZKOPRU

ZKOPRU (zk-optimistic-rollup) är en lager-2-skalningslösning för privata transaktioner med zk-SNARK och optimistisk rollup. Den stöder privata överföringar och privata atombyten inom lager-2-nätverket mellan ETH, ERC20 och ERC721. Det ger också omedelbara uttag med funktioner för att betala i förskott och kompatibilitet med efterlevnad med utgiftsnyckel och visningsnycklar. ZKOPRU har nyligen lanserats på testnet - fortsätt och kolla in det. Vi arbetar med att förbättra synkroniseringstider och på en privat utbytesfunktion.

Unirep &Unirep Social

UniRep är ett privat och icke-avvisbart ryktesystem. Användare kan få positivt och negativt rykte från intygare och frivilligt bevisa att de har åtminstone ett visst rykte utan att avslöja det exakta beloppet. Dessutom kan användare inte vägra att ta emot rykte från en attester. Vi använder Unirep för att bygga Unirep Social:en Reddit-liknande plattform som tillåter användare att privat ackumulera karma. Att bygga Unirep Social-webbplatsen var vårt fokus under de senaste månaderna. Bevis i Unirep indexeras nu så att de kan remitteras många gånger och förhindrar att ett bevis skickas in två gånger. Unirep kan nu hantera ett första rykte-airdrop och användartillståndsövergång. Vi förbättrar också effektiviteten i att generera användartillstånd och Unirep-tillstånd.

Grundläggande funktioner, frontend-design, frontend och backend av Unirep Social är kompletta, och vi planerar en sluten pre-alpha release. Kolla in det här blogginlägget om du vill veta mer.

CLR.fund for Everyone

Målet med projektet är att göra det enkelt för alla samhällen att köra sin egen CLR-runda med clr.fund. Det här projektet har varit mycket upptaget. Du kan nu distribuera din egen kvadratiska finansieringsansökan med clr.fund Deployer. Ge ditt samhälle möjlighet att välja och finansiera sin egen framtid, på ett helt decentraliserat sätt. Kolla in vår subgraf och dokumentation.

InterRep

Rykte är nyckeln till förtroende. Människor lägger år på att bygga upp sitt rykte på centraliserade sociala plattformar, men de måste börja från ingenting när de börjar använda en ny app. InterRep syftar till att göra rykte portabelt för att utöka de sammansatta fördelarna med pålitliga mänskliga interaktioner över webben. Kolla in det här blogginlägget för det första tillkännagivandet och repan. Under det senaste kvartalet har vi utökat utbudet av sociala beviskällor, till POAP och e-post och har kurerat grupper:on-chain och off-chain via en Telegram-bot. Vi gör en omdesign av användargränssnittet, förbättrar interaktionen med klientapplikationer och förbereder oss för en livelansering.

Semaphore / ZK-Keeper

Semaphore är en gadget med noll kunskap som tillåter användare att bevisa sitt medlemskap i en uppsättning utan att avslöja sin ursprungliga identitet. Samtidigt tillåter det användare att signalera att de godkänner en godtycklig sträng. Det är utformat för att vara ett enkelt och generiskt integritetslager för Ethereum dApps. Användningsfall inkluderar privat röstning, whistleblowing, mixers och anonym autentisering. Med ZK-Keeper fokuserar vi på att hålla Semaphore uppdaterad med de senaste zk-verktygen och integrera den med andra projekt som InterRep. Vi har nya libs för hantering av semaforbevis och identiteter. Implementeringen görs nu ovanpå Halo2 och vi förbereder den för att användas i webbläsaren.

RLN

RLN (Rate Limiting Nullifier) ​​är en konstruktion baserad på noll-kunskapsbevis som möjliggör skräppostförebyggande för decentraliserade, anonyma miljöer. I anonyma miljöer är enheternas identitet okänd. Vi har nyligen publicerat ett förklarande blogginlägg för att få fler människor entusiastiska över idén. Vi har avslutat forskning kring "Förbarhetsanalys för ETH2 Validator-integritet med RLN". Vi arbetar med att produktionsalisera projektet "Privat chattapp med RLN och Interrep". Vi hjälper också till med att integrera ZK-Keeper-pluginet i RLN-projekten.

Protokollstöd

Författare av Tim Beiko

Protocol Support (PS)-teamet bildades 2021 för att öka antalet sätt som teamen som bygger eller interagerar med Ethereum-basskiktet stöds. Teamets huvudfokus är att göra det möjligt för kärnutvecklare att skicka nätverksuppgraderingar på Ethereums exekveringslager.

För detta ändamål utplacerades Berlin, London och Arrow Glacier i år. Utöver dessa har PS lagt ned betydande ansträngningar på att arbeta för sammanslagning, först med Rayonism, sedan Amphora-verkstaden och nu Kintsugi Deevnet!

Denna accelererande takt och omfattning av förändringar har krävt mer uppsökande till Ethereum-gemenskapen, vilket ledde till att vårt team organiserade frekventa gemenskapssamtal. Under dessa bjöds applikations-, infrastruktur- och verktygsutvecklare in för att diskutera hur man bäst stödjer protokolluppgraderingar och ger en smidig övergång för sina användare. Vid sidan av dessa samtal har teamet hållit flera föredrag och publicerat flera inlägg om den föränderliga Ethereum-färdplanen, som den senaste uppdateringen av alla kärnutvecklare, det här inlägget i Bankless och det här senaste inlägget om Merge och applikationslagret i EF-bloggen.

Utöver protokolluppgraderingar har PS-teamet tagit två stora initiativ för att säkerställa att kundteamen får bra stöd. Först tillkännagavs ett klientincitamentsprogram för att ge team Ethereum-anpassade långsiktiga incitament. Programmet förser klientteam med en uppsättning av 144 validerare som de måste köra med sin programvara. Förutsatt att team fortsätter att uppfylla vissa prestandariktmärken på mainnet, tilldelas dessa validerare gradvis till teamen, som är fria att antingen likvidera dem eller hålla dem igång för att samla in belöningar och avgifter. Det här programmet anpassar teamen till Ethereum, säkerställer att de "dogfoodar" sina kunder på mainnet och att de fortsätter att leverera effektiv programvara.

För det andra lanserades ett Core Developer Apprenticeship Program. Detta program gav stipendier och mentorskap till självstyrda individer som ville dyka djupt in i protokollutveckling. CDAP lanserades som ett experiment som visade sig vara otroligt framgångsrikt! Två kohorter kördes, med över 25 deltagare. Av dessa arbetar nu minst 5 heltid i ekosystemet. Dessa inledande kohorter har lärt oss mycket om vad som var bra och vad som kunde förbättras med programmet. Räkna med en förnyad CDAP 2022!

Slutligen experimenterade teamet med att tillhandahålla infrastruktur till kundteamen och en bredare gemenskap. För det ändamålet skickades crawler.ethereum.org med öppen källkod. Vi hoppas att en ytterligare sökrobot igång och tillgänglig för communityn att förbättra, modifiera eller dela upp hjälper till att ge bättre överblick över nätverkets topologi.

Remix

Författare av Rob Stupay

Under de senaste 6 månaderna har Remix-teamet skruvat loss baksidan av vår app för att göra en omfattande omkoppling. Först bland dessa förändringar var det fortsatta arbetet med att flytta vår kod till React. Vi utökade också vår räckvidd genom att ringa in några effektiva kanaler till nya gemenskaper och ta in nya användare med en "rundtur" av vår IDE. Vi har kopplat in projekt i vår "upplevelse", integrerat Slither och Hardhat, samt uppdaterat Remix VSCode-tillägget.

Och, om det inte räcker, har vi fastnat på några verktyg för samarbetskodning, förbättring av decentraliserad GIT och integrering av Github. Sist men inte minst har vi uppdaterat våra befintliga plugins. Kort sagt, vi har maxat det till 11.

Se mer information i vår artikel.

Robust Incentives Group

Författare av Barnabe Monnot

RIG (Robust Incentives Group) välkomnade nya teammedlemmar och deltog i många viktiga milstolpar för Ethereum-protokollet. För en snabb uppdatering om vad RIG är och vad vi bryr oss om, kan du kolla in Protocol cryptoeconomics with the RIG, presenterad av Barnabé på EthCC i juli.

På Proof-of-Stake-konsensussidan hittade Caspar, som anslöt sig som forskare på heltid tidigare i år, ett problem med det nuvarande gaffelvalet, skrivet som Tre attacker på Proof-of-Stake Ethereum. Lyckligtvis finns det en stark kandidatfix som nyligen slogs samman i konsensusspecifikationerna, efter många produktiva diskussioner med Stanfords Tse Lab, som var medförfattare till tidningen "Three attacks". Caspar och andra föreslog också en annan begränsning ("förslagsställare sammanslagning"), som fortfarande är under forskning. Kolla in Caspar på Liscon som presenterar sina resultat!

Shyam, som kom till oss först som forskarpraktikant förra sommaren och nu är forskningsassistent vid RIG, släppte en serie anteckningsböcker som utforskar beaconkedjans statistik från många unika vinklar, inklusive oceaniska spel och ojämlikhet. Shyam har också arbetat på en förlängning av vår Beacon runner PoS-simuleringsmotor som inkluderar förstärkningsinlärning. Kolla in hans föredrag på EDCON!

Block 12 965 000, 5 augusti, 12:33:42 UTC, var ett viktigt datum för oss:Londons hårdgaffel aktiverades och med den EIP-1559. Under det senaste året har vi släppt en serie bärbara datorer som presenterar olika simuleringar av den nya avgiftsmarknadsmekanismen, vilket satte scenen för ytterligare analys efter lanseringen. Barnabé rapporterade några resultat tidigt efter, och skrev tillsammans med medförfattare (inklusive Shyam) en längre uppsats, Transaction Fees on a Honeymoon:Ethereums EIP-1559 One Month Later. Uppsatsen är motiverad av beteendet hos uppdateringsregeln 1559 i den verkliga världen och öppnar nya forskningsriktlinjer för förbättringar av regeln.

RIG arbetade också i nära samarbete med cadCAD Edu-teamet för att förbereda en onlinemästarklass i valideringsekonomi, med stöd av en helt utbyggbar modell av Ethereum-ekonomi (i Python).

Snake Charmers [Python Ecosystem]

Författare av Keri Clowes

Under andra halvan av 2021 slutförde Snake Charmers-teamet de förändringar som behövdes över hela ekosystemet för att stödja Londons hårdgaffel. Detta innebar omfattande, grundläggande förändringar i hela vår stack, särskilt i Py-EVM, Ethereum Tester, Web3.py och eth-account. Det fanns också två buggar som har åtgärdats för Py-EVM. Vi har ökat ansträngningarna för att skapa utbildningsinnehåll och lagt större vikt vid utvecklarrelationer. Och som alltid finns det pågående communitysupport, problemutredning och buggklämning i våra Python-verktyg.

Fe-lang

Författare av Grant Wuerker

Under de senaste 6 månaderna har Fe-teamet minskat följande utgåvor:

0.11.0-alfa "Karlite" (2021-12-02)

  • stöd för flera filer
  • funktionsdefinitioner på strukturer

v0.10.0-alpha "Jade" (2021-10-32)

  • Konstanter och funktioner på modulnivå
  • osäker support

v0.9.0-alfa "Iridium" (2021-9-29)

  • självdeklarationer i funktionssignaturer

v0.8.0-alpha "Haxonite" (2021-8-31)

  • frågebaserad analys med Salsa

0.7.0-alfa "Galaxite" (2021-07-27)

  • Solidity ABI-avkodningskontroller

0.6.0-alfa "Feldspat" (2021-06-10)

  • inga anmärkningsvärda funktioner

Om du vill veta mer om våra framsteg under de senaste 6 månaderna kan du kolla in följande resurser:

  • släppsida
  • blogg
  • 2021 mål

Portal

Författare av Piper Merriam

Det här året har varit ett stort år för Portalnätverket. Vi började i år med en idé och bara en lös plan för hur man bygger ett peer-to-peer-nätverk som skulle kunna leverera lättåtkomst till Ethereum-protokollet. Vi har nu tre oberoende team och implementeringar och är på god väg med att lansera det första testnätet som bör utvecklas till ett fullt fungerande nätverk i slutet av 2022.

EF Portal-teamet har arbetat hårt på Trin, en portalklient skriven i Rust. EF Javascript-teamet har också arbetat med Ultralight, en portalklient skriven i Typescript som syftar till att kunna köras i webbläsaren. Teamet från Status.im har också arbetat på Fluffy, en portalklient avsedd för integration med Status ethereum-klienten och plånbokslösningarna.

Under detta år har vi löst det tidigare olösta problemet med hur man distribuerar den nuvarande Ethereum-staten på ett sätt som främjar effektiv lagring och hämtning. Vi etablerade Portal Wire Protocol, ett utbyggbart basprotokoll som är grunden för alla nätverk som utgör Portal Network. Vi hade också nöjet att arbeta med flera deltagare i Core Developer Apprenticeship Program som använde Portal Network-projekten som en startpunkt för att komma in i Core Protocol-utveckling.

Säkerhet [Säkerhet/Konsensustest]

Författare av säkerhetsteamet (säkerhets-/konsensustest)

På säkerhets- och testsidan har mycket uppmärksamhet ägnats London-uppgraderingen och den kommande sammanslagningen. Vi har gjort uppdateringar om verktyg för testförfattande och fortsatt att förbättra referenstesterna.

Soliditet

Författare av Franziska Heintel

Under andra halvåret i år släppte vi Solidity-versionerna 0.8.8, 0.8.9, 0.8.10 och 0.8.11:

  • Solidity 0.8.8 ger dig användardefinierade värdetyper som en stor nyhet. Det förbättrar också överordnade gränssnittsfunktioner, läsning från oföränderliga filer och mer.
  • Solidity 0.8.9 är en ren buggfixutgåva och fixar två viktiga, men låg svårighetsgrad:
    • Signerad Immutables Bug
    • Användardefinierade värdetyper Bug
  • Solidity 0.8.10 contains external function call optimizations, enables the new EVM code generator for pure Yul mode and can report contract invariants and reentrancy properties through the SMTChecker.
  • Solidity 0.8.11 adds a first implementation of a Language Server and allows a safer way to perform ABI-encoding.

Moreover, several Solidity team members presented at ETHGlobal’s Developer Tool Summit:

  • Hari with “What’s New in Solidity”
  • Franzi with “Next Level Source Verification with Sourcify”

The Solidity documentation got a few upgrades, most notably, we…

  • updated the resources section with general resources, Ethereum IDEs, editor integrations, Solidity tools, Solidity parsers and grammars.
  • added the functionality to open code examples in the documentation directly in Remix.

Lastly, we launched our yearly Solidity Developer Survey. If you are a Solidity developer, please take 10 minutes to share your feedback and take part in the survey here. The survey will be open until 31st of December 2021.

Oh and we’re hiring! Have a look at our C++ Engineer Solidity opening.

ZoKrates

Authored by Thibaut Schaeffer

In the second half of 2021, ZoKrates advanced on different fronts:

Language

  • Type aliasing, as well as the ability to make function calls in constant definitions
  • Support for the ternary expression syntax
  • Enable constant generics on structs

Proof systems

  • Reduction of the deployment cost for some Solidity verifiers
  • Expose recursive verification in the standard library
  • Add support for Groth16 MPC ceremonies (coming soon)

Compiler performance

  • Extensive work on reducing memory and time requirements of the compiler (coming soon with metrics!)

For a full list of the changes, check out the changelog


Ethereum
  1. Blockchain
  2. Bitcoin
  3. Ethereum
  4. Digital valutaväxling
  5. Brytning