Bitcoin
P2P e-készpénz
Satoshi
Nakamoto
Szo,
01 Nov 2008 16:16:33 -0700
Egy
új elektronikus készpénzrendszeren dolgoztam, ami teljesen megvan
peer-to-peer,
nem megbízható harmadik féllel.
A
papír a következő címen érhető el:
http://www.bitcoin.org/bitcoin.pdf
A
főbb tulajdonságok:
A
kettős kiadások megakadályozhatók egy peer-to-peer hálózattal.
Nincs
menta vagy más megbízható fél.
A
résztvevők névtelenek lehetnek.
Az
új érmék Hashcash-stílusból készülnek.
Az
új érmék generálásának bizonyítéka a
a
kettős kiadások megelőzése érdekében.
Bitcoin:
Peer-to-Peer elektronikus készpénz-rendszer
Absztrakt.
Az elektronikus pénz tisztán peer-to-peer verziója lenne
lehetővé
teszi az online fizetések közvetlen küldését egy másik féltől
anélkül,
hogy a pénzügyi intézmény áthaladna.
A
digitális aláírások a megoldás részét képezik, de a
legfontosabbak
az
előnyök elvesznek, ha egy megbízható fél még mindig
megakadályozza
dupla
kiadások. Javasoljuk a kettős kiadások megoldását
probléma
a peer-to-peer hálózat használatával. A hálózati időbélyegek
tranzakciókat
úgy, hogy azokat egy folyamatban lévő hash-alapú láncba \ t
a
munka igazolása, olyan rekord létrehozása, amely nélkül nem
lehet változtatni
a
munka igazolása. A leghosszabb lánc nem csak szolgál
bizonyíték
a megfigyelt események sorrendjéről, de bizonyíték arra, hogy
jött
a
legnagyobb CPU teljesítményből. Amíg őszinte csomópontok
irányítanak
a
hálózat legnagyobb CPU-teljesítménye, a leghosszabbak
láncolni
és kitérni a támadókat. A hálózat maga is megköveteli
minimális
szerkezet. Az üzeneteket a legjobb erőfeszítés alapján
sugározzák,
és
a csomópontok elhagyhatják és újra csatlakozhatnak a hálózathoz,
és elfogadják a
a
leghosszabb munkahelyi lánc bizonyítéka annak, hogy mi történt
elment.
Teljes
papír:
http://www.bitcoin.org/bitcoin.pdf
Satoshi
Nakamoto
--------------------------------------------------
-------------------
A
titkosítási levelezési lista
Leiratkozás
a "kriptográfia leiratkozásának" [EMAIL PROTECTED]
küldésével
Bitcoin:
Peer-to-Peer elektronikus készpénz-rendszer
Satoshi
Nakamoto
satoshin@gmx.com
www.bitcoin.org
Absztrakt.
Az elektronikus készpénz tisztán peer-to-peer verziója lehetővé
tenné az online hozzáférést
a
kifizetéseket közvetlenül az egyik féltől a másikhoz kell
elküldeni anélkül, hogy a
pénzintézet.
A digitális aláírások a megoldás részét képezik, de a
legfontosabbak
az
előnyök elvesznek, ha egy megbízható harmadik fél még mindig
megköveteli a kettős kiadások megakadályozását.
A
peer-to-peer hálózat segítségével megoldást javasolunk a kettős
kiadási problémára.
A
hálózat időbélyegzi a tranzakciókat, ha azokat egy folyamatos
láncba helyezi
hash-alapú
munka-bizonyítás, amely olyan rekordot hoz létre, amelyet nem
lehet megváltoztatni anélkül, hogy újra kell lennie
a
munka igazolása. A leghosszabb lánc nemcsak a sorrend
bizonyítékaként szolgál
az
események tanúi voltak, de bizonyították, hogy a legnagyobb
CPU-erőből származik. Mint
amíg
a CPU-teljesítmény többségét nem együttműködő csomópontok
vezérlik
megtámadják
a hálózatot, generálják a leghosszabb láncot és kitérő
támadókat. A
maga
a hálózat minimális szerkezetet igényel. Az üzeneteket a legjobb
erőfeszítéssel sugározzák
A
csomópontok elhagyhatják és újra csatlakozhatnak a hálózathoz,
és elfogadják a leghosszabbakat
a
munkahelyi lánc bizonyítéka annak, hogy mi történt, mialatt
eltűntek.
1.
Bemutatkozás
A
kereskedelem az interneten szinte kizárólag a pénzügyi
intézményekre támaszkodik
megbízható
harmadik felek az elektronikus fizetések feldolgozására. Míg a
rendszer elég jól működik
a
legtöbb tranzakcióban továbbra is fennáll a bizalom alapú modell
gyengeségei.
A
teljesen visszafordíthatatlan ügyletek nem igazán lehetségesek,
mivel a pénzügyi intézmények nem
a
viták közvetítése. A közvetítés költsége növeli a
tranzakciós költségeket, korlátozva a
minimális
gyakorlati tranzakcióméret és a kis alkalmi ügyletek
lehetőségének \ t
és
a nem reverzibilis kifizetések elvesztésének költségei
szélesebbek a nem \ t
reverzibilis
szolgáltatások. A megfordulás lehetőségével a bizalom
szükségessége terjed. A kereskedőknek kell
ügyeljenek
ügyfeleikre, több információt kérjenek tőlük, mint amire
egyébként szükség lenne.
A
csalások egy bizonyos százalékát elfogadhatatlannak tartják.
Ezek a költségek és a fizetési bizonytalanságok
személyesen
elkerülhető fizikai pénznem használatával, de nincs mechanizmus
a kifizetések elvégzésére
kommunikációs
csatornán keresztül, megbízható fél nélkül.
Szükség
van egy elektronikus fizetési rendszerre, amely a bizalom helyett
kriptográfiai bizonyítékokon alapul.
lehetővé
téve, hogy bármely két hajlandó fél közvetlenül megbízhasson
egymással, megbízható megbízás nélkül
harmadik
fél. Azok a tranzakciók, amelyek kiszámíthatóan nem praktikusak
a visszavonáshoz, megvédnék az eladókat
a
csalásból és a rutin letéti mechanizmusok könnyen
megvalósíthatók a vásárlók védelme érdekében. Ban ben
Ezzel
a dokumentummal megoldást javasolunk a kettős kiadás problémájára,
egy elosztott peer-to-peer segítségével
időbélyegkiszolgáló,
amely a tranzakciók időrendi sorrendjének számítási
bizonyítékát generálja. A
a
rendszer biztonságos, amíg a becsületes csomópontok együttesen
több CPU-teljesítményt vezérelnek, mint bármelyik
a
támadó csomópontok együttműködő csoportja.
1
2.
Tranzakciók
Elektronikus
érmét definiálunk digitális aláírási láncként. Minden
tulajdonos átadja az érmét a
majd
az előző tranzakció hash-jének és a következő tulajdonos
nyilvános kulcsának digitális aláírásával
és
hozzáadjuk ezeket az érme végéhez. A kedvezményezett
ellenőrizheti az aláírásokat, hogy ellenőrizze a láncot
tulajdonjog.
A
probléma természetesen az, hogy a kedvezményezett nem tudja
ellenőrizni, hogy az egyik tulajdonos nem dupla-költ
az
érme. A közös megoldás egy megbízható központi hatóság vagy
pénzverde bevezetése
tranzakció
a kettős kiadásra. Minden egyes tranzakció után az érmét vissza
kell vinni a pénzverdehez
adjon
ki egy új érmét, és csak a pénzverdeből közvetlenül
kibocsátott érmék kerülnek megbízásra, hogy ne kerüljenek
kettős kiadásra.
Ennek
a megoldásnak a problémája az, hogy a teljes pénzrendszer sorsa
függ az
a
pénzverde működtető vállalat, minden tranzakciónak át kell
mennie rajtuk, mint egy bank.
Szükségünk
van arra, hogy a kedvezményezett tudja, hogy a korábbi tulajdonosok
korábban nem írtak alá
tranzakciókat.
Célunk, hogy a legkorábbi tranzakció számít, így nem érdekel
arról,
hogy később megpróbálunk kétszer költeni. A tranzakció
hiányának megerősítése csak így lehetséges
tudatában
kell lennie minden tranzakciónak. A pénzverde alapú modellben a
pénzverde tudatában volt minden tranzakciónak és
úgy
döntött, hogy melyik érkezett először. Ahhoz, hogy ezt
megbízható fél nélkül hajtsa végre, a tranzakcióknak
nyilvánosan
bejelentették [1], és szükségünk van egy rendszerre, amely a
résztvevők számára, hogy megállapodjanak a történelem egyetlen
történetében
sorrendben.
A kedvezményezettnek igazolnia kell, hogy az egyes ügyletek
időpontjában a
a
csomópontok többsége egyetértett abban, hogy az első érkezett.
3.
Időbélyegző kiszolgáló
Az
általunk javasolt megoldás időbélyeg-kiszolgálóval kezdődik.
Az időbélyegkiszolgáló az a
egy
tételek tömbje, amelyet időbélyegzéssel és a hash széles körű
közzétételével, például az a
újság
vagy Usenet-hozzászólás [2-5]. Az időbélyegző bizonyítja, hogy
az adatoknak létezniük kellett
nyilvánvalóan
az idő, hogy belépjen a hashba. Minden időbélyeg tartalmazza az
előző időbélyeget
annak
hash-ját, egy láncot alkotva, minden további időbélyegzővel
megerősítve azokat.
2
Blokk
Tétel
Tétel
...
hash
Blokk
Tétel
Tétel
...
hash
Tranzakció
Tulajdonos
1
Nyilvános
kulcs
Tulajdonos
0
Aláírás
hash
Tranzakció
Tulajdonos
2
Nyilvános
kulcs
Tulajdonos
1
Aláírás
hash
Ellenőrizze
Tranzakció
Tulajdonos
3
Nyilvános
kulcs
Tulajdonos
2
Aláírás
hash
Ellenőrizze
Tulajdonos
2
Privát
kulcs
Tulajdonos
1
Privát
kulcs
Jel
Jel
Tulajdonos
3
Privát
kulcs
4.
A munka igazolása
Ha
elosztott időbélyeg-kiszolgálót akarunk egymás közötti alapon
megvalósítani, akkor ki kell használni egy
A
munkahelyi rendszer hasonló az Adam Back Hashcash-hez [6], nem pedig
újsághoz vagy Usenethez.
A
munka bizonyítéka egy olyan érték beolvasása, amely akkor
zajlik, mint a SHA-256, a
A
hash száma nulla bitekkel kezdődik. A szükséges átlagos munka
exponenciális a számban
nulla
bit szükséges, és egyetlen hash végrehajtásával ellenőrizhető.
Időbélyegzőhálózatunk
számára a munka igazolását egy nonce értékkel növeltük
blokkolja,
amíg meg nem talál egy értéket, amely megadja a blokk hash-ját a
szükséges nulla biteknek. Miután a CPU
erőfeszítést
tettek annak érdekében, hogy megfeleljen a munka igazolásának, a
blokk nem változtatható meg
anélkül,
hogy a munkát ismételték volna. Ahogy a későbbi blokkokat
láncolják utána, a blokk módosítására irányuló munka
magában
foglalja az összes blokk visszahelyezését.
A
munka bizonyítéka megoldja a többségi döntésben a képviselet
meghatározásának problémáját
készítés.
Ha a többség egy IP-cím-one-szavazáson alapul, akkor bárki
félrevezette
képesek
sok IP-t elosztani. A munka igazolása lényegében egy CPU-egy
szavazat. A többség
A
döntést a leghosszabb lánc képviseli, amely a legnagyobb
munkabiztosságot fektette be
benne.
Ha a CPU teljesítmény többségét becsületes csomópontok
vezérlik, a becsületes lánc növekedni fog
leggyorsabb
és felülmúlja a versenyző láncokat. A múlt blokk módosításához
a támadónak kell lennie
tegyük
vissza a blokk és az összes blokk munkáját, és utána lépjünk
fel, és túllépjünk
a
becsületes csomópontok munkája. Később megmutatjuk, hogy egy
lassabb támadó felgyorsul
a
következő blokkok hozzáadásával exponenciálisan csökken.
A
hardversebesség növekedésének és a csomópontok változó
érdeklődésének növelése az idő múlásával,
a
munkahelyi nehézséget egy átlagos átlagszámot célzó mozgó
átlag határozza meg
blokkok
óránként. Ha túl gyorsan generálódnak, a nehézség nő.
5.
Hálózat
A
hálózat futtatásához szükséges lépések a következők:
1)
Az új tranzakciókat minden csomópontra sugározzák.
2)
Minden csomópont új tranzakciókat gyűjt egy blokkba.
3)
Mindegyik csomópont azon dolgozik, hogy a blokk számára nehéz
munkát találjon.
4)
Ha egy csomópont talál egy munkát igazoló dokumentumot, akkor a
blokkot minden csomópontra továbbítja.
5)
A csomópontok csak akkor fogadják el a blokkot, ha minden benne
szereplő tranzakció érvényes és még nem költött.
6)
A csomópontok kifejezik a blokk elfogadását azzal, hogy a
következő blokk létrehozásával dolgoznak
az
elfogadott blokk hash-jét használva, mint az előző hash.
A
csomópontok mindig a leghosszabb láncot tartják a helyesnek, és
tovább fog dolgozni
kiterjeszteni.
Ha két csomópont egyidejűleg közvetíti a következő mondat
különböző verzióit, néhány
a
csomópontok először egy vagy többet kaphatnak. Ebben az esetben
dolgoznak azon az elsőnél, amelyet megkaptak,
de
mentse el a másik ágat, ha hosszabb lesz. A nyakkendő megszakad,
ha a következő bizonyíték
a
munkát megtalálják, és egy ág hosszabb lesz; a csomópontok,
amelyek a másiknál dolgoztak
ezután
az ág hosszabbra vált.
3
Blokk
Előző
Hash
nonce
Tx
Tx
...
Blokk
Előző
Hash
nonce
Tx
Tx
...
Az
új tranzakciók nem feltétlenül kell elérniük az összes
csomópontot. Amíg elérik
sok
csomópont, hosszú ideig egy blokkba kerülnek. A blokk adások is
tolerálják a leesést
üzenetek.
Ha egy csomópont nem kap blokkot, akkor azt a következő mondat
fogadásakor kérni fogja
rájön,
hogy hiányzott egy.
6.
Ösztönző
Megegyezés
szerint a blokkban az első tranzakció egy speciális tranzakció,
amely egy új pénzérmét hoz létre
a
blokk alkotója. Ez arra ösztönzi a csomópontokat, hogy támogassák
a hálózatot, és biztosítja
az
érmék forgalomba hozatalának kezdeti módja, mivel nincs központi
jogosultságuk az érmék kibocsátására.
Az
új érmék állandó állandóságának állandó hozzáadása az
aranybányászok kiadásaihoz hasonló
erőforrások
az arany forgalomba hozatalához. Esetünkben a CPU-idő és a
villamos energia kerül felhasználásra.
Az
ösztönzés tranzakciós díjakkal is finanszírozható. Ha egy
tranzakció kimeneti értéke
kevesebb,
mint a bemeneti értéke, a különbség olyan tranzakciós díj,
amely hozzáadódik a
a
tranzakciót tartalmazó blokk. Miután egy előre meghatározott
számú érmét belépett
az
ösztönző átmenetileg átállhat a tranzakciós díjakra, és
teljes mértékben infláció
ingyenes.
Az
ösztönző segíthet ösztönözni a csomópontok becsületességét.
Ha egy kapzsi támadó képes
összegyűjtsön
több CPU-teljesítményt, mint az összes becsületes csomópont,
azt kell választania, hogy használja
az
embereket azáltal, hogy ellopja a kifizetéseit, vagy új érmék
előállítására használhatja. Ő kell
a
jövedelmezőbbnek tűnik a szabályok betartása, olyan szabályok,
amelyek több új érmével kedveznek neki, mint
mindenki
más együtt, mint hogy aláássa a rendszert és a saját vagyonának
érvényességét.
7.
A lemezterület visszaszerzése
Amint
az érme legutóbbi tranzakciója elég sok blokk alatt van
eltemetve, az elköltött tranzakciók előtt
eldobható
a lemezterület mentése. Ennek megkönnyítése érdekében a blokk
hash megszakítása nélkül
a
tranzakciók Merkle Tree-ben [7] [2] [5] vannak, csak a gyökér
szerepel a blokk hashjában.
A
régi tömböket ezután tömöríthetjük a fa ágainak
eltávolításával. A belső hash csinál
nem
kell tárolni.
Egy
tranzakció nélküli blokkfejléc körülbelül 80 bájt lenne. Ha
feltételezzük, hogy a blokkok
10
percenként generált, 80 bájt * 6 * 24 * 365 = 4,2 MB / év.
Számítógépes rendszerekkel
jellemzően
2 GB RAM-mal értékesít 2008-tól, és Moore törvénye a jelenlegi
növekedést előre jelzi
1,2
GB / év, a tárolás nem lehet probléma még akkor is, ha a
blokkfejléceket be kell tartani
memória.
4
Blokk
Blokk
Blokkfejléc
(blokkolás)
Előző
Hash
nonce
Hash01
Hash0
Hash1
Hash2
Hash3
Hash23
Gyökér
Hash
Hash01
Hash2
Tx3
Hash23
Blokkfejléc
(blokkolás)
Gyökér
Hash
A
Merkle-fában megtört tranzakciók
Tx0-2
metszése után a blokkból
Előző
Hash
nonce
Hash3
Tx0
Tx1
tx2
Tx3
8.
Egyszerűsített fizetési ellenőrzés
A
kifizetések teljes hálózati csomópont futtatása nélkül
ellenőrizhetők. A felhasználónak csak meg kell tartania
a
legrégebbi munka lánc blokkfejlécének másolata, amelyet
lekérdezéssel kaphat
hálózati
csomópontok, amíg meg nem győződik róla, hogy rendelkezik a
leghosszabb lánccal, és megkapja a Merkle-ágat
a
tranzakció összekapcsolása a blokkmal, amelyre időbélyegzett.
Nem tudja ellenőrizni a tranzakciót
magát
a láncban lévő helyhez kötve, láthatja, hogy egy hálózati
csomópont elfogadta,
és
a hozzáadott blokkokat, amelyek megerősítik, hogy a hálózat
elfogadta.
Mint
ilyen, az ellenőrzés megbízható, amíg a becsületes csomópontok
irányítják a hálózatot, de több
sérülékeny,
ha a hálózatot támadó támadja. Míg a hálózati csomópontok
ellenőrizhetik
tranzakciókat,
az egyszerűsített módszert egy támadó készítette
mindaddig,
amíg a támadó továbbra is leküzdheti a hálózatot. Egy
stratégia
ez
ellen védeni kell a hálózati csomópontok figyelmeztetéseit, ha
érvénytelenítenek
blokkolja,
a felhasználó szoftvereit, hogy töltse le a teljes blokkot és a
figyelmeztetett tranzakciókat
megerősítse
az ellentmondást. A gyakori kifizetéseket kapó vállalkozások
valószínűleg még mindig szeretnék
futtassa
saját csomópontjaikat a függetlenebb biztonság és a gyorsabb
ellenőrzés érdekében.
9.
Érték kombinálása és felosztása
Bár
az érméket egyénileg lehet kezelni, nehézkes lenne egy
külön
tranzakció minden egyes centre egy transzferben. Az érték
megosztása és egyesítése
a
tranzakciók több bemenetet és kimenetet tartalmaznak. Általában
egyetlen bemenet lesz
egy
nagyobb korábbi tranzakcióból vagy több bemenetből, amelyek
kisebb összegeket kombinálnak, és legfeljebb kettőt
kimenetek:
az egyik a fizetésre, és az egyik, ha van ilyen, a visszaküldés a
küldőnek.
Meg
kell jegyezni, hogy a fan-out, ahol a tranzakció több tranzakciótól
függ, és azok
a
tranzakciók többtől függenek, itt nem jelent problémát. Soha
nem kell kivonni a
a
tranzakció történetének teljes önálló példánya.
5
Tranzakció
Ban
ben
...
Ban
ben
Ki
...
Hash01
Hash2
Hash3
Hash23
Blokkfejléc
Merkle
Root
Előző
Hash
nonce
Blokkfejléc
Merkle
Root
Előző
Hash
nonce
Blokkfejléc
Merkle
Root
Előző
Hash
nonce
Merkle
Branch a Tx3 számára
A
leghosszabb munka-lánc
Tx3
10.
Adatvédelem
A
hagyományos banki modell az adatvédelem korlátozásával
korlátozza a magánélet védelmét
az
érintett felek és a megbízható harmadik fél között. A
tranzakciók nyilvános közzétételének szükségessége
kizárja
ezt a módszert, de a magánéletet továbbra is fenntarthatjuk az
információáramlás megszakításával
egy
másik hely: a nyilvános kulcsok névtelen megtartásával. A
nyilvánosság láthatja, hogy valaki küld
valaki
másnak, de a tranzakciót senkivel nem összekötő információ
nélkül. Ez
hasonlóan
a tőzsdék által kibocsátott információk szintjéhez, ahol az
idő és a méret
az
egyéni kereskedelem, a „szalag” nyilvánosságra kerül, de
anélkül, hogy elmondaná, hogy ki a felek.
További
tűzfalként minden egyes tranzakcióhoz új kulcspárot kell
használni, hogy megtartsák azokat
egy
közös tulajdonoshoz. Néhány összekapcsolás elkerülhetetlen a
több bemenettel
tranzakciók,
amelyek szükségszerűen feltárják, hogy inputja ugyanazon
tulajdonos tulajdonában volt. A kockázat
az,
hogy ha egy kulcs tulajdonosát feltárjuk, akkor a kapcsolás más
tranzakciókat is felfedhet
ugyanaz
a tulajdonos.
11.
Számítások
Úgy
véljük, hogy egy támadó forgatókönyve gyorsabb, mint a
becsületes
lánc.
Még ha ez megtörténik, ez nem dobja a rendszert önkényes
változásoknak, például
mint
a vékony levegőből származó értékek létrehozása, vagy olyan
pénz bevétele, amelyek soha nem tartoztak a támadóhoz. A
csomópontok
nem
fog érvénytelen tranzakciót elfogadni fizetésként, és az
őszinte csomópontok soha nem fogják elfogadni a blokkot
azokat.
A támadó csak akkor próbálja megváltoztatni az egyik saját
tranzakcióját, hogy visszavegye
pénzt,
amit a közelmúltban költött.
A
becsületes lánc és a támadó lánc közötti verseny
binomiálisként jellemezhető
Véletlen
séta. A sikertörténet az a becsületes lánc, amelyet egy blokk
meghosszabbít
+1,
és a meghibásodás eseménye a támadó láncának egy blokkkal
történő meghosszabbítása, ami csökkenti a
-1.
Az
a valószínűség, hogy egy támadó egy adott hiányról
felzárkózik, hasonló a szerencsejátékosokhoz
Romos
probléma. Tegyük fel, hogy a korlátlan hitelminősítő
szerencsejátékos hiánya és potenciálisan egy
végtelen
számú próbálkozás, hogy megpróbálja elérni a túlsúlyt.
Kiszámíthatjuk, hogy valaha milyen valószínűséggel
eléri
a túlsúlyt, vagy hogy a támadó valaha is elkapja a becsületes
láncot [8]:
p
= valószínűség, hogy egy becsületes csomópont megtalálja a
következő blokkot
q
= a valószínűség, hogy a támadó megtalálja a következő
blokkot
q
z = valószínűsége, hogy a támadó valaha is eléri a z blokkokat
q
z = { 1
ha
p ≤ q
q
/ p
Z
ha
p q }
6
identitások
tranzakciók
Megbízható
Harmadik
fél
Partner
Nyilvános
identitások
tranzakciók
Nyilvános
Új
adatvédelmi modell
Hagyományos
adatvédelmi modell
Feltételezve,
hogy a p> q , a valószínűség exponenciálisan csökken, mint a
blokkok száma
a
támadónak fel kell lépnie a növekedéssel. Az esélye ellen, ha
nem szerencsés
korántsék
előre, az esélye eltűnően kicsi, ahogy elmarad.
Most
azt vizsgáljuk, hogy az új tranzakció címzettjének mennyi ideig
kell várnia, mielőtt megérkezik
kellően
biztos, hogy a feladó nem tudja megváltoztatni a tranzakciót.
Feltételezzük, hogy a feladó támadó
aki
azt akarja, hogy a címzett úgy gondolja, hogy egy ideig fizetett
neki, majd kapcsolja vissza, hogy visszatérjen
egy
idő elteltével. A vevőt figyelmezteti, ha ez megtörténik, de a
a
feladó reméli, hogy túl késő lesz.
A
vevő új kulcspárot hoz létre, és a nyilvános kulcsot röviddel
azután adja meg
aláírás.
Ez megakadályozza, hogy a feladó előzőleg előkészítse a
blokkokat
folyamatosan,
amíg elég szerencséje van ahhoz, hogy elég messzire menjen előre,
majd végrehajtja a tranzakciót
Abban
a pillanatban. A tranzakció elküldése után a tisztességtelen
feladó titkosan kezdi meg munkáját a
párhuzamos
láncot, amely a tranzakció alternatív változatát tartalmazza.
A
címzett vár, amíg a tranzakció hozzá lett adva egy blokkhoz, és
z blokkok lettek
összekapcsolva.
Nem tudja a támadó által elért haladás pontos összegét
feltételezve,
hogy a becsületes blokkok a blokkra számított átlagos várható
időt vették figyelembe, a támadó potenciálja
a
haladás várható értéke Poisson-eloszlás lesz:
=
z
q
p
Annak
érdekében, hogy a támadó még mindig felismerje a valószínűséget,
megszorozzuk a Poisson-sűrűséget
minden
olyan előrehaladás mértékét, amelyet a valószínűséggel
tudott volna elérni, ha fel tud lépni ebből a pontból:
Σ
k
= 0
∞
k
e −
k
!
⋅ {
q / p z - k
ha
k ≤ z
1
ha
k z }
A
forgalmazás végtelen farka összegzésének elkerülése érdekében
át kell alakítani ...
1−
∑
k
= 0
Z
k
e −
k
!
1
− q / p z - k
Konvertálás
C-kódra ...
#include
<math.h>
kettős
AttackerSuccessProbability (dupla q, int z)
{
dupla
p = 1,0 - q;
kettős
lambda = z * (q / p);
kettős
összeg = 1,0;
int
i, k;
(k
= 0; k <= z; k ++)
{
kettős
poisson = exp (-lambda);
(i
= 1; i <= k; i ++) esetén
poisson
* = lambda / i;
sum
- = poisson * (1 - pow (q / p, z - k));
}
visszatérési
összeg;
}
7
Néhány
eredmény futtatásával a valószínűség csökkenése
exponenciálisan z.
q
= 0,1
z
= 0 P = 1,0000000
z
= 1 P = 0,2045873
z
= 2 P = 0,0509779
z
= 3 p = 0,0131722
z
= 4P = 0,0034552
z
= 5 P = 0,0009137
z
= 6 P = 0,0002428
z
= 7 P = 0,0000647
z
= 8 P = 0,0000173
z
= 9 P = 0,0000046
z
= 10 P = 0,0000012
q
= 0,3
z
= 0 P = 1,0000000
z
= 5 P = 0,1773523
z
= 10 P = 0,0416605
z
= 15 P = 0,0101008
z
= 20 P = 0,0024804
z
= 25 P = 0,0006132
z
= 30 P = 0,0001522
z
= 35 P = 0,0000379
z
= 40 P = 0,0000095
z
= 45 P = 0,0000024
z
= 50 P = 0,0000006
0,1%
-nál kisebb P megoldása ...
P
<0,001
q
= 0,10 z = 5
q
= 0,15 z = 8
q
= 0,20 z = 11
q
= 0,25 z = 15
q
= 0,30 z = 24
q
= 0,35 z = 41
q
= 0,40 z = 89
q
= 0,45 z = 340
12.
Következtetés
Az
elektronikus tranzakciók rendszerét bizalomra támaszkodva
javasoljuk. Kezdtünk
a
digitális aláírásokból készült érmék szokásos kerete, amely
erős ellenőrzést biztosít
a
kettős kiadások megakadályozásának módja nélkül. Ennek
megoldásához mi
egy
peer-to-peer hálózatot javasolt, amely a tranzakciók nyilvános
előzményeinek rögzítésére szolgál
hogy
a támadó gyorsan kiszámíthatóvá válik, ha becsületes
csomópontok változnak
a
CPU többségének vezérlése. A hálózat strukturálatlan
egyszerűségében robusztus. csomópontok
mindent
egyszerre, kevés koordinációval. Nem kell azonosítani őket,
mivel az üzenetek
nem
vezetnek egy adott helyre, és csak a legjobb erőfeszítéssel kell
ellátni. Csomópontok
hagyja
el és csatlakozzon újra a hálózathoz, és elfogadja a munkahelyi
láncot bizonyítékként
amikor
elmentek. A CPU-teljesítményükkel szavaznak, és elfogadják
érvényes
blokkok azáltal, hogy megpróbálják kiterjeszteni őket és
elutasítják az érvénytelen blokkokat, ha megtagadják a munkát
őket.
Ezzel a konszenzusmódszerrel bármely szükséges szabály és
ösztönző érvényesíthető.
8
Irodalom
[1]
W. Dai, "b-pénz", http://www.weidai.com/bmoney.txt,
1998.
[2]
H. Massias, XS Avila és J.-J. Quisquater, "Biztonságos
időbélyegző szolgáltatás tervezése minimális
bizalmi
követelmények, "A Benelux államok információs elméletének
20. szimpóziumában , 1999 májusában.
[3]
S. Haber, WS Stornetta, "Digitális dokumentum időbélyegzése",
Journal of Cryptology , 3. kötet, nem
2,
99-111. Old., 1991.
[4]
D. Bayer, S. Haber, WS Stornetta, "A digitális időbélyegzés
hatékonyságának és megbízhatóságának javítása",
A
II . Sorrendben : A kommunikáció, a biztonság és a
számítástechnika módszerei , 329-334. Oldal, 1993.
[5]
S. Haber, WS Stornetta, "Bitstringek biztonságos neve" , a
negyedik ACM-konferencia folyamataiban
A
számítógépes és kommunikációs biztonságról , 28-35. oldal,
1997. április.
[6]
A. Vissza, "Hashcash - egy szolgáltatásmegtagadási
intézkedés"
http://www.hashcash.org/papers/hashcash.pdf,
2002.
[7]
RC Merkle, "Nyilvános kulcsú titkosítási rendszerek
protokolljai", Proc. 1980 - a biztonságról szóló szimpózium
Adatvédelem
, IEEE Computer Society, 122-133. Oldal, 1980. április.
[8]
W. Feller, "Bevezetés a valószínűségi elméletbe és
alkalmazásaiba", 1957.
9
Véletlen
karakter generátorok:
http://demo.btamas.hu/index.php?demoName=karakter_gen
http://tools.coldline.hu/randompass.php
https://www.bitaddress.org/