Podobné články

Nerušte uživatelský prostor!

„Mauro, Zmlkni!“Je to chyba – v jádře. Jak dlouho jsi správcem? A *stáleses nenaučil první pravidlo údržby jádra?Pokud změna vede k rozbití uživatelských programů, je to chyba v jádře. Nikdy z toho neviníme uživatelské programy. Jak těžké to může být pochopit?“ -Linus Torvalds

Nerozbíjejte uživatelský prostor. To je zlaté pravidlo Linuse Torvalda pro vývoj linuxového jádra. Pro ty z vás, kteří čtou tento článek a nejsou obeznámeni s podstatou Linuxu nebo operačních systémů obecně, jádro je srdcem a duší operačního systému. Jádro je to, co ve skutečnosti spravuje hardware, přesouvá bity mezi úložištěm a pamětí RAM, mezi pamětí RAM a procesorem při výpočtech a všemi malými zařízeními a částmi skutečného počítače, které je třeba ovládat na úrovni hardwaru.

Každá aplikace nebo program napsaný pro operační systém musí komunikovat s jádrem. Když si stáhnete Photoshop nebo Telegram, vše, co tento program dělá, se v podstatě omezuje na volání jádra. „Hej, jádro, vezmi to, co jsem právě napsal, zpracuj to a pošli to přes síťové připojení na server.“ Tohle je příkaz, který se používá pro volání jádra „Hej, jádro, vezmi ten barevný posun, který jsem udělal na tomhle políčku, vezmi ho z paměti RAM a pošli ho procesoru, aby ho upravil, a pak ho vrať zpátky do paměti RAM.“

Při změně jádra, poněkud podobně jako u Bitcoinu, je hlavním cílem vývojářů zajistit, aby se stávající aplikace, které předpokládají určitý způsob interakce s jádrem, kvůli změně jádra nerozbily. Zní to velmi povědomě pro Bitcoin a nutnost zachovat zpětnou kompatibilitu pro upgrade síťového konsensu, že?

„Vážně. Jak těžké je toto pravidlo pochopit? Zejména nerozbíjíme uživatelský prostor pomocí TOTAL CRAP. Jsem naštvaný, protože celý tvůj e-mail byl tak _hrozně_ špatný a patch, který to rozbil, byl tak očividně na hovno. Celý patch je neuvěřitelně rozbitá sračka. Přidává šílený chybový kód (ENOENT), a protože je tak šílený, přidává několik míst, kde se to dá opravit („ret == -ENOENT ? -EINVAL : ret“)

To, že se pak snažíš vymlouvat *na rozbití uživatelského prostorua obviňuješ z toho nějaký externí program, který *dřívefungoval, je prostě ostudné. Takhle se přece nepracuje. opravte si ten svůj zas*aný „nástroj pro dodržování předpisů“, protože je evidentně nefunkční. A opravte svůj přístup k programování jádra.“ -Linus Torvalds

Linux je jedním z nejdůležitějších, ne-li nejdůležitějším open source projektem na celém světě. Android běží na Linuxu, polovina backendové infrastruktury (ne-li mnohem více) běží na Linuxu. Na Linuxu běží vestavěné systémy řídící všechny druhy počítačových věcí na pozadí vašeho života, o kterých byste ani neuvažovali. Svět doslova běží na Linuxu. Možná nepřevzal vládu nad desktopem, jak si mnozí autističtí uživatelé Linuxu přáli, ale tiše pohltil téměř vše ostatní na pozadí, aniž by si toho kdokoli všiml.

Všechny tyto aplikace a programy, které lidé používají v každodenním životě, závisí na předpokladu, že vývojáři linuxového jádra neporuší v nových verzích jádra zpětnou kompatibilitu, aby jejich aplikace mohly nadále fungovat. V opačném případě musí cokoli, co používá aplikace, pokračovat v používání starších verzí jádra, nebo na sebe vzít břemeno úpravy svých aplikací, aby mohly spolupracovat se zlomovou změnou v jádře.

