Bitcoin Whitepaper – makedonski prevod

Bitcoin: Peer-to-peer sistem na elektronski pari

Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org

Translated in Macedonian from bitcoin.org/bitcoin.pdf by ECD

 

Rezime. Celosnata peer-to-peer verzija na elektronski pari bi ovozmožila plakjanje preku internet direktno od edna strana kon druga bez posreduvanje od finansiskite institucii. Digitalnite potpisi nudat del od rešenieto no glavnite benifiti se gubat ako seušte e potrebna treta strana za sprečuvanje na dvojna potrošuvačka. Predlagame rešenieto na problemot so dvojnata potrošuvačka da bide koristenjeto na peer-to-per mrežata. Mrežata vremenski gi označuva transakciite taka što gi hašuva vo tekovniot lanec na dokaz za rabota (proof of work) baziran na hešot, formirajki zapis koj ne može da se promeni bez povtorna rabota i objavuvanje na dokaz za taa rabota. Najdolgiot lanec ne služi samo kako dokaz na nizata slučuvanja, tuku i kako dokaz deka taa niza e potvrdena od strana na delot na peer-to-peer mrežata koj poseduva najgolema zbirna procesorska sila (CPU). Se dodeka pogolemiot del od procesorskata sila ja kontroliraat jazli (nodes) koi ne sorabotuvaat vo napadot na mrežata, tie kje generiraat najdolg lanec i kje gi nadvladeat napagjačite. Samata mreža bara minmalna struktura. Porakite niz nea se prenesuvaat pod pretpostavka deka sekoj jazol pravi maksimalni napori da ja prenese porakata vo svojot izvoren oblik i na optimalen naćin, a jazlite možat da ja napuštat mrežata i povtorno da i se priklučat po svoja želba, prifakjajki go najdolgiot lanec na dokazi za rabota kako dokaz za ona što se slučilo dodeka tie ne bile tuka. 

  1. Voved

Trgovijata na Internet počna da se potpira isklučivo na finansiski institucii koi služat kako sigurni posrednici pri obrabotkata na elektronskite plakjanja. Iako sistemot raboti dovolno dobro za pogolemiot broj transakcii i ponatamu trpi poradi inherentnite slabosti na modelot koj e vtemelen vrz doverba. 

Potpolno nepovratni transakcii vsušnost ne se vozmožni bidejki finansiskite institucii ne možat da go izbegnat posreduvanjeto pri rešavanjeto na eventualni sporovi. Trošocite pri posreduvanjeto gi zgolemuvaat trošocite na transakciite, ja ograničuvaat minimalnata praktična golemina na transakciite i gi onevozmožuvaat malite, povremeni transakcii bidejki se pravi golema šteta poradi gubenjeto na možnosta da se izvršat nepovratni plakjanja za nepovratni uslugi. So možnosta za povrat na transakciite, potrebata za doverba raste. Trgovicite mora da bidat vnimatelni sprema svoite kupuvači i da im baraat povekje informacii otkolku što bilo neophodno. Odreden procent izmami prifaten e kako neizbežen. Ovi trošoci i nesigurnost vo plakjanjeto možat da se izbegnat so koristenje gotovina, no ne postoi mehanizam za elektronsko plakjanje bez sigurna treta strana. 

Ona što e potrebno e elektronski sistem za plakjanje baziran na kriptografski dokaz namesto na doverba, koj ovozmožuva bilo koi dve strani direktno i dobrovolno megjusebno da trguvaat bez potreba od posrednik. Transakciite koi se nepovrtani bi gi zaštitile trgovcite od izmami, a escrow mehanizmite bi možele lesno da se implementiraat za zaštita na kupuvačite. Vo ovoj dokument predlagame rešenie na problemot na dvojna potrošuvačka so koristenje na peer-to-peer distribuiran server za vremenski oznaki (timestamp) za generiranje na kompjuterski dokazi za hronološkiot redosled na transakciite. Sistemot e siguren sè dodeka česnite jazli zaedno kontroliraat pogolema procesorska sila na procesorot otkolku bilo koja združena grupa na napagjački jazli. 

.

  1. Transakcii

