Skip to content

Whitepaper_sv

UdjinM6 edited this page May 25, 2016 · 3 revisions

Dash: En privatcentrisk kryptovaluta

Evan Duffield - evan@dash.org
Daniel Diaz - daniel@dash.org

Abstract: En kryptovaluta baserad på Bitcoin, Satoshi Nakamotos verk med olika förbättringar så som ett tvåskiktsincentiviserat nätverk, känd som Masternode-nätverket. Andra förbättringar inkluderar: PrivateSend för att öka fungibiliteten och InstantSend som möjliggör omedelbara överföringsbekräftelser utan en centraliserad auktoritet.

1 Introduktion

Bitcoin [1] är en kryptovaluta som uppstod som ett populärt bytesmedel och är den första digitala valutan som har lockat en särdeles stor användarskara [2]. Sedan dess begynnelse 2009 har Bitcoin växt snabbt och erkänts av huvudfåran och som handlaranvändning [3]. En huvudfråga vad gäller Bitcoins acceptans inom "point-of-sale" (POS)-tillfällen har varit nätverkstiden som krävs för att bekräfta en transaktion som giltig. Alternativa betalningsföretag har skapat metoder som tillåter handlare att motta transaktioner utan bekräftelser men dessa lösningar nyttjar en betrodd motpart att medla transaktionen utanför protollet.

Bitcoin tillhandahåller signaturtransaktioner i en offentlig liggare med en en-till-en-förhållande mellan sändare och mottagare. Detta sörjer för ett permanent register för alla transaktioner som någonsin har skett på nätverket [5]. Bitcoin är vida känd inom akademiska kretsar att tillhandahålla en låg integritetsnivå, trots denna begränsning, tilltror många människor fortfarande sin finansiella historik dess blockkedja.

Dash är den första privatcentriska kryptografiska valutan baserad på Satoshi Nakamotos verk. I detta papper föreslår vi en rad förbättringar till Bitcoin som mynnar ut i en decentraliserad, kraftfull anonym kryptovaluta med bestyrkta omedelbara transaktioner och ett sekundärt "peer-to-peer"-nätverk (P2P), incentiviserad för att tillhandahållla tjänster inom Dash-nätverket.

2 Masternode-nätverk

Hela noder är servrar som körs på ett P2P-nätverk vilka tillåter användare att använda dem för att få uppdateringar om händelser inom nätverket. Dessa noder kräver en betydande mängd trafik och andra resuser som bär på omfattande kostnader. På grund av detta har Bitcoin-nätverket sett en stadig minskning av dessa noder under en tid. [7] och därmed har blockspridningen varit uppemot 40 sekunder[14]. Många lösningar har föreslagits så som ett nytt belöningssystem av Microsoft Research [4] och Bitnodes incentivprogram [6].

Figur 1: Bitcoins hela noder våren 2014

Figur 1: Bitcoins hela noder våren 2014

Dessa noder är väldigt viktiga för nätverkshälsan. De tillhandahåller klienterna möjligheten att synkronisera och snabba upp spridningen av meddelanden genom nätverket. Vi föreslår ett tillägg av ett sekundärt nätverk, känd som "Dash Masternode"-nätverket. Dessa noder kommer att ha en hög tillgänglighet och tillhandahålla en erforderlig servicenivå till nätverket för att ta del av Masternode-belöningsprogrammet.

2.1 Masternode-belöningsprogram - kostnader och betalningar

Flera av anledningarna till minskningen av de hela noderna i Bitcoin-nätverket är avsaknaden av incentivet att driva en. Med tiden kommer kostnaden att driva en hel nod att öka då nätverket används mer, skapar större bandbredd och kostar operatören mer pengar. Då kostnaden ökar konsolidiserar operatörerna sina tjänster att vara billigare genom att driva en tunn klient vilket inte hjälper nätverket alls.