Nejpravděpodobnější cesta Bitcoinu k úspěchu je velmi podobná – jednoduše se stane platformou, na které jsou postaveny finanční aplikace a nástroje takovým způsobem, že si většina lidí, kteří je používají, ani neuvědomí nebo neuváží, že „Bitcoin sežral svět“ V podobném duchu jako u Linuxu platí ono zlaté pravidlo „Nerozbíjej uživatelský prostor“ desetinásobně. Problém je v tom, že povaha Bitcoinu jakožto distribuovaného konsensuálního systému, a nikoliv jediného lokálního jádra běžícího na počítači jednoho člověka, divoce mění to, co znamená „rozbití uživatelského prostoru“.

Uživatelský prostor mohou rozbít nejen vývojáři, ale i samotní uživatelé. Celý minulý rok Ordinace, nápisy a tokeny BRC-20 by to měly definitivně prokázat. To nabízí velmi vážný otazník při pohledu na mantru „Nerozbíjejte uživatelský prostor“ z pohledu vývojářů. Jakkoli mnozí bitcoináři v tomto prostoru nemají rádi Ordinály a jsou naštvaní, že jejich vlastní případy použití jsou narušovány síťovým provozem, který vytvářejí uživatelé Ordinálů, obě skupiny jsou uživatelé.

Jak tedy vývojáři tomuto problému čelí? Jedna skupina uživatelů narušuje uživatelský prostor jiné skupině uživatelů. Zavedení změny, která znemožní používání Ordinals nebo Inscriptions, výslovně porušuje mantinely zásady nenarušovat uživatelský prostor. Jsem si jistý, že lidé chtějí v reakci na toto dilema říci „Taproot rozbil uživatelský prostor!“, ale to se nestalo. Aktivace Taproot a povolení, aby data svědků byla stejně velká jako velikost celého bloku, nerozbila žádné dříve existující aplikace nebo použití postavené nad Bitcoinem. Jediné, co udělala, bylo, že otevřela dveře novým aplikacím a případům použití.

Co tedy budeme dělat? Pokusit se filtrovat nebo zlomit změnou konsensu lidi, kteří vytvářejí nápisy nebo obchodují s Ordinály, znamená zásadně porušit zásadu „nerozbíjej uživatelský prostor“ Nedělat nic umožňuje jedné třídě uživatelů rozbít uživatelský prostor jiné třídy uživatelů. V zásadě neexistuje jiné řešení tohoto problému než porušit zlaté pravidlo nebo implementovat funkce, které umožní třídě uživatelů, jejichž prostor je nyní rozbit, přizpůsobit se nové realitě sítě a zachovat životaschopnou verzi svých aplikací a případů použití.

Nerušit uživatelský prostor Bitcoinu má zásadní význam pro jeho další úspěch a funkčnost, ale není to tak jednoduché jako „nic neměnit“ Dynamické změny v chování uživatelů, které nevyžadují změnu samotného protokolu, mohou mít nakonec stejný účinek jako rozbití protokolu. Mají si vývojáři vybírat, který uživatelský prostor aplikace je rozbitý, aby zachovali prostor jiné aplikace? Řekl bych, že ne, a šel bych ještě dál a řekl bych, že každý, kdo takové chování vývojářů obhajuje, po nich požaduje, aby se chovali nezodpovědně a způsobem, který poškozuje uživatele systému. Jaká je zde tedy odpověď?

Neexistuje jiná odpověď než prosazovat a pokračovat v přidávání vylepšení protokolu, která umožní, aby aplikace, které jsou narušovány chováním některých uživatelů, fungovaly i při nově vznikajících změnách v chování uživatelů. V opačném případě žádáte vývojáře, aby zahodili zlaté pravidlo a fakticky si hráli na kingmakery, pokud jde o to, jaké případy použití je možné na Bitcoinu postavit.

Pokud se vydáme touto cestou, co tu vlastně děláme? Nemohu vám říct, co v tu chvíli děláme, ale mohu vám říct, že už to není budování distribuovaného a neutrálního systému

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Diskuze

{{ reviewsTotal }} Review
{{ reviewsTotal }} Reviews
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}