Elektronskata parička ja definirame kako lanec na digitalni potpisi. Sekoj sopstvenik ja prenesuva paričkata na sledniot so digitalno potpišuvanje na hešot od prethodnata transakcija i javniot kluč od sledniot sopstvenik, i dodavajki gi togaš na krajot od paričkata. Primačot na transakcijata može da gi verifikuva potpisite, a so toa i lanecot na sopstvenost.  

 

 

Problemot e sekako vo toa što primačot ne može da potvrdi deka nekoj od prethodnite sopstvenici ne ja ispratil istata parička dva pati. Voobičaeno rešenie e voveduvanje siguren centraliziran posrednik, kreator na paričkata koj gi proveruva site transakcii. Posle sekoja transakcija, paričkata mora da se vrati na kreatorot za da se izdade nova parička i se veruva deka možeme da bideme sigurni samo vo toa deka paričkite koi se izdadeni direktno od kreatorot ne bile dva pati potrošeni. Problemot so ova rešenie e što sudbinata na celokupniot paričen sistem zavisi od kompanijata koja gi kreira paričkite, bidejki sekoja transakcija mora da projde niz nea, što e isti slučaj kako so bankite. .

Ni treba način primačot da bide siguren deka prethodnite sopstvenici ne potpišale nikakvi prethodni transakcii so koi bi ja potrošile paričkata. Za našite potrebi, ja smetame transakcijata koja prva se slučila i ne ne interesiraat slednite obidi istata parička povtorno da se isprati. Edinstven način so sigurnost da potvrdime deka taa parička ne e prethodno ispratena e da imame informacii za site transakcii koi nekogaš se izvršile. Vo modelot baziran na centraliziran kreator, kreatorot imal informacii za site transakcii i odlučuval koja transakcija pristignala prva. Za da go postigneme toa bez siguren posrednik, transakciite mora javno da bidat objaveni [1] i potreben ni e sistem vo koj učesnicite možat da se dogovorat za ednistvenata istorija na redosled po koj se primeni transakciite. Na primačot mu e potreben dokaz deka vo momentot na slučuvanje na sekoja od transakciite pogolemiot broj od jazlite kje se složat okolu toa deka baš taa transakcija bila onaa koja prva e primena.  

  1. Server na vremenski oznaki

Rešenieto koe go predlagame započnuva so serverot na vremenski oznaki. Serverot na vremenski oznaki raboti taka što go zema hešot na blokot podatoci na koj kje mu se dodeli vremenska oznaka i kje im go objavi istiot toj heš na site na mrežata, slično kako vo vesnicite ili kako post na Usenet mrežata [2-5]. Vremenskata oznaka očigledno dokažuva deka podatocite morale da postojat vo toa vreme za da možat da vlezat vo hešot. Sekoja vremenska oznaka ja sodrži prethodnata vremenska oznaka vo svojot heš, pritoa formirajki lanec i sekoja dopolnitelna vremenska oznaka gi zasiluva potvrdite na onie pred nea. 

 

 

  1. Dokaz za rabota (Proof-of-Work)

Za da go implementirame distribuiraniot server so vremenski oznaki na peer-to-peer principot, kje morame da koristime sistem od dokazi za rabota sličen na Hashcash-ot na Adama Back [6] namesto Uneset postovi ili novinski objavi. Dokaz za rabota vklučuva baranje na vrednost koja, koga se hešuva, na primer so pomoš na SHA-256 heš funkcijata, kje stvori heš čij binaren zapis započnuva so odreden broj nuli. Prosečno količestvo na potrebna rabota eksponencijalno raste so brojot na potrebnite početni nuli, a može da se proveri so izvršuvanje samo na edna heš funkcija.  

Za našata mreža na vremenski oznaki implementirame dokaz za rabota zgolemuvajki gi noncite na brojot vo blokot se dodeka ne se najde onaa vrednost na nonca-ta koja mu go dava na hešot od blokot potrebniot broj početni nuli. Ednaš koga kje se potroši procesorskata sila za da se zadovoli dokazot za rabota, blokot ne može da se izmeni bez povtorna rabota. Kako što kje se vrzuvaat idnite blokovi na toj blok, rabotata potrebna toj da se izmeni bi vklučila i povtorna obrabotka na site blokovi posle nego.

 

 

