172 / 736PPLNS

Pay Per Last N Shares

PPLNS: dělení odměny podle nedávné práce

V PPLNS se dělí odměny za skutečně nalezené bloky. Na příkladu si ukážeme, proč záleží na nedávné práci, co se děje po vypnutí těžaře a proč denní příjem kolísá.

Pay Per Last N Shares (PPLNS) je způsob rozdělování odměn v těžebním poolu. Mining Pool sdružuje těžaře při hledání bloků, skupin transakcí přidávaných do veřejné historie Bitcoinu. Když pool najde blok, rozdělí určenou odměnu podle nedávné uznané práce účastníků. Za jednotlivou share, tedy důkaz práce, proto není předem slíbená pevná částka jako u Pay Per Share (PPS).

Jan připojí svůj těžební stroj k Mining Pool, službě sdružující práci těžařů. Pool se mu v režimu PPLNS nezavazuje platit pevnou cenu za každý uznaný výsledek. Místo toho při nálezu bloku otevře záznam nedávné práce a podle něj rozdělí odměnu. Tento záznam si můžeme představit jako posouvající se seznam: nové výsledky přibývají, nejstarší postupně vypadávají. Nález bloku seznam nevymaže. Stejná práce proto může získat podíl při několika nálezech, nebo z něj vypadnout dřív, než přijde jakýkoli odměňovaný blok. [1]

Výsledkům, kterými stroj průběžně dokládá práci, se říká shares. Hash je zde číslo vypočtené z údajů o navrhovaném bloku. Síť požaduje, aby bylo menší nebo rovno stanovené cílové hodnotě; těžař proto údaje opakovaně mění a zkouší nový výsledek. Splňují snazší podmínku poolu, většinou však nestačí na nový bitcoinový blok. Písmeno N označuje velikost sledovaného okna této práce. V nejjednodušším modelu jde o posledních N stejně obtížných shares celého poolu, nikoli o posledních N lidí. Jestliže se obtížnost shares liší, musí se jejich práce odpovídajícím způsobem vážit. Okno samo také neznamená pevný počet hodin: záleží na tom, jak rychle do něj přichází další práce. [1]

Představme si plné okno obsahující 1000 stejně vážených shares. Janovi jich patří 100. Pool právě našel blok a po své srážce má k rozdělení 3 BTC. Janův podíl v tomto příkladu je 100 / 1000 × 3 = 0.3 BTC. Jan dodal desetinu započítané práce, a proto mu připadne desetina rozdělované odměny. Jde jen o názorná čísla: 3 BTC zde nejsou tvrzením o výši blokové dotace, tedy nově vznikajících bitcoinů za blok, a 0.3 BTC není slíbený denní příjem. Při dalším nálezu už mohou v okně být jiné výsledky a jiná může být i částka k rozdělení. [1]

Jan potřebuje udělat údržbu a stroj odpojí. V korektně nastaveném PPLNS tím nevymaže už uznanou práci. Ta zůstává v okně a může se podílet na dalších blocích, dokud ji nevytlačí novější práce. Stejně by stárla, i kdyby Jan pokračoval v těžbě; jen by přidával další výsledky. Po novém připojení se jeho zastoupení v okně zase postupně buduje. Přerušovaný provoz může přinášet větší kolísání, není však sám o sobě automatickou pokutou za odchod. [1]

PPLNS rozděluje výsledek skutečných nálezů, takže dobrý den poolu a den bez úspěchu vypadají jinak. Záleží i na tom, jak pool zahrnuje transakční poplatky placené uživateli Bitcoinu. F2Pool tuto proměnlivost výslovně popisuje. Full Pay Per Share (FPPS) naproti tomu oceňuje uznanou práci pomocí odhadu zahrnujícího blokovou dotaci i transakční poplatky; Pay Per Share Plus (PPS+) může metodu PPLNS používat jen pro poplatkovou část. Samotné procento servisní srážky proto neřekne, který výsledek bude pro Jana lepší. Je třeba znát také to, z jaké částky se srážka počítá. [2] [3]

Vypočtený podíl, zůstatek účtu a platba přijatá do vlastní peněženky jsou odlišné kroky. Jan kontroluje, zda byl blok uznán, jak se jeho podíl spočítal a kdy lze zůstatek vybrat podle minima a harmonogramu. Při přepnutí výplatní metody navíc změna nemusí platit okamžitě. F2Pool například zveřejňuje vlastní okamžik její účinnosti. Pro poctivé porovnání je potřeba zahrnout i práci před změnou a případné pozdější odměny z jejího doznívajícího okna. PPLNS neodstraňuje riziko, že pool nezaplatí, ani účet za elektřinu a náklady na zařízení. [3] [4]

Větší okno ponechá práci započítanou déle a rozloží její možné odměnění mezi více budoucích nálezů. Tím vyhlazuje část kolísání, která vzniká příliš krátkým oknem. Neznamená ale, že malý pool začne nacházet bloky pravidelně. Na celkovou odměnu za už odvedenou práci se ale čeká déle. Pokud přehled zobrazuje její očekávanou odměnu, jde stále o odhad budoucích nálezů, ne o pevně slíbenou částku, kterou lze hned vybrat. [1]

Jedním z cílů PPLNS je omezit pool-hopping: přeskakování mezi pooly jen kvůli výhodnější fázi rozdělování odměn. Okno přesahující nález bloku bere výhodu prostému příchodu na začátku nového kola. Matematická férovost ale závisí na konkrétní variantě. Meni Rosenfeld rozlišuje jednoduché pevné N a propracovanější unit-PPLNS; naivní pravidla mohou být zneužitelná při změně síťové obtížnosti nebo hodnoty bloku. Unit-PPLNS u každé share zaznamenává údaje odvozené od síťové obtížnosti a odměny za blok v okamžiku jejího odevzdání. Při pozdější výplatě tak může zohlednit podmínky, za kterých práce vznikla. Při změně parametrů má provozovatel zachovat očekávanou hodnotu dříve uznané práce. Samotný název služby není důkazem, že to její výpočet skutečně dělá. [1]

Pro nejúplnější obraz čtěte toto heslo společně s Mining Pool, Mining Share, Full Pay Per Share, Pay Per Share, Pool Fee, Payout Threshold. Opačným směrem na něj odkazují také Mining Pool, Solo Mining, Pay Per Share, Pool Fee.

DOC · 001Rosenfeld — PPLNS windows and scoring mythsPrimární zdroj DOC · 002F2Pool — Payout schemesDokumentace DOC · 003F2Pool — PPLNS reward fluctuationsDokumentace DOC · 004F2Pool — Changing payout schemesDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení