IOTA真的能實現足夠的算力嗎 - 數位貨幣

Table of Contents

我還是把前面的推文用回文回應好了。

IOTA本身還是用PoW去確保帳本安全,最大的問題在於整個網路安全並非是由"利益"驅動。

在一般的PoW區塊鏈系統下,自私的礦工將會不斷膨脹自己的算力直到"無利可圖"。

專業化的礦工負責維護網路安全,把帳本的難度提高到幾乎是不可逆。

一般使用者只要用SPV錢包簽章交易然後發出就好,剩下都免煩惱。

但在IOTA的架構下,這利益驅動部分被拿掉了。

這使得整個網路的算力無法像比特幣那樣誇張,因此就有可能讓交易可逆。

為了解決這個問題用了中心化的協調者去發milestone,直接把惡意的tip排除。

那這其實就已經不可能達到跟比特幣一樣自由抗審查去中心化的目的。

無論用什麼方式去喬,甚至是把Min Weight Magnitude調高或是用高效能server去創造PoW

那其實結果就是把本來礦工的工作丟給大家做而已

也就是IOTA所謂的免手續費只是把本來礦工的成本加到每一筆交易上而已。

這反而影響了交易發送和被確認的效率。而且嚴格來說這並非"零手續費成本"

因為要不就是發送交易要比較高的PoW,要不就是要需要可信的協調者挑選tangle流向。

這兩者都會對交易效率或去中心化造成影響。

不過我覺得假如用在本來區塊鏈上的零確認交易上倒是很實用的點子:

我一直認為中本聰已經把比特幣設計得近乎完美,根本不需要什麼太多上架構修改了。

頂多做些效能改進就可以變成全球性的金流網路。

專業的礦工將可以用專用機房專用線路處理全球的交易。

一般使用者付款時則可以透過零確認交易,在不到五秒內確認交易。

這零確認交易在2016年前是一直都可行的。直到比特幣被莫名其妙塞死之前。

也就是Bitcoin真的絕對可以變成跟"現金"一樣方便的。

不過還是有些缺憾。就是零確認交易靠的是礦工的自律。而不是礦工的自私。

礦工預設會排除所有後來看到的雙花交易。

譬如已經礦工已經看到交易A,後來又看到試圖雙花交易A UTXO的交易B。

那麼礦工預設就會排除雙花交易B。

但這只是原則。自私的礦工假如看到交易B有較高的手續費的話。

那礦工還是可以在交易A未被區塊鏈確認前,用雙花交易B來取代。

那假如把Tangle這個概念加到所有的未確認交易上的話。

將可以讓零確認交易也具有相當高的安全度,而且最重要的是這符合"自私的礦工"理念

原本Tangle需要更動的部分其實也不多,就是把PoW這個權重用傳輸手續費替代。

因為其實手續費就是來抵銷礦工PoW開支用的,

本來就沒有必要花額外的運算成本去計算PoW,只為了達成虛假的"免手續費"

同樣發出交易要去驗證前面兩個未確認交易串,並加上手續費即可。

礦工開始收集未確認交易形成tangle graph,假如覺得太大了,就停止接收新交易。

並且在產生區塊的時候把這些確認的tangle graph 交易集合廣播出去。

那這些交易就會被納入區塊鏈了。並且產生類似IOTA milestone的效果。

在交易尚未被確認的時候。

假如同樣有一個試圖雙花A的交易B進來了,那他就必須產生一個比交易A權重還高的graph

而交易權重就是手續費,以比特幣而言的話,一秒鐘就好幾千台幣的手續費。

那這就是雙花交易A的成本,對於一般的日常零確認小額交易來說,等個一兩秒就夠了。

這個初步的構想將可以達成非常高安全性的零確認交易。

因為礦工必定會挑選總權重高也就是手續費比較多的的tangle graph。

這符合礦工的終極利益。

缺點的話

就是礦工無法依照自己的喜好任意排除不喜歡的交易(通常是手續費較低的交易)。

以及此方案對於礦工的同步性要求比純PoW區塊鏈來得高很多。

以及稍微增加SPV節點所需要的頻寬和記憶體消耗。

不過像這種零確認交易的改進方案其實也有weak block等其他方案。

IOTA若要達成真正的抗審查去中心化,可能最後還是要使用類似利益驅動的區塊鏈架構。

--
simpleledger:qryeahexpqszdt9ffech6jhxu6wsfp0fnyhgd44ahf
Bitcoin: 1GxtyprMfcxE366BDUsg1skQyuAnxktZjc
https://www.blockchain.com/zh/btc/address/1GxtyprMfcxE366BDUsg1skQyuAnxktZjc
Bitcoin Cash: bitcoincash:qp928h4q4xasa5wh2x88xhsxgc4vwj6g95uzq0ak97
https://goo.gl/2qNr43
Ethereum: 0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2
https://etherscan.io/address/0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2
--

