Ulord采用PoW和Pos相結(jié)合的方式作為共識算法。其中,PoW采用CPU挖礦算法,通過采用多級密碼學(xué)原語操作,同時結(jié)合計算機體系結(jié)構(gòu)特征,具備永久防ASIC的挖礦特征。PoS機制主要是為了鼓勵更多的主節(jié)點加入,通過提供更多的存儲空間,在為自身帶來收益同時,也為Ulord提供海量的分布式存儲空間。
為了充分利用閑置的資源進(jìn)行挖礦,借鑒存儲器難工作量證明算法的設(shè)計思路,并結(jié)合CPU、GPU、ASIC等結(jié)構(gòu)的特點,設(shè)計了針對CPU體系結(jié)構(gòu)優(yōu)化的工作量證明方法Crypthello。
工作存儲器容量選擇面向CPU的Cache容量優(yōu)化;使用16種散列函數(shù)構(gòu)成的散列函數(shù)族,并從中隨機選擇執(zhí)行;在修改工作存儲器階段使用嚴(yán)格串行的執(zhí)行序列,并且以字節(jié)為單位訪問;整個方案控制邏輯復(fù)雜,所需存儲器容量大,內(nèi)存訪問地址不規(guī)則。
實際測試表明,在CPU上執(zhí)行上述工作量證明的性能與其核數(shù)成正比關(guān)系。