Masternoderna är hela noder precis som i Bitcoin-nätverket förutom att de måste tillhandahålla en nätverksservice och ha en säkerhetsförbindelse för att delta. Säkerheten förverkas aldrig och är säker medan Masternoden arbetar. Detta tillåter investerare att sörja för en service till nätverket, tjäna ränta på deras investeringar och minska valutavolatiliteten.

För att driva en Masternode måste noden lagra 1000 DASH. När den är aktiv tillhandahåller den en service för klienter på nätverket och i gengäld får betalt i form av en utdelning. Detta tillåter användarna att betala för servicen och få avkastning på investeringen. Alla Masternoder utbetalas från samma pengapott, ungefär 45 % [fotnot] av de totala blockbelöningarna är öronmärkta för detta program.

På grund av att Masternode-belöningssystemet är procentfastställt och Masternode-nätverksnoderna fluktuerar kommer de förväntade Masternode-belöningarna variera i enlighet med de aktuella antalet aktiva Masternoder. Betalningarna för en vanlig dag för skötseln av en Masternode kan beräknas genom att använda följande formel:

(n/t)* rba

Där: n är antalet Masternoder en operatör kontrollerar t är det totala antalet Masternoder r är den aktuella blockbelöningen (för närvarande i genomsnitt omkring 5 DASH) b är block under en genomsnittlig dag. För Dash-nätverket är detta vanligtvis 576. a är den genomsnittliga Masternode-betalningen (45 % av det genomsnittliga blockantalet)

Investeringsavkastning för att driva en Masternode kan beräknas som

((n/t)r * ba*365) / 1000

Där variablerna är samma som ovan.

Den förenade kostnaden med att driva en Masternode skapar en hård och en mjuk begränsning av aktiva noder på nätverket. För närvarande är 5,3 miljoner DASH i cirkulation, endast 5,300 noder kan drivas på nätverket. Den mjuka begränsningen bedöms av priset det kostar att förvärva en nod och den begränsade likviditeten på börserna beror på DASH:s användning som en valuta och inte bara som en investering.

2.2 Deterministisk beställning

En särskild deterministisk algoritm används för att skapa en pseudoslumpmässig uppställning av Masternoderna. Genom att att använda hashen från "proof-of-work" för varje block kommer säkerheten för denna funktion att tillhandahållas av utvinnarnätverket.

Pseudokod, för val av Masternode:

