Академический Документы
Профессиональный Документы
Культура Документы
EvanDuffield
evan@dashpay.io
DanielDiaz
daniel@dashpay.io
1 Introduction
Bitcoin[1]isacryptocurrencythathasemergedasapopularmediumofexchangeandisthe
firstdigitalcurrencythathasattractedasubstantialnumberofusers[2].Sinceitsinceptionin
2009,Bitcoinhasbeenrapidlygrowinginmainstreamadoptionandmerchantusage[3].A
mainissuewiththeacceptanceofBitcoininpointofsalesituationsisthetimerequiredtowait
forthenetworktoconfirmthetransactionmadeisvalid,alternativelypaymentcompanies
havecreatedmethodstoallowvendorstotakezeroconfirmationtransactions,butthese
solutionsutilizeatrustedcounterpartytomediatethetransactionoutsideoftheprotocol.
Bitcoinprovidespseudonymoustransactionsinapublicledger,withaonetoonerelationship
betweensenderandreceiver.Thisprovidesapermanentrecordofalltransactionsthathave
evertakenplaceonthenetwork[5].Bitcoiniswidelyknowninacademiccirclestoprovidea
lowlevelofprivacy,althoughwiththislimitationmanypeoplestillentrusttheirfinancialhistory
toitsblockchain.
DashisthefirstprivacycentriccryptographiccurrencybasedontheworkofSatoshi
Nakamoto.InthispaperweproposeaseriesofimprovementstoBitcoinresultingina
decentralized,stronglyanonymouscryptocurrency,withtamperproofinstanttransactions
andasecondarypeertopeernetworkincentivizedtoprovideservicestotheDashNetwork.
2 Masternode Network
Fullnodesareserversrunningonap2pnetwork,thatallowpeerstousethemtoreceive
updatesabouttheeventsonthenetwork.Thesenodesrequiresignificantamountsoftraffic
andotherresourcesthatcarrysubstantialcost.Asaresult,ontheBitcoinnetworkasteady
decreaseintheamountofthesenodeshasbeenobservedforsometime[7]andasaresult
blockpropagationhavebeenupwardsof40seconds[14].Manysolutionshavebeen
proposedsuchasanewrewardschemebyMicrosoftResearch[4]andtheBitnodesincentive
program[6].
Figure1:Fullnodesinthespringof2014
Thesenodesareveryimportanttothehealthofthenetwork.Theyprovideclientswiththe
abilitytosynchronizeandquickpropagationofmessagesthroughoutthenetwork.We
proposeaddingasecondarynetwork,knownastheDashMasternodenetwork.Thesenodes
willhavehighavailabilityandprovidearequiredlevelofservicetothenetworkinordertotake
partintheMasternodeRewardProgram.
coin
2.1 Masternode Reward Program - Cost and Payments
Much of the reason for the decrease of full nodes on the Bitcoin network, is the lack of
incentive to run one. Over time the cost of running a full node increases as the network
gets used more, creating more bandwidth and costing the operator more money. As the cost
rises, operators consolidate their services to be cheaper to run or run a light client, which
doesnt help the network at all.
Masternodes are full nodes, just like in the Bitcoin network, except they must provide a
level of service to the network and have a bond of collateral to participate. Collateral is
never forfeit and is safe while the Masternode is operating. This allows investors to provide
a service to the network, earn interest on their investment and reduce the volatility of the
currency.
TorunaMasternode,thenodemuststore1000DASH.Whenactive,nodesprovideservices
toclientsonthenetworkandinreturnarepaidintheformofadividend.Thisallowstheusers
topayfortheservicesandearnareturnoninvestment.Masternodesareallpaidfromthe
samepoolofmoney,approximately45%[footnote]ofthetotalblockrewardisdedicatedto
thisprogram.
DuetothefactthattheMasternoderewardsprogramisafixedpercentageandthe
Masternodenetworknodesarefluctuating,expectedMasternoderewardswillvaryaccording
tothecurrenttotalcountofactiveMasternodes.Paymentsforastandarddayforrunninga
Masternodecanbecalculatedbyusingthefollowingformula:
(n/t) * r * b * a
Where:
nisthenumberofMasternodesanoperatorcontrols
tisthetotalnumberofMasternodes
risthecurrentblockreward(presentlyaveragingabout5DASH)
bisblocksinanaverageday.FortheDashnetworkthisusuallyis576.
aistheaverageMasternodepayment(45%oftheaverageblockamount)
ReturnoninvestmentforrunningaMasternodecanbecalculatedas
((n/t) * r * b * a * 365)/1000
Wherevariablesarethesameasabove.
ThecostassociatedwithrunningaMasternodecreatesahardandsoftlimitofactivenodes
onthenetwork.Currentlywith5.3millionDASHincirculation,only5300nodescouldpossibly
berunningonthenetwork.Thesoftlimitisimposedbythepriceitcoststoacquireanode
andthelimitedliquidityonexchangesduetousageofDashasacurrencyandnotmerelyan
investment.
PseudoCode,forselectingaMasternode:
For(mastenodeinmasternodes){
n=masternode.CalculateScore()
if(n>best_score){
best_score=n
winning_node=masternode
}
CMasterNode::CalculateScore(){
n1=GetProofOfWorkHash(nBlockHeight)//getthehashofthisblock
n2=Hash(n1)//hashthePOWhashtoincreasetheentropy
n3=abs(n2masternode_vin)
returnn3
}
TheexamplecodecanbeextendedfurthertoproviderankingsofMasternodesalso,a
second,third,fourthMasternodeinthelisttobeselected.
WiththeadditionoftheMasternodenetworkandthecollateralrequirements,wecanusethis
secondarynetworktodohighlysensitivetasksinatrustlessway,wherenosingleentitycan
controltheoutcome.ByselectingNpseudorandomMasternodesfromthetotalpoolto
performthesametask,thesenodescanactasanoracle,withouthavingthewholenetwork
dothetask.
ForanexampleimplementationofatrustlessquorumseeInstantX[9],whichusesquorumsto
approvetransactionsandlocktheinputsortheproofofserviceimplementation[10].
Anotherexampleusefortrustlessquorumscanincludeutilizingthemasternodenetworkasa
decentralizedoracleforfinancialmarkets,makingsecuredecentralizedcontractsapossibility.
Asanexamplecontract,ifAAPLisover$300onDec31,2016paypublickeyA,otherwise
paypublickeyB.
proofofservice,wecanrequirethatthesenodesareonline,respondingandevenatthe
correctblockheight.
BadactorscouldalsorunMasternodes,butnotprovideanyofthequalityservicethatis
requiredoftherestofthenetwork.Toreducethepossibilityofpeopleusingthesystemto
theiradvantagenodesmustpingtherestofthenetworktoensuretheyremainactive.This
workisdonebytheMasternodenetworkbyselecting2quorumsperblock.QuorumAchecks
theserviceofQuorumBeachblock.QuorumAaretheclosestnodestothecurrentblock
hash,whileQuorumBarethefurthestnodesfromsaidhash.
MasternodeA(1)checksMasternodeB(rank2300)
MasternodeA(2)checksMasternodeB(rank2299)
MasternodeA(3)checksMasternodeB(rank2298)
AllworkdonetocheckthenetworktoprovethatnodesareactiveisdonebytheMasternode
networkitself.Approximately1%ofthenetworkwillbecheckedeachblock.Thisresultsinthe
entirenetworkbeingcheckedaboutsixtimesperday.Inordertokeepthissystemtrustless,
weselectnodesrandomlyviatheQuorumsystem,thenwealsorequireaminimumofsix
violationsinordertodeactivateanode.
Inordertotrickthissystem,anattackerwillneedtobeselectedsixtimesinarow.Otherwise,
violationswillbecancelledoutbythesystemasothernodesareselectedbythequorum
system.
AttackerControlled
Masternodes/Total
Masternodes
RequiredPicked
TimesInARow
Probabilityof
success (n/t)r
DASHRequired
1/2300
6.75e21
1000DASH
10/2300
6.75e15
10,000DASH
100/2300
6.75e09
100,000DASH
500/2300
0.01055%
500,000DASH
1000/2300
0.6755%
1,000,000DASH
Table1.TheprobabilityoftrickingthesystemrepresentingoneindividualMasternodeas
failingproofofservice
Where:
n
isthetotalnumberofnodescontrolledbytheattacker
t
isthetotalnumberofMasternodesinthenetwork
risthedepthofthechain
TheselectionofMasternodesispseudorandombasedontheQuorumsystem
Masternodesareoriginallyformedbysending1000DASHtoaspecificaddressinawallet
thatwillactivatethenodemakingitcapableofbeingpropagatedacrossthenetwork.A
secondaryprivatekeyiscreatedthatisusedforsigningallfurthermessages.Thelatterkey
allowsthewallettobecompletelylockedwhenrunninginastandalonemode.
Acoldmodeismadepossiblebyutilizingthesecondaryprivatekeyontwoseparate
machines.Theprimaryhotclientsignsthe1000DASHinputincludingthesecondary
signingprivatekeyinthemessage.Soonafterthecoldclientseesamessageincludingits
secondarykeyandactivatesasaMasternode.Thisallowsthehotclienttobedeactivated
(clientturnedoff)andleavesnopossibilityofanattackergainingaccesstothe1000DASHby
gainingaccesstotheMasternodeafteractivation.
UponstartingaMasternodesendsaMasternodeAnnouncemessagetothenetwork,
containing:
Message:(1KDASHInput,ReachableIPAddress,Signature,SignatureTime,1K
DashPublicKey,SecondaryPublicKey,DonationPublicKey,DonationPercentage)
Every15minutesthereafter,apingmessageissentprovingthenodeisstillalive.
Message:(1KDASHInput,Signature(usingsecondarykey),SignatureTime,Stop?)
Afteratimetolivehasexpiredthenetworkwillremoveaninactivenodefromthenetwork,
causingthenodetonotbeusedbyclientsorpaid.Nodescanalsopingthenetwork
constantly,butiftheydonothavetheirportsopen,theywilleventuallybeflaggedasinactive
andnotbepaid.
network,acommandissenttotheirpeersaskingfortheknownlistofMasternodes.Acache
objectisusedforclientstorecordMasternodesandtheircurrentstatus,sowhenclients
restarttheywillsimplyloadthisfileratherthanaskingforthefulllistofMasternodes.
WeproposeastrategywhereMasternodesformquorums,selectawinningMasternodeand
broadcasttheirmessage.AfterNmessageshavebeenbroadcasttoselectthesametarget
payee,aconsensuswillbeformedandthatblockinquestionwillberequiredtopaythat
Masternode.
Whenminingonthenetwork,poolsoftware(websitesthatmergetheeffortsofindividual
miners)usetheRPCAPIinterfacetogetinformationabouthowtomakeablock.Topaythe
Masternodesthisinterfacemustbeextendedbyaddingasecondarypayeeto
GetBlockTemplate.Poolsthenpropagatetheirsuccessfullyminedblocks,withasplit
paymentbetweenthemselvesandaMasternode.
3 Darksend
Webelieveitsimportanttohaveastandardtrustlessimplementationforimprovingthe
privacyofitsusersinthereferenceclientthatprovidesahighdegreeofprivacy.Otherclients
suchaselectrum,AndroidandiPhonewillalsohavethesameanonymitylayerimplemented
directlyandutilizetheprotocolextensions.Thisallowsusersacommonexperience
anonymizingfundsusingawellunderstoodsystem.
DarksendisanimprovedandextendedversionoftheCoinJoin.Inadditiontothecore
conceptofCoinJoin,weemployaseriesofimprovementssuchasdecentralization,strong
anonymitybyusingachainingapproach,denominationsandpassiveaheadoftimemixing.
Thegreatestchallengewhenimprovingprivacyandfungibilityofacryptocurrencyisdoingit
inawaythatdoesnotobscuretheentireblockchain.InBitcoinbasedcryptocurrencies,one
cantellwhichoutputsareunspentandwhicharenot,commonlycalledUTXO,whichstands
forunspenttransactionoutput.Thisresultsinapublicledgerthatallowsanyusertoactas
guarantoroftheintegrityoftransactions.TheBitcoinprotocolisdesignedtofunctionwithout
theparticipationoftrustedcounterparties,intheirabsence,itiscriticalthatauditing
capabilitiesremainreadilyaccessibletotheusersthroughthepublicblockchain.Ourgoalis
toimproveprivacyandfungibilitywithoutlosingthesekeyelementsthatwebelievemakea
successfulcurrency.
Byhavingadecentralizedmixingservicewithinthecurrencywegaintheabilitytokeepthe
currencyitselfperfectlyfungible.Fungibilityisanattributeofmoney,thatdictatesthatallunits
ofacurrencyshouldremainequal.Whenyoureceivemoneywithinacurrency,itshouldnt
comewithanyhistoryfromtheprevioususersofthecurrencyortheusersshouldhavean
easywaytodisassociatethemselvesfromthathistory,thuskeepingallcoinsequal.Atthe
sametime,anyusershouldbeabletoactasanauditortoguaranteethefinancialintegrityof
thepublicledgerwithoutcompromisingothersprivacy.
Toimprovethefungibilityandkeeptheintegrityofthepublicblockchain,weproposeusingan
aheadoftimedecentralizedtrustlessmixingstrategy.Tobeeffectiveatkeepingthecurrency
fungible,thisserviceisdirectlybuiltintothecurrency,easytouseandsafefortheaverage
user.
AcommonstrategyinexistingBitcoinimplementationsofCoinjoinissimplymerging
transactionstogether.Thisexposestheuserstovariousmethodsoffollowingthetheusers
coinsthroughthesejoinedtransaction.
Figure2:AnexampleCoinjointransactionwith2users[11][12]
Inthistransaction,0.05BTCwassentthroughthemixer.Toidentifythesourceofthemoney,
onesimplyhastoaddupthevaluesontherightuntiltheymatchoneofthevaluesontheleft.
Breakingapartthetransaction:
0.05+0.0499+0.0001(fee)=0.10BTC.
0.0499+0.05940182+0.0001(fee)=0.10940182BTC.
Thisgetsexponentiallymoredifficultasmoreusersareaddedtothemixer.However,these
sessionscanberetroactivelydeanonymizedatanypointinthefuture.
InotherproposedimplementationsofCoinjoin,itspossiblethatauseranonymizesmoney
theneventuallysendschangefromthattransactiontoanexchangeorotherentitythatknows
theusersidentity.Thisbreakstheanonymityandallowstheentitytowalkbackwardsthrough
thatuserstransactions.WecallthistypeofattackForwardLinking
Figure3:ForwardChangeLinking
Inthisexample,Aliceanonymizes1.2BTC,whichgoesto2outputs,1BTCand0.2BTC.She
thenspends.7BTCfromthe1BTCoutput,receivingchangeof0.3BTC.That0.3BTCthen
goestoanidentifiablesource,confirmingAlicealsospentthe.7BTCinthepriortransaction.
Toidentifythesenderoftheanonymoustransaction,startattheexchangetransactionand
gobackwardsintheblockchaintillyougettotheAlicesends0.7BTCanonymously.Asthe
exchange,youknowitwasyouruserwhojustrecentlyboughtsomethinganonymously,thus
breakingtheanonymitycompletely.WecallthistypeofattackThroughChangeLinking.
Figure4:ThroughChangeLinking
Inthesecondexample,Alicebuys1.2BTCfromcoinbase,thenanonymizesthisamountinto
a1BTCoutput.Shethenspendsthe1BTC,receiveschangeintheamountof0.3BTCand
thencombinesthatwithher0.2BTCearlierchange.
Bycombiningthechangefromtheanonymoustransaction(0.3BTC)andthechangeshe
receivedfromtheCoinJointransaction,youcanlinktheentirehistorybeforeandafter,
completelybreakingtheanonymity.
Darksendusesthefactthatatransactioncanbeformedbymultiplepartiesandmadeoutto
multiplepartiestomergefundstogetherinawaywheretheycantbeuncoupledthereafter.
GiventhatallDarksendtransactionsaresetupforuserstopaythemselves,thesystemis
highlysecureagainsttheftanduserscoinsalwaysremainsafe.Currentlytomixusing
DarkSendrequiresatleast3participants.
Figure5:Threeuserssubmitdenominatedfundsintoacommontransaction.Userspay
themselvesbackintheformofnewoutputs,whicharerandomlyordered.
Toimprovetheprivacyofthesystemasawholeweproposeusingcommondenominationsof
0.1DASH,1DASH,10DASHAND100DASH.Ineachmixingsession,allusersshouldsubmit
thesamedenominationsasinputsandoutputs.Inadditiontodenominations,feesshouldbe
removedfromthetransactionsandchargedinbulkinseparate,sporadicunlinkable
transactions.
ToaddressthepossibleDOSattacks,weproposealluserssubmitatransactionascollateral
tothepoolwhenjoining.Thistransactionwillbemadeouttothemselvesandwillpayahigh
feetominers.Inthecasewhenausersubmitsarequesttothemixingpool,theymust
providecollateralatthebeginningofthisexchange.Ifatanypointanyuserfailstocooperate,
byrefusingtosignforexample,thecollateraltransactionwillautomaticallybebroadcasted.
Thiswillmakeitexpensivetodoasustainedattackontheprivacynetwork.
Darksendislimitedto1000DASHpersessionandrequiresmultiplesessionstothoroughly
anonymizesignificantamountsofmoney.Tomaketheuserexperienceeasyandmaketiming
attacksverydifficult,Darksendrunsinapassivemode.Atsetintervals,ausersclientwill
requesttojoinwithotherclientsviaaMasternode.UponentryintotheMasternode,aqueue
objectispropagatedthroughoutthenetworkdetailingthedenominationstheuserislookingto
anonymize,butnoinformationthatcanbeusedtoidentifytheuser.
EachDarksendsessioncanbethoughtofasanindependenteventincreasingtheanonymity
ofusersfunds.Howevereachsessionislimitedtothreeclients,soanobserverhasaonein
threechanceofbeingabletofollowatransaction.Toincreasethequalityofanonymity
provided,achainingapproachisemployed,whichfundsaresentthroughmultiple
Masternodes,oneafteranother.
DepthOfTheChain
PossibleUsers (n)r
81
6561
Table2.HowmanyuserscouldpossiblybeinvolvedinNmixingsessions.
Astransactionsaremerged,Masternodescanpossiblysnooponusersfundsastheypass
through.ThisisnotconsideredaseriouslimitationduetotherequirementforMasternodesto
hold1000DASHandthefactthatusersutilizerandomMasternodesthattheyselecttohost
theirjoins.Theprobabilityoffollowingatransactionthroughoutachainingeventcanbe
calculatedasfollows
AttackerControlled
Masternodes/Total
Masternodes
DepthOfTheChain
Probabilityof
success (n/t)r
DASHRequired
10/1010
9.80e05
10,000DASH
10/1010
9.60e09
10,000DASH
10/1010
9.51e11
10,000DASH
100/1100
8.26e03
100,000DASH
100/1100
6.83e05
100,000DASH
100/1100
4.66e09
100,000DASH
1000/2000
25%
1,000,000DASH
1000/2000
6.25%
1,000,000DASH
1000/2000
0.39%
1,000,000DASH
2000/3000
44.4%
2,000,000DASH
2000/3000
19.75%
2,000,000DASH
2000/3000
3.90%
2,000,000DASH
Table3.TheprobabilityoffollowaDarksendtransactiononthenetworkgiventheattacker
controlsNNodes.
Where:
n
isthetotalnumberofnodescontrolledbytheattacker
t
isthetotalnumberofMasternodesinthenetwork
risthedepthofthechain
TheselectionofMasternodesisrandom
ConsideringthelimitedsupplyofDASH(5.3millionatthetimeofwriting)andthelowliquidity
availableonthemarket,itbecomesanimpossibilitytoattainalargeenoughnumberof
Masternodestosucceedatsuchanattack.
ExtendingthesystembyblindingMasternodestothetransactionstakingplaceontheirnode
willalsogreatlyenhancethesecurityofthesystem.
Insection3.4wedescribetheprobabilitiesoffollowingasingletransactionthroughmultiple
sessionsofDarksendmixing.ThiscanfurtherbeaddressedbyblindingMasternodes,sothey
cantseewhichinputs/outputsbelongtowhichusers.Todothisweproposeasimplerelay
systemthatuserscanusetoprotecttheiridentity.
Insteadofausersubmittingtheinputsandoutputsdirectlyintothepool,theywillpicka
randomMasternodefromthenetworkandrequestthatitrelaystheinputs/outputs/signatures
tothetargetMasternode.ThismeansthattheMasternodewillreceiveNsetsof
inputs/outputsandNsetsofsignatures.Eachsetbelongstooneoftheusers,butthe
Masternodecantknowwhichbelongstowhich.
ByutilizingMasternodequorums,usersareabletosendandreceiveinstantirreversible
transactions.Onceaquorumhasbeenformed,theinputsofthetransactionarelockedtoonly
bespendableinaspecifictransaction,atransactionlocktakesabout4secondstobeset
currentlyonthenetwork.IfconsensusisreachedonalockbytheMasternodenetwork,all
conflictingtransactionsorconflictingblockswouldberejectedthereafter,unlesstheymatched
theexacttransactionIDofthelockinplace.
ThiswillallowvendorstousemobiledevicesinplaceoftraditionalPOSsystemsforreal
worldcommerceanduserstoquicklysettlefacetofacenoncommercialtransactionsaswith
traditionalcash.Thisisdonewithoutacentralauthority.Anextensiveoverviewofthisfeature
canbefoundintheInstantXwhitepaper[10].
5 Additional Improvements
5.1 x11
x11isawidelyusedhashingalgorithm,whichtakesadifferentapproach,knownasalgorithm
chaining.x11consistsofall11SHA3contestants[13],eachhashiscalculatedthensubmitted
tothenextalgorithminthechain.Byutilizingmultiplealgorithms,thelikelihoodthatanASIC
iscreatedforthecurrencyisminimaluntilalaterpartofitslifecycle.
InthelifecycleofBitcoin,miningbeganwithhobbyistswhichusedCPUstominethe
currency,thenshortlyafterGPUsoftwarewascreated,whichquicklyreplacedtheCPUs.
YearsaftertheGPUscycle,ASICsorApplicationSpecificIntegratedCircuitswerecreated,
whichquicklyreplacedtheGPUs.
DuetothecomplexityanddiesizerequiredtocreateanASICforminingx11,weexpectthat
itwilltakeconsiderablylongerthanitdidinBitcoin,allowingforhobbyiststotakepartinthe
miningforalongerperiodoftime.Webelievethisishighlyimportantforgooddistributionand
growthofacryptocurrency.
AnotherbenefitofthechaininghashingapproachishighendCPUsgiveanaveragereturn
similartothatofGPUs.AlsoGPUshavebeenreportedtorun3050%cooler,withless
wattagethantheScryptalgorithmusedbymostcurrentcryptocurrencies.
AdifferentapproachtorestrictingtheinflationofminingistakeninDash,usinga7%
reductionofthesupplyperyear.Thisisdoneasopposedtohalvingimplementedbyother
currencies.Inadditionsupplyeachblockisdirectlytiedtotheamountofminersonthe
networkmoreminersresultinlowerminingrewards.
ProductionofDashisscheduledtocarryonthroughoutthiscenturyandontothenext,slowly
grindingdownuntilfinallyneartheyear2150,productionwillcease.
Figure6:MiningRewardSchedule
5 Conclusion
Thispaperintroducesvariousconceptstoimprovethedesignofbitcoinresultinginimproved
privacyandfungibilityfortheaverageuser,lesspricevolatilityandquickermessage
propagationthroughoutthenetwork.Thisisallaccomplishedbyutilizinganincentivized
twotiermodel,ratherthantheexistingsingletiermodelinothercryptocurrenciessuchas
Bitcoin.Byutilizingthisalternativenetworkdesignitbecomespossibletoaddmanytypesof
servicessuchasdecentralizedmixingofcoins,instanttransactionsanddecentralizedoracles
usingmasternodequorums.
References
1. Apeertopeerelectroniccashsystem(2008)
2. http://eprints.qut.edu.au/69169/1/Boyen_accepted_draft.pdf
3. https://www.cryptocoinsnews.com/3solutionsinstantbitcoinconfirmations/
4.
5.
6.
7.
http://research.microsoft.com/pubs/156072/bitcoin.pdf
http://www0.cs.ucl.ac.uk/staff/s.meiklejohn/files/imc13.pdf
https://getaddr.bitnodes.io/nodes/incentive/
https://medium.com/zapchainmagazine/whydontpeoplerunbitcoinnodesanymore
d4da0b45aae5
8. https://dashninja.pl/
9. https://www.dashpay.io/wpcontent/uploads/2014/09/InstantTX.pdf
10. https://github.com/dashpay/dash/blob/master/src/Masternodepos.cpp
11. https://blockchain.info/tx/4eb3b2f9fe597d0aef6e43b58bbaa7b8fb727e645fa89f922952
f3e57ee6d603
12. https://blockchain.info/tx/1694122b34c8543d01ad422ce600d59f8d8fde495ac9ddd894
edc7139aed7617
13. http://en.wikipedia.org/wiki/NIST_hash_function_competition#Finalists
14. http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23fc0/P2P2013_041.pdf