Dokazot za rabota isto taka go rešava i problemot na utvrduvanje na mnozinstvoto pri odlučuvanjeto. Ako mnozinstvoto se zasnova na principot eden glas po IP adresa, toa može da go naruši sekoj koj e vo sostojba da glasa od povekje IP adresi odednaš. Dokazot za rabota vo osnova prestavuva eden glas po ednicica procesorska sila. Odlukata na mnozinstvoto e pretstavena so nadolgiot lanec vo čie sozdavanje vsušnost e investirana najgolema rabota pri dokažuvanjeto. Ako mnozinstvoto procesorska sila go kontroliraat česni jazli, česniot lanec kje raste najbrzo i kje gi nadmine site konkurentski. Za da izmeni nekoj od prethodnite blokovi, napagjačot bi moral da go povtori dokazot za rabota za toj blok i site sledni blokovi, a potoa da ja stigne i premine količinata na rabota na site česni jazli. Ponatamu kje vi pokažeme deka so dodavanje novi blokovi eksponencijalno se namaluva verojatnosta deka pobavniot napagjač kje uspee da go stigne česniot lanec. 

Za da se kompenzira zgolemuvanjeto na brzinata na hardverot i promenliviot interes na lugjeto za vodenje na jazlite so tek na vreme, težinata na vršenjeto na dokazot za rabota (proof-of-work difficulty) se odreduva sprema prosečniot broj blokovi kreirani za eden čas. Ako blokovite se kreiraat prebrzo, težinata se zgolemuva. 

  1. Mreža

Čekorite za vodenje na mrežata se slednive:

1) Novite transakcii im se prosleduvaat na site jazli vo mrežata.
2) Sekoj jazol gi sobira novite transakcii vo blok.
3) Sekoj jazol raboti na pronaogjanje dokaz za rabota so dovolno nivo na težina za svojot blok.
4) Koga jazolot kje pronajde dokaz za rabota, toj go emitira toj blok kon site jazli.
5) Jazlite go prifakjaat blokot samo ako site transakcii vo nego se validni i ne se vekje potrošeni.
6) Jazlite go izrazuvaat prifakjanjeto na blokot rabotejki na kreiranje sleden blok vo lanecot, koristejki go hešot na vekje prifateniot blok kako prethoden heš. 

Jazlite sekogaš smetaat deka najdolgiot lanec e točen i prodolžuvaat da rabotat na negovo prodolžuvanje. Ako dva jazli istovremeno emitiraat različni verzii od sledniot blok, nekoi jazli moraat prvo da go primat edniot ili drugiot blok. Vo toj slučaj sekoj jazol raboti na prviot što go dobil, no ja čuvaat i drugata alka od lanecot vo slučaj taa da bide podolga. Dilemata kje se reši koga kje se pronajde sledniot dokaz za rabota i edna alka ke stane podolga i togaš jazlite koi rabotele na drugata alka kje se prefrlat na podolgata. 

Emitiranjeto na novite transakcii ne mora nužno da dojde do site jazli. Sè dodeka stignuvaat do golem broj jazli, tie transakcii kje vlezat vo blokot. Slično važi i za blokovite, ni tie nemora vednaš da stignat do site jazli. Ako nekoj jazol propušti da ja primi infomacijata za blokot, koga kje mu stigne sledniot blok, kje zabeleži deka propuštil eden, pa kje go bara podocna.  

  1. Pottik

Po pravilo, prvata transakcija vo blokot e posebna transakcija koja kreira nova parička vo sopstvenost na kreatorot na blokot. Ova im stanuva pottik na jazlite da ja poddržat mrežata i im pruža način za početno ufrlanje na paričkata vo optek, bidejki ne postoi centralno telo koe gi izdava. Postojano dodavanje konstantni količini novi parički nalikuva na rudarenje zlato, kade rudarite gi vložuvaat resursite za da izrudarat novi količini zlato i da gi ufrlat vo optek. Vo našiot slučaj vlogovite se procesorskoto vreme i električnata energija. 

Pottikot isto taka može da se finansira i so transakciski nadoknadi. Ako inznosot na izlezniot del od transakcijata e pomal od vlezniot, razlikata e nadoknadata za transakcija koja se dodava na iznosot od nagradata za kreatorot na blokot koj ja sodrži taa transakcija. Otkako definiraniot broj parički se najde vo optek, pottik može vo celost da bidat transakcionite nadoknadi, so što sistemot se osloboduva od inflacija. 