För(masternode i masternoder){

n = masternode.BeräknaPoäng();

    if(n > bäst_poäng{

bäst_poäng = n; vinnande_nod = masternode; } }

CMasterNode::BeräknaPoäng(){

n1 = FåProofOfWorkHash(nBlockhöjd); // få hashen för detta block n2 = Hash(n1); //hasha POW-hashen för att öka entropin n3 = abs(n2 - masternode_vin);

avkastning n3; }

Exempelkoden kan sträckas ut vidare för att också visa Masternode-rankingen, en "andra", "tredje", "fjärde" Masternode i listan att bli vald.

2.3 Tillitslösa kvorum

För närvarande har Dash-nätverket ~2400 aktiva Masternoder[8]. Genom att kräva 1000 DASH i säkerhet för att bli en aktiv Masternode skapar vi ett system där ingen kan kontrollera hela Masternode-nätverket. Till exempel, om någon vill kontrollera 50% av Masternode-nätverket måste de köpa 2 300 000 DASH från den öppna marknaden. Detta kommer att öka priset väsentligt och det skulle bli en omöjlighet att erhålla den nödvändiga mängden DASH.

Med tillägget av Masternode-nätverket och säkerhetskraven kan vi använda det sekundära nätverk till att utföra högst känsliga uppgifter på ett tillitslöst vis där ingen enskild part kan kontrollera utkomsten. Genom att att välja "N pseudo random Masternodes" från den totala poolen att utföra samma uppgift kan dessa noder agera som ett orakel utan att hela nätverket måste utföra uppgiften.

Till exempel, implementeringen av ett tillitslöst kvorum (se InstantSend[9]), vilken använder kvorum för att godkänna transaktioner och låsa indatan för "proof-of-service"-implementeringen[10]

Ett annat exempel för att tillitslöst kvorum kan inkludera nyttjandet av Masternode-nätverket som ett decentraliserat orakel för finansmarknader, genom att möjliggöra säkrade decentraliserade kontrakt. Som exempelkontrakt: Om "Apple Stock (AAPL) är över $300 dec 31 2016 - betala publik nyckel A, i annat fall betala publik nyckel B.

2.4 Uppgifter och "Proof-Of-Service"

Masternoderna kan tillhandahålla vilka antal extratjänster som helst till nätverket. Som ett "proof-of-concept" inkluderades "PrivateSend" och "InstantSend" i vår första implementering. Genom att använda vad vi kallar "proof-of-service" kan vi kräva att dessa noder är online, ger respons och också är på den korrekta blockhöjden.

Skadliga aktörer kan också driva Masternoder men sörjer inte för några kvalitetstjänster som resten av nätverket kräver. För att minska möjligheten att folk använder systemet till deras fördel måste noderna pinga resten av nätverket för att försäkra sig om att de fortfarande är aktiva. Detta arbete görs av Masternode-nätverket genom att välja 2 kvorum per block. Kvorum A kontrollerar tjänsten för Kvorum B varje block. Kvorum A är noderna närmast den aktuella blockhashen medan Kvorum B är noder längst från nämnd hash.

Masternode A (1) kontrollerar Masternode B (rank 2300) Masternode A (2) kontrollerar Masternode B (rank 2299) Masternode A (3) kontrollerar Masternode B (rank 2298)

Allt arbete för att kontrollera att nätverket styrker att noderna är aktiva görs av Masternode-nätverket självt. Ungefär 1 % av nätverket kommer att kontrolleras vid varje block. Detta innebär att hela nätverket kontrolleras ungefär sex gånger per dag. För att bibehålla detta system tillitslöst väljer vi noderna slumpmässigt genom Kvorum-systemet, sedan kräver vi också ett lägsta antal om sex överträdelser för att avaktivera en nod.

För att lura systemet måste en angripare väljas sex gånger i rad, annars kommer överträdelserna att upphävas av systemet då andra noder väljs genom Kvorum-systemet.

Angriparkontrollerade Masternoder/ Antal Masternoder Erfordrad att väljas i rad Sannolik framgång (n/t)r DASH Erfordras
1/2300 6 6.75e-21 1,000DASH
10/2300 6 6.75e-15 10,000DASH
100/2300 6 6.75e-09 100,000DASH
500/2300 6 0.01055% 500,000DASH
1000/2300 6 0.6755% 1,000,000DASH

Tabell 1. Sannolikheten att lura systemet genom att representera en enskild Masternode som en misslyckad-"proof-of-service"

Där: n är de totala antalet noder som kontrolleras av angripare t är de totala antalet Masternoder i nätverket r är kedjedjupet

Valet av Masternoderna är pseudoslumpmässigt baserat på Kvorum-systemet

2.5 Masternode-protokoll

Masternoderna är utspridda omkring nätverket och använder en rad olika protokollförlängningar som inkluderar ett Masternode-tillkännagivandemeddelande och Masternode-pingmeddelande. De här två meddelanden är allt som krävs för att göra en nod aktiv på nätverket. Förutom dessa finns det andra meddelanden för att exekvera en "proof-of-service"-begäran, "PrivateSend" och "InstantSend".

Masternoderna var från början skapade att skicka 1000 DASH till en specifik adress i plånboken som skulle "aktivera" noden och ge den möjlighet att spridas ut genom nätverket. En sekundär privatnyckel skapas som används för att signera alla meddelanden därefter. Den senare nyckeln tillåter plånboken att låsas fullständigt när den i körs i fristående läge.

Ett kalläge görs möjlig genom att använda en sekundär privatnyckel på två enskilda maskiner. Den primära "heta" klienten signerar 1000 DASH-inmatningen och inkluderar den sekundära privata signeringsnyckeln i meddelandet. Kort efter att den "kalla" klienten ser ett meddelande inkluderande dess sekundära nyckel aktiveras en Masternode. Detta tillåter att den "heta" klienten att avaktiveras (klienten stängs av) och lämnar ingen möjlighet för en angripare att få tillgång till de 1000 DASH genom att få kontroll över Masternoden efter aktivering.

Vid uppstart skickar en Masternode ett "Masternode-tillkännagivande"-meddelande till nätverket vilket innehåller:

Meddelande: (1K DASH Inmatning, Nåbar IP-Adress, Signatur, Signeringstid, 1K Dash-publik nyckel, Sekundär publik nyckel, Publik nyckel för donation, Donationsprocent)

Var femtonde minut därefter skickas ett pingmeddelande som bevisar att noden fortfarande är vid liv.

Meddelande: (1K DASH-inmatning, Signatur (använder en sekundär nyckel), Signeringstid, Stopp)

Efter att en "levnadstid" har gått ut kommer nätverket att ta bort en inaktiv nod från nätverket vilket innebär att noden inte används av klienter eller får betalning. Noder kan också pinga nätverket hela tiden men om de inte har portarna öppna kommer de så småningom att flaggas som inaktiva och kommer inte att få betalt.

2.6 Utspridning av Masternode-listan

Nya klienter som träder in i Dash-nätverket måste vara medvetna om att de aktiva Masternoderna i nätverket för att kunna utföra sina tjänster. Så fort de går med i mesh-nätverket skickas ett kommando till deras peers och frågar efter den kända Masternode-listan. Ett cacheobjekt används för klienterna att registrera Masternoderna och deras aktuella status. Så när klienterna startar om kommer de helt enkelt att ladda denna fil istället för att fråga efter hela Masternode-listan.

2.7 Betalningar genom utvinning och upprätthållande

För att garantera att varje Masternode betalas med dess rättmätiga del av blockbelöningen måste nätverket upprätthålla blocken så att de betalar den korrekta Masternoden. Om en utvinnare är motsträvig måste deras block avvisas av nätverket annars kan fusk incentiviseras.

Vi föreslår en strategi där Masternoderna bildar kvorum, väljer en vinnande Masternode och sänder ut deras meddelande. Efter att N meddelanden har utsänts för att välja samma målbetalanden kommer ett konsensus att bildas och blocket i fråga måste betala den Masternoden.

När man utvinner på nätverket använder pool-mjukvaran (webbsidor som sammanför prestationerna för enskilda utvinnare) RPC API-gränssnitt för att erhålla information om hur man gör ett block. För att betala Masternoderna måste detta gränssnitt utökas genom att lägga till en sekundär betalningsmottagare till "GetBlockTemplate". Poolerna sprider sedan ut sina framgångsrikt utvunna block med en delad betalning mellan sig själva och en Masternode.

3 PrivateSend

Vi tycker att det är viktigt att ha en tillitslös standardimplementering för att förbättra integriteten för dess användare i referensklienten som ger en hög integritetsnivå. Andra klienter så som electrum, Android och iPhone kommer också snart att ha samma anonymitetsskikt direktimplementerat och nyttja protokolltilläggen. Detta ger användarna en gemensam upplevelse att anonymisera medel genom att använda ett välförståeligt system.

PrivateSend är en förbättrad och utökad version av CoinJoin. Utöver CoinJoins kärnkoncept nyttjar vi en rad förbättringar så som decentralisering, kraftfull anonymitet genom att använda en kedjemetod, denominationer och en passiv före tiden-mixning.

Den största utmaningen vid förbättringen av integriteten och fungibiliteten av en kryptovaluta är att göra det på ett sådant sätt som inte försvagar hela blockkedjan. I Bitcoin-baserade kryptovalutor kan man se vilka utdatan som är ospenderade och vilka som inte är det, vanligen kallat UTXO. vilket står för ospenderade transaktionsutdatan. Detta betyder att en offentlig liggare tillåter alla användare att agera som en garant för transaktionsintegriteten. Bitcoin-protokollet är designat att fungera utan medverkan av tillitsfulla motparter, i deras frånvaro, är det kritiskt att granskningsmöjligheterna kvarstår redo att användas för användare genom den publika blockkedjan. Vårt mål är att förbättra integriteten och fungibiliteten utan att förlora huvudkomponenterna som vi tror utgör en framgångsrik valuta.

Genom att ha en decentraliserad mixningsservice inom valutan har vi möjligheten att hålla själva valutan fullkomligt fungibel. Fungibiliet är en pengaegenskap som bestämmer att alla valutaenheter hålls likvärdiga. När du mottar pengar inom en valuta borde den inte komma med någon som helst historik från de tidigare valutaanvändarna eller så borde användare ha ett lätt sätt att frånsäga sig den tidigare historiken, på så vis hålls alla mynt likvärdiga. Samtidigt borde varje användare kunna agera som en granskare för att garantera den ekonomiska integriteten för den publika liggaren utan att kompromissa andras privatliv.

För att förbättra fungibiliteten och behålla den publika blockkedjans integritet föreslår vi användning av en i förväg decentraliserad tillitslös mixningsstrategi. För att vara effektiva med att behålla valutan fungibel är denna service direktbyggd i valutan, lätt att använda och säker för den genomsnittliga användaren.

3.1 Spårning av CoinJoin genom medel

En vanlig strategi i nuvarande Bitcoin-implementeringarna av CoinJoin är helt enkelt att sammanslå transaktioner. Detta utsätter användarna för olika metoder av uppföljning av användarnas mynt genom de sammanslagna transaktionerna. Figur 2: Ett exempel på en CoinJoin-transaktion med 2 användare [11][12]

Figur 2: Ett exempel på en CoinJoin-transaktion med 2 användare [11][12]

I denna transaktion: Skickades 0.05BTC genom mixern. För att identifiera pengakällan måste man stämma av värdena till höger tills de samstämmer med en av värdena till vänster.

Att dissikera en transaktion:

  • 0.05 + 0.0499 + 0.0001(avgift) = 0.10BTC.
  • 0.0499 + 0.05940182 + 0.0001(avgift) = 0.10940182BTC.

Detta blir exponentiellt svårare ju fler användare som läggs till mixern. Hursomhelst, dessa sessioner kan avanonymiseras retroaktivt vid vilket tidpunkt som helst i framtiden.

3.2 Genom länkning och framåtlänkning

I andra föreslagna implementeringar av CoinJoin är det möjligt att en användare anonymiserar pengar som så småningom skickar växel från den transaktionen till en börs eller en annan entitet som känner till användarens identitet. Detta bryter anonymiteten och tillåter entiteten att gå baklänges genom användarens transaktioner. Vi kallar denna typ av attack för framåtlänkning:

Figur 3: Vidarebefordra växellänkning

Figur 3: Vidarebefordra växellänkning

I detta exempel: Alice anonymiserar 1,2BTC som går till två utdatan, 1BTC och 0,2BTC. Sedan spenderar hon 0,7BTC från 1BTC-utdatan och får tillbaka en växel på 0,3BTC. De 0,3BTC går sedan till en identifierbar källa som bekräftar att Alice också spenderade 0,7BTC i den föregående transaktionen.

För att identifiera sändaren av den anonyma transaktionen, börja vid "börstransaktionen" och gå baklänges i blockkedjan tills du kommer till "Alice skickar 0,7BTC anonymt". Som börs vet du att det var din användare som just köpte något anonymt, på så vis bryts anonymiteten fullständigt. Vi kallar denna angreppstyp för - "Genom växellänkning".

Figur 4: Through Change Linking

Figur 4: Through Change Linking

I det andra exemplet: Alice köper 1,2BTC från coinbase sedan anonymiserar hon denna mängd till en 1BTC-utdata. Sedan spenderar hon 1BTC, får växel i mängden 0,3BTC och kombinerar det med hennes tidigare 0,2BTC-växel.

Genom att kombinera växeln med den anonyma transaktionen (0,3BTC) och växeln hon fick från CoinJoin-transaktionen kan du länka hela historiken före och efter, anonymiteten bryts ned fullständigt.

3.3 Förbättrad integritet och "Denial-of-service"-resistens (DOS)

PrivateSend använder faktumet att en transaktion kan bildas genom flera parter och läggas ut till flera parter för att sammanfoga medel tillsammans på ett sätt där de därefter inte kan frånkopplas. Förutsatt att alla PrivateSend-transaktionerna är inställt så att användarna betalar till sig själva - är systemet mycket stöldsäkert och användarnas mynt hålls alltid säkra. För närvarande krävs åtminstone tre deltagare för att använda PrivateSend-mixningen.

Figur 5: Tre användare matade in denominerade medel till en vanlig transaktion. Användare betalar tillbaka till sig själva i skepnaden av nya utdatan, vilka är slumpmässigt ordnade.

Figur 5: Tre användare matade in denominerade medel till en vanlig transaktion. Användare betalar tillbaka till sig själva i skepnaden av nya utdatan, vilka är slumpmässigt ordnade.

För att förbättra integritetssystemet i sin helhet föreslår vi användning av vanliga denominationer: 0,1DASH, 1DASH, 10DASH och 100DASH. I varje mixningssession borde alla användare lämna in samma denominationer som in- och utdatan. Som tillägg till denominationerna borde avgifterna tas bort från transaktionerna och debiteras som en klumpsumma i en enskild och sporadisk icke-länkbar transaktion.

För att beröra de möjliga DOS-attackerna föreslår vi att alla användare lämnar in en säkerhetstransaktion till poolen vid anslutning. Denna transaktion kommer att göras till de själva och kommer att betala ut en hög avgift till utvinnarna. I händelse av att en användare lämnar in en begäran till mixningspoolen måste de bistå med en säkerhet i början av detta utbyte. Skulle användaren vid något tillfälle brista i samarbetet genom att till exempel vägra att signera utsänds säkerhetstransaktionen automatiskt. Detta kommer att göra det dyrt att utföra en sammanhängade attack på det privata nätverket.

3.4 Passiv anonymisering av medel och kedjande

PrivateSend är begränsad till 1000DASH per session och kräver flera sessioner för att grundligt anonymisera stora mängder pengar. För att göra användarens upplevelse enkel och göra tidattackerna mycket svåra körs PrivateSend i ett passivt läge. Vid uppgjorda intervaller kommer en användares klient att begära en anslutning till andra klienter via en Masternode. Vid inträdet till Masternoden sprids ett köobjekt genom nätverket som specificerar denominationerna användaren söker anonymisering för, men ingen information som kan användas för att identifiera användaren.

Varje PrivateSend-session kan ses som en fristående händelse som ökar anonymiteten för användarnas medel. Däremot är varje session begränsad till tre klienter, så en observatör har en chans på tre att kunna följa en transaktion. För att öka anonymitetskvaliteten som tillhandahålls - används en kedjemetod, vilka medel skickas genom flera Masternoder, en efter en.

Kedjedjup Möjliga Användare (n)r
2 9
4 81
8 6561
Tabell 2. Hur många användare som kan vara involverade i N-mixingsessioner.

3.5 Säkerhetsbeaktanden

Då transaktioner sammanslås kan Masternoder möjligen "snoka" i användarmedel då de passerar. Detta anses inte vara en allvarlig begränsning på grund av de erfordrade 1000DASH Masternoderna måste ha samt faktumet att användarna nyttjar slumpmässiga Masternoder som de väljer att handha deras förenanden. Sannolikheten att följa en transaktion genom en kedjehändelse kan beräknas så som följer:

Angriparkontrollerade Masternoder/Antal Masternoder Kedjedjup Sannolik framgång(n/t)r Erfordrade DASH
10/1010 2 9.80e-05 10,000DASH
10/1010 4 9.60e-09 10,000DASH
10/1010 8 9.51e-11 10,000DASH
100/1100 2 8.26e-03 100,000DASH
100/1100 4 6.83e-05 100,000DASH
100/1100 8 4.66e-09 100,000DASH
1000/2000 2 25% 1,000,000DASH
1000/2000 4 6.25% 1,000,000DASH
1000/2000 8 0.39% 1,000,000DASH
2000/3000 2 44.4% 2,000,000DASH
2000/3000 4 19.75% 2,000,000DASH
2000/3000 8 3.90% 2,000,000DASH

Tabell 3. Sannolikheten att följa en PrivateSend-transaktion på nätverket förutsatt att angriparen kontrollerar N Noder.

Där: n är de totala antalet noder som kontrolleras av angripare t är de totala antalet Masternoder i nätverket r är kedjedjupet

Masternode-valet är slumpmässigt.

Med tanke på den begränsade DASH-tillgången (5,3 miljoner för närvarande vid nedtecknandet, april 2015) och den låga likviditeten tillgänglig på marknaden gör det omöjligt att förvärva tillräckligt antal Masternoder för att framgångsrikt utföra ett sådant angrepp.

Genom att bredda systemet med att förblinda Masternoderna för transaktionerna som görs på deras nod kommer också att förbättra systemsäkerheten enormt.

3.6 Masternode-förblindande via distributionssystem

I sektion 3.4 beskriver vi sannolikheterna att följa en enskild transaktion genom flera sessioner av PrivateSend-mixning. Detta kan vidare tas i itu genom att förblinda Masternoder så att de inte kan se vilka in-/utdatan som tillhör vilka användare. För att göra detta föreslår vi ett enkelt distributionssystem som användarna kan nyttja för att skydda sin identitet.

Istället för att användare lämnar in in- och utdatan direkt till poolen väljer de en Masternode slumpmässigt från nätverket och begär att den distribuerar indatan/utdatan/signaturer till mål-Masternoden. Detta betyder att Masternoden kommer att få N set av in-/utdatan och N set signaturer. Varje set tillhör en av användarna men Masternoden kan inte veta vilken som tillhör vilken.

4 Omedelbara transaktioner via InstantSend

Genom att nyttja Masternode-kvorum kan användare skicka och ta emot omedelbara irreversibla transaktioner. Då ett kvorum har bildats låses transaktionsindatan för att endast kunna vara spenderbara vid en särskild transaktion. Ett transaktionslås tar ungefär fyra sekunder att fastställas på nätverket. Om konsensus nås om ett lås genom Masternode-nätverket kommer alla konflikterande transaktioner eller konflikterande block att avvisas därefter såvida de inte matchar det inrättade låsets exakta transaktions-ID.

Detta tillåter handlare att använda mobila enheter istället för ett traditionellt POS-system för verklighetshandel och användare att snabbt göra upp ansikte mot ansikte-icke-kommersiella transaktioner som med traditionella pengar. Detta görs utan en centralauktoritet. En övergripande översikt av denna funktion hittas i InstantSend-vitpappret[9].

5 Ytterligare förbättringar

5.1 x11 hashalgoritm

X11 är en vida använd hashalgoritm vilken intar ett särskilt tillvägagångssätt, känd som algoritmkedjande. X11 består av alla 11 SHA3-konkurrenterna[13]. Varje hash beräknas, lämnas sedan in till nästa algoritm i kedjan. Genom att nyttja flera algoritmer är sannolikheten att en ASIC skapas för valutan minimal ända tills en senare period av dess livscykel.

I Bitcoins livscykel började utvinnandet med hobbyister vilka använde centrala processorenheter (CPU:s) för att utvinna valutan. Kort därefter skapades mjukvara för grafikprocessorenheter (GPU:s) vilka snabbt ersatte CPU:s. Några år efter GPU:ns cykel, skapades ASIC:s eller "Application Specific Integrated Circuits" som kvickt ersatte GPU:s.

På grund av komplexiteten och chipstorleken som krävs för att skapa en ASIC för utvinning av x11 förväntade vi oss att det skulle ta betydligt längre tid än det gjorde med Bitcoin - att hobbyisterna gavs tillfälle att delta i utvinningen under en längre tidperiod. Vi tror att detta är i allra högsta grad viktigt för en bra distribution och tillväxt för en kryptovaluta.

En annan fördel med kedjehashens tillvägagångssätt är att högpresterande CPU:s ger en genomsnittlig avkastning liknande den för GPU:s. Dessutom har GPU:s meddelats köra 30-50% svalare med lägre watt än Scrypt-algoritmen vilken används av de flesta senast tillkomna kryptovalutor.

5.2 Utvinningstillgång

Ett helt annat tillvägagångssätt för att begränsa utvinningsinflationen görs i DASH som varje år begagnar sig av en 7 % minskning av tillgången. Detta görs i motsats till halveringen som har implementeras av andra valutor. Därtill är tillgången för varje block fullkomligt bunden av antalet utvinnare på nätverket; fler utvinnare medför lägre utvinningsbelöningar.

Dash-produktionen är planerad att fortsätta genom detta århundrade och till nästa. Sakta men säkert mals det ned för att slutligen, nära år 2150 kommer produktionen att upphöra.

Figur 6: Utvinningsbelöningsschema

Figur 6: Utvinningsbelöningsschema

6 Slutsats

Detta papper introducerar olika koncept för att förbättra Bitcoins design vilket medför en förbättrad integritet och fungibilitet för den genomsnittliga användaren, lägre prisvolatilitet och snabbare meddelandespridning genom nätverket. Allt detta uppnås genom att nyttja en incentiviserad tvåskiktsmodell snarare än den nuvarande enskiktsmodellen i andra kryptovalutor så som Bitcoin. Genom att dra nytta av denna alternativa nätverksdesign blir det möjligt att lägga till många servicetyper så som en decentraliserad myntmixning, omedelbara transaktioner och decentraliserade orakel som använder Masternode-kvorum.

Referenser

  1. A peer-to-peer electronic cash system (2008)
  2. http://eprints.qut.edu.au/69169/1/Boyen_accepted_draft.pdf
  3. https://www.cryptocoinsnews.com/3-solutions-instant-bitcoin-confirmations/
  4. http://research.microsoft.com/pubs/156072/bitcoin.pdf
  5. http://www0.cs.ucl.ac.uk/staff/s.meiklejohn/files/imc13.pdf
  6. https://getaddr.bitnodes.io/nodes/incentive/
  7. https://medium.com/zapchain-magazine/why-don-t-people-run-bitcoin-nodes-anymore-d4da0b45aae5
  8. https://dashninja.pl/
  9. https://www.dash.org/wp-content/uploads/2014/09/InstantTX.pdf
  10. https://github.com/dashpay/dash/blob/master/src/Masternode-pos.cpp
  11. https://blockchain.info/tx/4eb3b2f9fe597d0aef6e43b58bbaa7b8fb727e645fa89f922952f3e57ee6d603
  12. https://blockchain.info/tx/1694122b34c8543d01ad422ce600d59f8d8fde495ac9ddd894edc7139aed7617
  13. http://en.wikipedia.org/wiki/NIST_hash_function_competition#Finalists
  14. http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23fc0/P2P2013_041.pdf