比特幣已經(jīng)證明了點對點的(對等的)電子貨幣系統(tǒng)的可行性,并且可以在不需要信托或是中央印鈔廠(金融機構(gòu))的情況下完成支付過程。但是比特幣的一些缺點也使得其成為電子經(jīng)濟的基礎(chǔ)變得困難。為了使得整個經(jīng)濟系統(tǒng)能夠建立在對等的基礎(chǔ)上,必須要做到以下幾點:
1. 快速的處理數(shù)以千計的交易量
2. 提供一種產(chǎn)生收入的方法
3. 有可行的方法來增加新特征
4. 能夠在可移動設(shè)備上運行
而Nxt則滿足了以上所有要求,同時還消除了Bitcoin的POW機制所需要的算力設(shè)備軍備競賽。Nxt是基于100%的股權(quán)證明之上并且需要一種原始的分配方式。但是(很多人)對于這種創(chuàng)始區(qū)塊的具體分配方式充滿了疑惑,他們會問到“怎么解決由于Nxt對73個大股東的不公平分配而導(dǎo)致的騙局指控?BCNext這樣做出回應(yīng):”這個問題是沒辦法解決的。即使我們有一百萬個股東,剩下的70億人仍然會覺得這不公平,物欲橫流的世界永遠都不會公平(有錢的地方就會有不公平)?!?關(guān)于Nxt最根本的革新就是透明鍛造(Transparent Forging),這是Nxt最核心的改造(創(chuàng)新),使其每小時能處理上千次的交易量。
什么是NXT
NXT被認為是第二代的密碼幣。隨著一些山寨貨幣的出現(xiàn),它們僅改變了哈希機理、區(qū)塊之間的時間、啟動難度等等,而Nxt則帶來了很多很多的變化,原因如下:
1. 它并不像litecoin、peercoin以及其他的一些山寨幣,這些山寨幣的代碼均基于bitcoin的源代碼。而Nxt且擁有自己的算法,是用全新代碼編寫的。
2. 它提供了內(nèi)在的特征,比如去中心化的點對點對換、彩色幣、信息/聊天、去中心化的DNS(主機域名)以及即時交易等選項。我們會在以后的文章中講述這些特征。
3. 它是100%的股權(quán)證明(proof of stake),而其它絕大部分的幣種都是基于工作量機理證明(proof of work)的。相比其它幣種,這有效地去除了內(nèi)在的安全風(fēng)險,因為目前51%攻擊或者其它內(nèi)在的脆弱性都會導(dǎo)致這些PoW幣種滅亡。而且另外要說的一點是,該協(xié)議對能源消耗是友好的,因此PoS不需要大量的哈希計算。
4. 發(fā)布于幾周之前(發(fā)表白皮書的時間點),不像其它幣種,發(fā)布之前已經(jīng)運行了很多時間。73位參與者負責(zé)1,000,000,000個Nxt幣的分發(fā),這些幣是通過向源塊中注入bitcoin(由他們自己捐助,共21個bitcoin幣)來產(chǎn)生的。這是該PoS系統(tǒng)運行的要求,目前分發(fā)工作已經(jīng)在進行中。Nxt已經(jīng)列在了coinmarketcap3) 上,大家可以通過論壇以及臨時(中心化的)的交易平臺dgex4)nxtchg5)peercover6)來進行交易。
比特幣存在的問題
比特幣存在以下一些問題,僅僅列出問題,具體和比特幣相關(guān)的信息請?zhí)崆伴喿x。
1. 數(shù)字列表項目區(qū)塊鏈大小膨脹過快,前4年的區(qū)塊鏈大小總計4GB,而一年后,這個數(shù)字已經(jīng)是13GB了。
2. 比特幣的交易量峰值已經(jīng)達到了上限的1/7了,交易量上升將會導(dǎo)致交易無法及時得到處理;
3. 交易確認時間平均8-13分鐘,確認時間過長;
4. 中心化疑慮加重,兩個最大的礦池占網(wǎng)絡(luò)總計算能力已經(jīng)達到了60%,將會壟斷60%區(qū)塊的產(chǎn)生;
5. 工作量機制保證了交易的安全性的同時,也產(chǎn)生了資源浪費;每日在網(wǎng)絡(luò)上進行無意義的hash計算已經(jīng)消耗了太多的資源
6. 生成區(qū)塊會造成比特幣的膨脹,按照算法和當(dāng)前計算能力,2140年左右所有的比特幣才會生成完畢;
Nxt核心技術(shù)
股權(quán)證明(Proof of Stake)
POS指的是一種對貨幣所有權(quán)的證明;
在Nxt的POS模型里,安全性是由持幣者保證的。由POS帶來的好處不會產(chǎn)生在POW中的集權(quán)化趨勢,并且數(shù)據(jù)顯示,Nxt從誕生開始保持了非常好的分布式狀態(tài)。在網(wǎng)絡(luò)中貢獻block的獨立用戶數(shù)正在非常快速的增長并且保持了一個較大的數(shù)字,前5名top持幣者貢獻了35%的blocks。
Nxt構(gòu)建的系統(tǒng),將每一枚錢幣(coin)都看做是一臺微小的挖礦機。賬戶中擁有的coin幣數(shù)量越多,那么它有越大的幾率獲得生成一個block的機會。創(chuàng)建block的收益就是在block內(nèi)部的交易費用。創(chuàng)建block不會產(chǎn)生新的coin。Nxt的重新分配發(fā)生在創(chuàng)建block的交易費中。透明鍛造(term forging)替代了挖礦(mining)。
隨后的block生成基于前一個block的可證實的,獨立的,不可預(yù)測的信息。創(chuàng)建一系列的blocks,這些block都可以回溯到創(chuàng)世塊。block生成時間被設(shè)定為60s。但是可能結(jié)果的多樣性導(dǎo)致了block的平均產(chǎn)生時間為80s,偶爾也會發(fā)生非常長時間的間隔。
安全性一直是POS系統(tǒng)關(guān)心的問題,下面是POS算法的基本概念:
· 累計的難度值被作為一個參數(shù)存儲在每一個block中,下一個block的難度值會從前一個block中衍生出來;為了防止不一致的情況發(fā)生,網(wǎng)絡(luò)會選取整個block chain的最大的累計難度值。
· 為了防止一個人在不同的賬號間轉(zhuǎn)移股權(quán)以達到增加獲取block創(chuàng)造機會的行為發(fā)生,新轉(zhuǎn)入的幣(tokens)必須停留至少1440個塊的時間才允許參與block生成系統(tǒng)。達到這一標準的貨幣才能為賬號的有效股權(quán),這個值會決定獲得鍛造的幾率;
· 為了防止攻擊者總是從創(chuàng)世模塊生成新的block chain,網(wǎng)絡(luò)僅允許chain重組從當(dāng)前高度的前720塊開始。任何提交的block高度低于這個值的都會被拒絕;
· 由于被單一賬號控制blockchain的幾率及其低,一旦交易被一個block確認后又生成了至少10個block,此時交易被認為是安全確認的。
貨幣
Nxt的總貨幣數(shù)是10億個,每一個Nxt幣還被分成了108個小的貨幣(NQT),NQT作為Nxt幣的最小單位;
所有的貨幣都是在創(chuàng)世塊中直接產(chǎn)生的,而產(chǎn)生創(chuàng)世塊的賬號是,NXT-MRCC-2YLS-8M54-3CMAJ,這個賬號的余額也被設(shè)置成負10億個。在創(chuàng)世賬號中的負貨幣值也帶來幾個有趣的影響:
· 創(chuàng)世賬號無法發(fā)起任何交易,也無法支付交易費,因為賬號余額是負數(shù),因此這個賬號的password也是對外公開的(注意,最后一個。也是密碼一部分):It was a bright cold day in April, and the clocks were striking thirteen。
· 任何送到這個賬號上的Nxt貨幣都會被消滅,因為這個賬號的負余額會使得轉(zhuǎn)入貨幣和余額之間相互抵消,因此而銷毀的Nxt貨幣已經(jīng)達到了數(shù)千個;
· 轉(zhuǎn)移給這個賬號的Nxt資產(chǎn)也會被銷毀;
網(wǎng)絡(luò)節(jié)點
網(wǎng)絡(luò)節(jié)點是指在網(wǎng)絡(luò)上貢獻交易和區(qū)塊數(shù)據(jù)的任何設(shè)備;任何運行Nxt服務(wù)的設(shè)備都可以看做是一個節(jié)點;
網(wǎng)絡(luò)節(jié)點可以分為兩種,帶hallmark簽名的和普通節(jié)點;hallmark節(jié)點是指帶有一個加密簽名的節(jié)點,這個加密簽名是使用一個賬號的私鑰生成的。這個簽名可以被解碼分析出綁定到這個節(jié)點的賬號的id和余額等信息;帶有hallmark簽名的節(jié)點可以看做是賬號綁定的,因此這種節(jié)點會更安全;綁定到節(jié)點的余額越多,可信度就越高;可能一個攻擊者想通過綁定賬號的hallmark節(jié)點獲取信任實施攻擊,但是獲取信任的代價阻止了這種行為的發(fā)生;
Nxt網(wǎng)絡(luò)中的任何節(jié)點都有處理和廣播交易、區(qū)塊數(shù)據(jù)的能力。從其他節(jié)點接收的區(qū)塊信息會被校驗有效性;為了防止無效數(shù)據(jù)的傳播,生成無效數(shù)據(jù)的節(jié)點會被臨時拉黑一段時間;
為了預(yù)防DDOS攻擊,每個節(jié)點接收其他節(jié)點的請求被限制在30個每秒;
區(qū)塊
和其他的電子貨幣一樣,Nxt所有的交易賬目信息都保存在一系列的區(qū)塊中,被稱作區(qū)塊鏈(blockchain)。這個賬本提供了交易的永久記錄,以及交易發(fā)生的先后順序;在Nxt網(wǎng)絡(luò)中,區(qū)塊鏈存在于每一個節(jié)點內(nèi),任何一個節(jié)點上的解鎖賬號(提交過私鑰)在第一筆入賬交易發(fā)生后的第1440個區(qū)塊生成以后,就具有了生成區(qū)塊的能力。滿足這些條件的賬號也成為活躍賬號。
易信息,最前面有一個192個字節(jié)長度的頭信息,這個信息包含了辨識這個區(qū)塊的一些參數(shù)。每個交易最多由160個字節(jié)(舊的純coin交易,目前已經(jīng)擴展了至少16個字節(jié),如果有附件,交易長度會更長)組成。每個區(qū)塊的最大長度是32KB。所有區(qū)塊都包含下列信息:
· 區(qū)塊版本,區(qū)塊高度值,區(qū)塊的ID
· 區(qū)塊創(chuàng)建時間,單位是秒,距離創(chuàng)世塊創(chuàng)建到現(xiàn)在的秒數(shù);
· 創(chuàng)建區(qū)塊的賬戶ID和賬戶的公鑰;
· 上一個區(qū)塊的ID和Hash值,本區(qū)塊含有的交易個數(shù)
· 交易產(chǎn)生的NXT幣的總數(shù)和費用總數(shù);
· 區(qū)塊中所有交易的數(shù)據(jù),包括交易ID
· 區(qū)塊有效數(shù)據(jù)長度和有效數(shù)據(jù)的hash值
· 區(qū)塊生成簽名
· 整個區(qū)塊的簽名
· base target值和累計難度值;
區(qū)塊生成
三個關(guān)鍵參數(shù)決定了哪個賬號有資格進行區(qū)塊生成,哪個賬號獲得了生成區(qū)塊的權(quán)利,哪個區(qū)塊被選中成為最終區(qū)塊以避免沖突: 基礎(chǔ)目標值,目標值和累計難度值;
基礎(chǔ)目標值(base target)
為了贏得鍛造(生成區(qū)塊)的權(quán)利,Nxt賬號通過生成一個比給定基礎(chǔ)目標值小的哈希值來完成這個工作。這個基礎(chǔ)目標值隨著區(qū)塊的生成差異化非常大,它從前一個區(qū)塊的基礎(chǔ)目標值乘以本區(qū)塊生成距離上一區(qū)塊的時間(秒)衍生而來。
目標值(target value)
每一個賬號都會根據(jù)賬號的有效股權(quán)來計算這個值,它的公式是:T=Tь x S x Bе
這里,
· T表示新的目標值
· Tь表示基礎(chǔ)目標值
· S是距離上一個區(qū)塊生成的時間(單位:秒)
· Be是賬戶的有效股權(quán)值
根據(jù)上面的公式,我們可以得出,目標值隨著時間的推移會越來越大。最大的目標值是:1.53722867 x 10, 最小值是上一個區(qū)塊的基礎(chǔ)目標值的一半;對于所有的賬戶來說,能夠影響目標值大小的只有用戶的有效股權(quán)。
累計難度值
累計難度值也是從基礎(chǔ)目標值衍生而來,利用公式:
鍛造算法
每個在區(qū)塊鏈上的區(qū)塊都包含生成簽名字段。要參加區(qū)塊生成進程,活躍賬號必須使用自己的公鑰對前一個區(qū)塊重新計算生成簽名。生成的64字節(jié)的簽名隨后使用SHA256算法再次進行計算,最后生成的hash值的前8個字節(jié)的數(shù)據(jù)作為這個賬號的hit值。
這個hit值將會與當(dāng)前的目標值進行比較,如果hit《目標值,那么下一個區(qū)塊才可以被生成。按照上面的計算目標值的公式,目標值隨著時間的增加會越來越大。即使有很少的活躍賬戶在網(wǎng)絡(luò)上,那么隨著時間的增加目標值會變得非常巨大,因此最終會有一個賬戶進行區(qū)塊生成。這個必然結(jié)果導(dǎo)致了你可以通過計算任何賬號的目標值和hit值來估算它需要多久的時間才能生成區(qū)塊。
最后一點非常有意義。因為任何節(jié)點都可以查詢?nèi)魏位钴S賬戶的余額信息,所以循環(huán)計算所有賬戶的hit值是有可能的。這就意味著可以有根據(jù)的預(yù)測哪個賬號將成為下一個區(qū)塊的鍛造者。這引發(fā)了一個可能的無序攻擊,通過將余額轉(zhuǎn)入下一個生成者來達到攻擊目的,這也是為什余額轉(zhuǎn)入需要經(jīng)歷1440次確認之后才能變成有效余額的原因。有趣的是,下一個區(qū)塊的基礎(chǔ)目標值是無法有根據(jù)的預(yù)測的,所以預(yù)測之后的區(qū)塊生成者的隨機性會變得異常大。
一旦一個賬戶贏得了區(qū)塊生成權(quán),它最多綁定255個交易到區(qū)塊中,填充所有區(qū)塊必要信息生產(chǎn)區(qū)塊。這個區(qū)塊隨后廣播到p2p網(wǎng)絡(luò)中作為候選區(qū)塊;
網(wǎng)絡(luò)中接收區(qū)塊的節(jié)點會校驗這個區(qū)塊的有效載荷值,生成賬戶,區(qū)塊所有的簽名信息。在有多個區(qū)塊生成的情況下,節(jié)點會選取累計難度值最大的區(qū)塊作為最終區(qū)塊,因為區(qū)塊數(shù)據(jù)是在節(jié)點間共享的,因此通過檢查區(qū)塊的難度值,無效的分支將會被移除。
余額出租
由于賬戶的有效余額影響了賬戶的鍛造能力,出租賬戶的鍛造能力給其他賬戶,但是不失去對Nxt幣的控制權(quán)是可行的。發(fā)起一個賬戶控制類型的交易,賬戶出租者會暫時失去有效鍛造量,而接收出租能力的賬戶會在有效鍛造能力值上增加相應(yīng)的大小;接收方會在租約到期時失去這些額外的鍛造余額,這些余額會被退還給之前的出租方。
擁有出租余額的賬戶會更容易鍛造區(qū)塊,從而賺取更多的費用。但是這些費用不會平均分配給每個出租者。系統(tǒng)允許不受系統(tǒng)信任的鍛造池的存在,這些鍛造池可以向參與者付出回報。
賬號
腦錢包(brain wallet)成為Nxt全新設(shè)計的一部分:所有賬號都在網(wǎng)絡(luò)上保存,每個賬號的賬號地址和私鑰都是由賬號的密碼通過SHA256和Curve25519的組合計算而來;
每個賬戶都可以通過一個64位的數(shù)字表示,這個數(shù)字通過里德-所羅門碼RS7)生成的賬戶地址最多可以探測到4個錯誤,自動更正最多兩個錯誤。這個特性可以組織因為錯誤拼寫了交易另一方的地址,導(dǎo)致Nxt貨幣,資產(chǎn)等損失的發(fā)生。賬戶地址都會增加NXT-的前綴,以便非常容易的和其他貨幣的地址區(qū)分開。
由私鑰決定的里德-所羅門編碼的賬戶地址生成的過程如下:
· 密碼通過SHA256算法生成的HASH值作為賬戶的私鑰;
· 私鑰通過Curve25519算法生成賬戶的公鑰;
· 公鑰通過SHA256算法來生成賬戶ID;
· 前64位的賬戶ID是可見的賬戶號碼;
· 里德所羅門編碼了這個可見賬戶號碼,再增加前綴NXT-最終生成了賬戶地址;
當(dāng)賬戶通過密碼第一次訪問時,它的公鑰還是不安全的。當(dāng)?shù)谝还P交易發(fā)生后,256位的公鑰信息將會被存儲到區(qū)塊中,這也確保了賬戶的安全。公鑰的地址空間2256大于賬戶號碼的地址空間264,所以賬戶號碼和密碼之間不存在一對一的關(guān)系,沖突也有可能發(fā)生。這些沖突通過下面的方式發(fā)現(xiàn)和解決:一個使用指定密碼登陸的賬戶已經(jīng)被一個256位的公鑰鎖定,任何其他的公鑰/私鑰都不會被允許登錄到這個賬號。
賬戶余額財產(chǎn)
對于每一個NXT賬戶來說,有很多不同的余額資產(chǎn)。每一類都有不同的目的,部分還在交易確認和處理時被校驗。
· 有效賬戶余額被用來計算賬戶的鍛造能力。所謂的有效余額就是賬戶余額已經(jīng)停留了超過1440個區(qū)塊,另外,賬戶租借允許賬戶將有效余額租借給其他的賬戶;
· 保障余額(guaranteed balance)是指賬戶中財產(chǎn)經(jīng)過1440個區(qū)塊之后的額度,和有效余額不同的是,保障余額無法分配給其他賬戶;
· 基礎(chǔ)余額(basic balance)指至少被確認過一次的交易額;
· 鍛造余額展示的時成功鍛造區(qū)塊收到的獎勵費用總數(shù);
· 未確認余額(unconfirmed balance)指的是賬戶中的余額減去尚未確認交易中的余額;
wallet.dat
比特幣和相關(guān)貨幣經(jīng)常會用到一個加密的文件,這個文件被成為錢包(wallet),用來存儲用來接受比特幣的地址信息。Nxt的核心設(shè)計并未模仿這個做法,但也沒有排除這個特性。像OffSpring客戶端、在線錢包服務(wù)nxtblocks.info展示的那樣,通過客戶端對錢包系統(tǒng)的二次開發(fā),Nxt賬戶的地址也可以存在一個加密的離線文件中。
交易
交易指的是Nxt賬戶修改狀態(tài)或變更余額。每個交易只能執(zhí)行一個功能,一旦一筆交易被一個新增的區(qū)塊納入,那么這個交易便持久存儲在整個網(wǎng)絡(luò)中了。
交易費用
交易費用是Nxt貨幣回流到網(wǎng)絡(luò)的主要機制。任何一個交易都至少需要1Nxt貨幣的費用。唯一的例外是在資產(chǎn)交易所發(fā)行一種資產(chǎn)時,需要1000Nxt的手續(xù)費;當(dāng)一個賬戶鍛造一個區(qū)塊時,區(qū)塊包含的所有的交易的總費用就作為鍛造回報發(fā)放給鍛造區(qū)塊的賬戶;
為了防止交易數(shù)量超過區(qū)塊的32KB的上限限制,鍛造賬戶會從高到低選擇交易放入?yún)^(qū)塊;交易費用高的會被優(yōu)先選擇;
交易確認
所有未被有效網(wǎng)絡(luò)區(qū)塊納入的交易都處于未確認狀態(tài);新創(chuàng)建的區(qū)塊被保存在P2P網(wǎng)絡(luò)中,而網(wǎng)絡(luò)節(jié)點上的賬戶創(chuàng)建了這些區(qū)塊。一旦一個交易被納入一個新區(qū)塊,那么這個交易就被認為確認了一次。隨著新的區(qū)塊在區(qū)塊鏈上的創(chuàng)建,每增加一個新的區(qū)塊,交易就被多確認了一次;
如果一個交易在截止日期前還未被任何區(qū)塊確認,那么它將被從交易池中移除;
交易截止日期
每個交易都包含一個截止日期參數(shù),這個參數(shù)是距離這個交易被提交到網(wǎng)絡(luò)時的分鐘數(shù);默認截止日期是1440(24小時)分鐘,已經(jīng)被廣播到網(wǎng)絡(luò)但是還未被區(qū)塊納入的交易是未確認交易;
如果一直到過期時間交易都沒有被確認,這個交易將被移除;
交易可能被保持未確認狀態(tài),比如交易無效,或交易格式錯誤,或由于有更高的交易費的交易被優(yōu)先處理等原因。將來,采用多重簽名的交易可能會優(yōu)于單一過期時間的交易;
交易類型
下列五種主要類型和子類型在Nxt系統(tǒng)中被支持:
· 支付(用戶發(fā)送Nxt貨幣)
· 普通支付
· 消息
· 彩色貨幣
· 數(shù)字貨物
· 賬戶管理
詳情參考NXT客戶端的交易創(chuàng)建;
交易創(chuàng)建流程
詳細的交易創(chuàng)建流程如下:
1. 發(fā)送方填寫交易的詳細信息;創(chuàng)建交易時必須選擇一種交易類型,還有其他幾個參數(shù)也是必填的:
· 發(fā)送方私鑰
· 指定的交易費用
· 交易截止日期
· 一個可選的相關(guān)交易
2. 所有輸入的交易參數(shù)都會被校驗;例如必填的參數(shù)不能為空,交易費至少是1Nxt;交易截止日期至少距離現(xiàn)在大于1分鐘;如果相關(guān)交易被指定,那么只有相關(guān)交易處理完畢后,此交易才能被處理;
3. 如果參數(shù)檢查都通過了:
a. 根據(jù)私鑰生成發(fā)送方賬戶的公鑰;
b.獲取創(chuàng)建的賬戶信息,交易參數(shù)也將被進一步的檢查:
· 發(fā)送方的余額不能為0;
· 發(fā)送方的未確認余額不能小于發(fā)送費用和發(fā)送貨幣的和;
4. 如果發(fā)送方賬戶資產(chǎn)充足:
a. 按照交易類型和子類型創(chuàng)建交易;所有指定的參數(shù)都包含在交易數(shù)據(jù)中,隨著交易對象的創(chuàng)建,一個唯一的交易主鍵ID也會被創(chuàng)建。
b.交易會被用發(fā)送方賬戶私鑰簽名;
c.編碼后的交易數(shù)據(jù)會被發(fā)送給賬戶連接的一些活躍節(jié)點處理;
d.交易會被廣播給所有的節(jié)點;
e.服務(wù)器會返回一個交易創(chuàng)建的結(jié)果:
· 如果創(chuàng)建成功,返回交易ID;
· 一旦任何參數(shù)檢查不通過則返回錯誤信息;
密碼圖譜基礎(chǔ)
Nxt的密鑰交換是基于Curve25519算法的,Curve25519通過使用非常快速、高效、高安全性的橢圓曲線數(shù)字簽名:迪菲-赫爾曼函數(shù)8)實現(xiàn)私鑰生成。這個算法最初由Daniel J. Bernstein在2006年實現(xiàn)。
Nxt的消息簽名使用了EC-KCDSA9)(Elliptic-Curve Korean CerTIficate-based Digital Signature Algorithm)算法,這個算法在1998年成為IEEE P1363a的一部分。
這兩個算法被選中是考慮了它們生成一個32字節(jié)的密鑰的平均耗時和安全性;
加密算法
如果Alice要發(fā)送一個編碼消息給Bob,那么Alice需要:
備注:如果一部分的明文消息被猜中,如果Alice和Bob一直使用相同的密鑰對,后續(xù)的消息很可能也會被解碼。所以,建議每次交流的時候都生成不同的密鑰對以提高安全性;
股權(quán)攻擊
零成本攻擊(Nothing at Stake)
在一個零成本攻擊中,鍛造者試圖在block的每個分支上都繼續(xù)創(chuàng)建block,因為這個行為幾乎對攻擊者毫無成本;另外,忽略任何一個分支都可能會導(dǎo)致丟失區(qū)塊獎勵,一旦某一個分支因為最大的累計難度成為正式的區(qū)塊鏈;
現(xiàn)在這類攻擊只是在理論上可能發(fā)生,并不實際;Nxt網(wǎng)絡(luò)不會經(jīng)歷長的block分支,低區(qū)塊收益也無法提供非常強的利益刺激;進一步講,為了很小的利益而影響網(wǎng)絡(luò)的安全和信任是得不償失的。
作為Nxt發(fā)展路線圖中的一部分,一個叫做“經(jīng)濟集合”概念的特性可以針對這種攻擊提供保護,它通過強制要求交易創(chuàng)建時包含一個之前block的hash值以及分組節(jié)點到集群來探測網(wǎng)絡(luò)中非正常的行為并給予處罰(暫時失去鍛造能力)
歷史攻擊(History Attacks)
在一個歷史攻擊中,某個人獲得了一大筆貨幣,并出售,然后試圖從交易前創(chuàng)建一個成功的分支替換區(qū)塊鏈數(shù)據(jù);如果失敗了,對攻擊者不會有任何損失,因為貨幣已經(jīng)成功出售了;如果攻擊成功,那么攻擊者又拿回了他們已經(jīng)出售的貨幣。這種攻擊的一個極端例子就是攻擊者需要獲取賬戶的私鑰,然后從創(chuàng)世塊開始構(gòu)建一個成功分支;
在Nxt中,一般的歷史攻擊都會失敗,因為所有可以用來鍛造的股權(quán)都需要停留區(qū)塊達到1440個;另外,有效余額在賬戶生成每個區(qū)塊時都會是區(qū)塊校驗的一部分。極端攻擊形式也會失敗,因為Nxt的區(qū)塊鏈不允許超過720個高度的重組。這就限制了攻擊者,從時間框架上無法實現(xiàn)成功的攻擊;