All Comments

Brianna avatarBrianna2018-01-22
Yuri avatarYuri2018-01-23
雙花可以靠不同地點幾乎同時發送交易製造嗎? 比方一個
在中國發 一個在美國發 就會有些礦工覺得中國交易比較
Charlotte avatarCharlotte2018-01-27
可以啊,同一時間出現的雙花交易就等一下
看這兩個conflict交易誰長出來的graph權重高
Hedwig avatarHedwig2018-02-01
早發 有些覺得美國交易比較早?
Yedda avatarYedda2018-02-03
而實務上支付處理商看到真的雙花交易就會直接等確認了
反正是少數的可疑的惡意節點,就讓他等吧
Zora avatarZora2018-02-05
在這個架構下,就算交易沒被確認
等越久,未確認交易也會越安全
Megan avatarMegan2018-02-06
推見解&點子!
Leila avatarLeila2018-02-08
push
Agatha avatarAgatha2018-02-12
Sierra Rose avatarSierra Rose2018-02-16
了解 收到交易等幾秒 如果有同時雙花很快就可以發現
Connor avatarConnor2018-02-20
發現雙花就等確認 如果幾秒沒雙花又小額就當做OK
Vanessa avatarVanessa2018-02-23
會不會變成跟www網路一樣?有幾台root伺服器處理認證
John avatarJohn2018-02-25
當初看iota白皮書時,發現沒利益驅動吸引算力,整個怪
Connor avatarConnor2018-03-01
然後有些問題,官方又說算力高就能解決,沒誘因怎麼高?
Kyle avatarKyle2018-03-06
不過iota一開始就表示是用在物聯網,可能是想走廠商合作模式
Liam avatarLiam2018-03-07
不過這樣一來就不是去中心化了
Elma avatarElma2018-03-08
IOTA為了追求物聯裝置負擔輕減
他的裝置運算量必須降到很低。
就算海量裝置上線,大概算力還是很少
James avatarJames2018-03-12
沒利益趨勢,所以認為難度不會大增
Caitlin avatarCaitlin2018-03-14
但若遇到惡意的暴力運算裝置??
Kelly avatarKelly2018-03-18
POW在IOTA中不是拿來當作security,重點是在網路上的tips
Daph Bay avatarDaph Bay2018-03-23
要交易驗證成功要讓幾乎所有的tips都認同,有惡意的spam
Ida avatarIda2018-03-25
攻擊的話,他們要選擇最有利的tips或其他方式讓之後進來
Isla avatarIsla2018-03-30
的交易都認同他們,這關係到整個網路拓樸,白皮書有解釋
Ophelia avatarOphelia2018-04-03
各種可能的攻擊方式,更不用說要如何在如此動態的結構拓
Edith avatarEdith2018-04-06
樸找到對自己最有利的tips或是部位
Yedda avatarYedda2018-04-09
POW對IOTA來說只是個進入tangle的證明,你甚至可以自己用
Andrew avatarAndrew2018-04-11
curl完成交易,但最終驗證成功與否是看tangle後續進入的
Rebecca avatarRebecca2018-04-13
tips來決定
Oliver avatarOliver2018-04-13
重新讀了板大這篇 覺得有些思路頗厲害
Xanthe avatarXanthe2018-04-15
尤其是利用手續費來重新規定自身權重和累積權重的計算方式
Freda avatarFreda2018-04-20
大幅提高雙花成本 以大幅提昇零確認交易的可靠度
Adele avatarAdele2018-04-25
到這邊應該沒有理解錯吧?
Valerie avatarValerie2018-04-27
待我繼續消化消化
Caroline avatarCaroline2018-04-27
啊 我想問
Charlie avatarCharlie2018-04-29
礦工選A或選B
應該是發生在挖礦開始前 收集交易進入區塊的階段?
Irma avatarIrma2018-05-01
所以你的實作會變成
挖礦(不斷試nonce)的過程中
Enid avatarEnid2018-05-05
收到新的交易時 可以暫停挖礦
Lucy avatarLucy2018-05-08
把新的交易包進挖到一半的區塊之後 然後再繼續挖礦嗎
雖然我想了一想覺得好像也沒有不行
Doris avatarDoris2018-05-11
打斷挖礦 改區塊內容 再繼續挖 應該不會增加挖礦時間
Regina avatarRegina2018-05-13
哦 然後我又有個想問的欸
Frederic avatarFrederic2018-05-16
你這樣把Tangle包在Block裡面 你說可以讓零確認交易更安全
Emily avatarEmily2018-05-19
但不管Block裡的交易用什麼形式串起來
Elvira avatarElvira2018-05-20
交易的確認數不夠高時
仍有面臨blockchain reorganization而被撤銷的可能
Mary avatarMary2018-05-21
這樣不就沒意義了嗎
Irma avatarIrma2018-05-25
謝謝板大回應!我再思考思考