Jazlite na ovoj način se pottiknati da ostanat česni. Ako lakomiot napagjač e vo sostojba da angažira povekje procesorska sila od site česni jazli zaedno, bi moral da izbira pomegju poništuvanje na svoite izvršeni transakcii ili procesorskata sila da ja nasoči kon kreiranje novi parički. Toj bi trebalo da uvidi deka poisplatlivo e da igra spored pravilata koi go nagraduvaat so povekje novi parički od site ostanati zaedno, odošto da go potkopuva sistemot i vrednosta na sopstvenoto bogatstvo. 

  1. Osloboduvanje prostor na hard diskot

Koga kje se dodadat dovolno blokovi posle poslednata transakcija na paričkata, prethodnite transakcii na taa parička možat da se odfrlat za da se zaštedi prostor na hard diskot. Za toa da se ostvari bez razbivanje na hešot od blokot, transakciite se hešuvani vo Merkleovoto steblo (Merkle Tree) [7] [2] [5], kade samo korenot e vklučen vo hešot od blokot. Togaš starite blokovi možat da se zbijat so otstranuvanje na nepotrebnite granki od drvoto. Vnatrešnite hešovi ne morat da bidat skladirani. 

 

 

Zaglavieto od blokot bez transakcii bi bilo okolu 80 bajti. Ako pretpostavime deka blokovite se generirani na sekoi 10 minuti, 80 bajti * 6 * 24 * 365 = 4,2 MB godišno. Imajki go vo predvid faktot deka vo 2008 godina kompjuterite voglavno se prodavale so okolu 2 GB RAM i Muroviot zakon koj predviduva rast od 1,2 GB godišno, skladiranjeto ne bi trebalo da prestavuva problem duri i ako zaglavijata od blokot se čuvaat vo memorija.  

  1. Poednostavena verifikacija na plakjanje

Vozmožno e da se verifikuvaat plakjanjata bez vodenje na celokupniot mrežen jazol. Korisnikot treba samo da sočuva kopija od zaglavieto od blokovite na najdolgiot lanec za dokaz za rabota, do koja može da dojde so istražuvanje na mrežnite jazli  dodeka ne se  osigura deka go dobil najdolgiot lanec i ja dobie Merkleovata granka koja ja povrzuva transakcijata so blokot vo koj e vnesena vremenskata oznaka za taa transakcija. Ne može samostojno da ja proveri transakcijata, no povrzuvajki ja so mestoto vo lanecot može da vidi deka e prifatena od strana na jazlite vo mrežata i deka na nejziniot blok se dodadeni sledni blokovi što ponatamu potvrduva deka mrežata ja prifatila. 

 

 

Kako takva, verifikacijata e sigurna se dodeka česnite jazli ja kontroliraat mrežata, no isto taka e i ranliva ako napagjačot go sovlada ostatokot od mrežata. Jazlite možat sami da gi proverat transakciite, no lažnite transakcii od napagjačot možat da gi izmamat onie koi go koristat poednostaveniot metod na verifikacija na transakciite se dodeka toj e vo sostojba da go sovladuva ostatokot od mrežata. Edna od strategiite za zaštita bi bila prifakjanje na predupreduvanjata na jazlite na mrežata koga kje otkrijat nevažečki blok, pri što korisnikoviot softver bi moral da go prevzeme celiot blok i spornite transakcii za da ja potvrdi nepravilnosta. Biznisite koi primaat česti uplati verojatno kje sakaat da kreiraat i vodat sopstveni jazli zaradi pobrza verifikacija i potrebata sigurnosta da ne im zavisi od drugi. 

  1. Kombiniranje i podelba na vrednostite

Iako bi bilo vozmožno da se rakuva poedinečno so paričkite, nesmasno e da se kreira posebna transakcija za sekoj cent vo toj transfer. Za da dozvolite podelba i kombniranje na vrednostite, transakciite sodržat povekje vlezovi i izlezi. Obično kje ima ili eden vlez od pogolema prethodna transakcija ili povekje vnesovi koi kombiniraat pomali iznosi, a najvekje dva izlezi: eden za samoto plakjane, a eden koj vrakja kusur, ako go ima, nazad na isprakjačot. 

 

 

