看板 DigiCurrency 關於我們 聯絡資訊
通常軟體或是協定真的要分層,有兩個理由: (1)簡化問題讓每一層的架構都"只需要負責自己的事情" 譬如像是Internet就是這樣的絕佳例證。從一開始就規畫是分層架構。 OSI模型還給Internet分到七層,但是TCP/IP實作上只分到四層。 應用層需要管傳輸層在搞啥嗎?不用嘛。Port開好了,訊息丟出去就對了。 傳輸層需要管網路層在搞啥嗎?不用嘛。我OS只要管封包的正確性就好。 網路層需要管實體層在搞啥嗎?不用嘛。我Router上的軟體只要管正確地往下hop傳。 實體層需要管上面的三層在搞啥嗎?不用嘛。就是照當初規定的調變方式解析訊框而已。 整個架構就是這樣的明確,我上層不用管下面再搞啥。 閃電網路有這樣明確的架構嗎? 只能說真是一大盤通心麵啦。 https://tinyurl.com/y4bx68a2 現在真的假設on-chain交易是第一層,off-chain交易是第二層。 我第二層交易的閃電網路竟然還要去監聽和解析第一層,搞清楚第一層發生啥事。 不然萬一我的counterparty廣播出舊的channel status竊取通道資金怎辦? 所以完整的閃電網路節點無法不管第一層,搞得要玩閃電網路要先裝Bitcoin Core。 新使用者真的要玩閃電網路,要on-boarding兩次。第一層一遍,第二層又一遍。 本來我五分鐘就可以教會一個新使用者來玩Bitcoin。 結果現在我要花五十分還不一定教得會,可參看我之前的閃電網路教學文。 https://www.ptt.cc/bbs/DigiCurrency/M.1544375143.A.49B.html 這到底簡化到哪邊去了 我PC要上網,不用自己也跑Internet的BGP協定啊 假如真的依照Internet那種分層規劃,應該是封包來了,我只需要做自己負責的事情。 其他層的安全性問題和我是完全沒關係的。 應用層、傳輸層、實體層都有自己的安全協定。 但是這些安全協定互不干擾。 (2)增加額外的功能性 近來很紅的docker和VM都類似於增加額外的功能性。 我電腦閒著沒事幹嘛要多一層VM?可以同時好幾個完全不同OS在同一台電腦上跑啊。 而且用VM和docker對於安全性和靈活性與資源調配可移植。好處實在多太多了。 但是用閃電網路到底多了什麼"功能"? 讓你用BTC可以買杯咖啡?買披薩? https://i.imgur.com/U83npqM.jpg
Bitcoin早就可以買咖啡買披薩,披薩日還是Bitcoin的重要節日咧。 而且本來就該是數秒內完成零確認支付,我手機APP掃一下,交易完成。 大家都是準備"一支手機"就可以完成的事情。譬如下面twitter就有超級多的例子。 https://twitter.com/jajaaSB/status/1136694517455699968 而不是像閃電網路那樣,我還要提心吊膽斷線問題、通道liquidity問題、 channel資料備份問題、斷電問題。 在Bitcoin本來的架構下,我把私鑰passphrase記下來,沒了。 很顯然有一種效果並非應該是用分層架構達成的: (3)增加系統容量 Internet難不成加越多層會越快?那各位通訊界的RD都白爆肝了。 不用開發5G和光纖通訊,就隨便加個LN層,網速就加一倍,不夠再加第二層、第三層。 電腦覺得不夠快也這樣處理,軟體跑不夠快,那就再加一層VM,不夠再加第二層、第三層。 是這樣嗎??? 怎麼結果是相反的?加越多層越慢。 這就是我為什麼說LN根本不是第二層,而應該歸類為side application的原因。 他根本是個和區塊鏈完全不相容的架構,硬用智能合約兜在一起罷了。 哪有可能系統加越多層越快,沒這種道理。 其實我並不反對閃電網路,我反對的是用閃電網路"取代"原本主鏈的支付功能。 因為這種用法既無法簡化整個系統,也無法增加額外的功能性。 閃電網路要增加額外的功能性當然是很好的,所以要和應用綁在一起。 只有這種用法對一般人才算和主鏈切割夠乾淨,才能算是第二層。 像是BTT這個用在BT網路上的token,BAT這個用在廣告網路上的token, Golem這個用在分散是雲端上的token,哪需要這麼多token。 透過閃電網路和應用綁在一起,Bitcoin一個幣就一統江湖了。 BT內建閃電網路用Bitcoin交易檔案、瀏覽器內建閃電網路用Bitcoin交易廣告。 雲端軟體內建閃電網路透過Bitcoin交換計算資源。IPFS透過Bitcoin@LN維持服務。 這樣Bitcoin還不飛天~~~ -- 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.207.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1560239874.A.6AD.html
camellala: 頭推 06/11 17:57
b24333666: 食指推 06/11 18:24
wsp151515: 小指推 06/11 18:48
jorden: 推 06/11 20:36
ketao: 推 06/11 22:06
itsdelovely: 推 06/11 22:52
※ 編輯: DarkerDuck (111.255.218.160 臺灣), 08/13/2019 09:15:49
slayptter: 這篇文章不錯 04/16 01:08
slayptter: 軟體分層確實是解決問題、寫程式很重要的步驟 04/16 01:08
slayptter: 每個部分都處理好 04/16 01:08
slayptter: 直接組合即可完成 04/16 01:08