Treba da se napomene deka situacijata vo koja transakcijata zavisi od nekolku drugi transakcii, a tie transakcii zavisat od mnogu povekje, ovde nema problem. Nikogaš ne postoi potreba za izdvojuvanje na istorija na poedninečnite transakcii.

  1. Privatnost

Tradicionalniot bankarski model go postignuva odgovaračkoto nivo na privatnost so ograničuvanje na pristapot kon informaciite na stranite vklučeni vo transakcijata i posrednikot. Neophodnosta za javno objavuvanje na site transakcii ja isklučuva možnosta za primena na spomenatiot model, no privatnosta i ponatamu može da se zadrži na drug način: so čuvanje na javnite klučevi (public keys) kako anonimni. Javnosta može da vidi deka nekoj mu isprakja nekoj iznos nekomu, no bez informacii koi ja povrzuvaat transakcijata so bilo koj. Ova e slično so količinata na informacii koi gi objavuvaat berzite kade vremeto i goleminata na poedinačni trguvanja se javni, no bez naveduvanje koi se stranite vklučeni vo procesot na trguvanje. 

 

 

Kako dopolnitelen zaštiten zid, se preporačuva da se koristi nov par klučevi za sekoja transakcija za da ne se povrzat so zaedničkiot sopstvenik. Nekoi povrzuvanja i ponatamu se neizbežni kaj transakciite so povekje vlezovi koi nužno otkrivaat deka nivnite vlezovi bile vo sopstvenost na ist sopstvenik. Rizikot e toj deka so otkrivanjeto na sopstvenikot na klučot možat da se otkrijat i ostanatite transakcii koi pripagjale na toj sopstvenik.

  1. Presmetki

Go razgleduvame scenarioto vo koe napagjačot se obiduva da generira alternativen lanec pobrzo od česniot lanec. Duri i ako se postigne toa, ne se ovozmožuvaat proizvolni promeni vo sistemot, kako što se kreiranje vrednosti od ništo ili zemanje pari koi nikogaš ne mu pripagjale na napagjačot. Česnite jazli nema da gi prifatat nevažečkite transakcii kako uplata i nikogaš nema da go prifatat blokot koj gi sodrži istite. Napagjačot može da se obide da izmeni edna od svoite transakcii za da gi vrati parite koi prethodno gi potrošil. 

Trkata pomegju česniot lanec i lanecot na napagjačot može da se prestavi kako binomska distribucija na slučajna diskretna varijabila (Binomial Random Walk). Uspešen ishod e koga česniot lanec kje se prodolži za eden blok, zgolemuvajki go svoeto vodstvo na +1, a neuspešen ishod e koga lanecot od napagajčot se prodolži za eden blok, namaluvajki go zaostanuvanjeto na -1. 

Verojatnosta deka napagjačot kje go nadoknadi odredeniot deficit možeme da go izrazime so problemot na propasta na kockarot (Gambler’s Ruin Problem). Da pretpostavime deka kockar so neograničen iznos na pari počnuva so zaostanuvanje i igra potencijalno beskonečen broj povtoreni igri vo obid da go nadoknadi zaostanuvanjeto. Možeme da ja presmetame verojatnosta za nadoknaduvanje na zaostanuvanjeto ili deka napagjačot kje go stigne česniot lanec na sledniov način [8]:

p= verojatnost deka česniot jazol kje go pronajde sledniot blok
q= verojatnost deka napagjačot kje go pronajde sledniot blok
qz= verojatnost deka napagjačot nekogaš kje dostigne z blokovi zaostanuvanje

So ogled na našata pretpostavka deka p > q, verojatnosta pagja eksponencijalno so zgolemuvanjeto na brojot na blokovi koi napagjačot mora da gi nadoknadi. So šansite koi se protiv nego, ako na početokot nema srekja, istite stanuvaat sè pomali so zgolemuvanjeto na zaostanuvanjeto.  

Sega kje razgledame kolku primačot na novi transakcii treba da čeka pred dovolno da se osigura deka isprakjačot ne može da ja promeni transakcijata. Pretpostavuvame deka isprakjačot e napagjač koj saka da go natera primačot da veruva deka toj mu platil, a potoa posle nekoe vreme istata transakcija ja prenasočuva kon sebe. Primačot kje primeti koga toa kje se sluči no isprakjačot kje se nadeva deka vekje e prekasno. 

Primačot generira nov par od klučevi i go dava javniot kluč na ipsrakjačot neposredno pred potpišuvanjeto na transakcijata. Ova go sprečuva isprakjačot odnapred da go podgotvi lanecot so blokovi rabotejki na nego neprestano dodeka ne mu se posrekji  da stekne dovolna prednost i vo toj moment da ja završi transakcijata. Koga transakcijata kje se isprati, nečesniot isprakjač tajno počnuva da raboti na paralelen lanec koj sodrži alternativna verzija na negovata transakcija.  

Primačot čeka dodeka transakcijata ne bide dodadena vo blokot i dodeka z od blokovite ne e dodadeno posle toj blok. Toj ne znae kolku napreduval napagjačot, no pod pretpostavka deka česnite blokovi se kreiraat so očekuvanata dinamika, potencijalniot napredok na napagjačot ke bide prikažan kako Poasonova distribucija so očekuvana vrednost:

Za da ja presmetame verojatnosta deka napagjačot sepak može da go nadoknadi zaostanuvanjeto, ja množime gustinata na verojatnosta za sekoe nivo na napredok koe možel da go ostvari so verojatnosta deka od toj moment može celosno da go nadoknadi zaostanuvanjeto:

Ja preureduvame formulata za da go izbegneme sobiranjeto na beskonečen broj sobiroci poradi opaškata na distribucija:

I ja konvertirame vo programski kod vo programskiot jazik C…

Preku nekolku primeri gledame deka verojatnosta eksponencijalno opagja so porastot na z.

 

Rešavanje za P < 0.1%…

 

 

  1. Zaklučok

Predloživme sistem za elektronski transakcii bez da se potpirame na doverba. Započnavme so voobičaeniot šablon i parički nastanati od digitalni potpisi, koi pružaat silna kontrola nad sopstvenosta, no e nepotpoln bez načinot da se spreči dvojnata potrošuvačka. Za da go rešime ova, ja predloživme peer-to-peer mrežata koja koristi dokaz za rabota za čuvanje na javnata istorija na transakciite so čija što promena brzo im stanuva nepraktična na napagjačite ako česnite jazli go kontroliraat mnozinstvoto procesorska sila. Mrežata e robusna vo svojata nestrukturirana ednostavnost. Site jazli rabotat istovremeno so mala koordinacija. Ne treba da se identifikuvaat bidejki porakite ne se nasočuvaat na edno odredeno mesto tuku samo treba da bidat preneseni so maksimalen napor od jazlite prenosot da se odraboti na predvideniot način. Jazlite možat da ja napuštat i povtorno da i se priklučat na mrežata po želba prifakjajki go lanecot za dokaz za rabota kako dokaz za ona što se slučilo dodeka ne bile prisutni. Tie glasaat so svojata procesorska sila izrazuvajki go svoeto prifakjanje na validnite blokovi so toa što se obiduvaat da gi nadogradat so novi i gi otfrlaat nevažečkite so toa što odbivaat da gi nadogradat. Site potrebni pravila i pottici možat da mu se namatnat na ovoj mehanizam so postignuvanje na konsezus. 

 

Reference:

[1] W. Dai, “b-money,” http://www.weidai.com/bmoney.txt, 1998.
[2] H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal
trust requirements,” In 20th Symposium on Information Theory in the Benelux, May 1999.
[3] S. Haber, W.S. Stornetta, “How to time-stamp a digital document,” In Journal of Cryptology, vol 3, no
2, pages 99-111, 1991.
[4] D. Bayer, S. Haber, W.S. Stornetta, “Improving the efficiency and reliability of digital time-stamping,”
In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.
[5] S. Haber, W.S. Stornetta, “Secure names for bit-strings,” In Proceedings of the 4th ACM Conference
on Computer and Communications Security, pages 28-35, April 1997.
[6] A. Back, “Hashcash – a denial of service counter-measure,”
http://www.hashcash.org/papers/hashcash.pdf, 2002.
[7] R.C. Merkle, “Protocols for public key cryptosystems,” In Proc. 1980 Symposium on Security and
Privacy, IEEE Computer Society, pages 122-133, April 1980.
[8] W. Feller, “An introduction to probability theory and its applications,” 1957.