把 blockchain 當分散式資料庫的理由
考慮一個聊天用 tool 的架構 , 像 skype 那樣
示意圖:
server是分散式就變成這樣:
如果是用 blockchain 當 server , 就變成這樣:
會注意到與小明和小華連接的機器 , 一般公司與blockchain的架構
差異是在機器不是同個人所有
而 client 連到不同人擁有的 node 是很常見的
從 blockchain 當 server 的圖 , 可以知道
小明與小華的聊天紀錄 , 必須放在 block 內 , 才能互相傳送
對 node “Jay”來講 , 它並不知道 node “A”有跑甚麼程式
也不能影響 node “A”所跑的程式(除非駭進去XD)
這就使得必須以交易或 block 去傳送 data
所以 blockchain 當成資料庫來用 , 是一種沒有辦法的辦法
惡意 node 的影響
更麻煩的問題 , 在於惡意 node , 如下圖
由於 node “A”是惡意 node , 它可以玩起中間人攻擊
讓小明與小華都收到錯誤的聊天內容 , 從而達到攻擊者的目的
一般的共識機制並不處理這問題 (共識機制是處理帳本的)
換句話說 , 防偽是應用一定要考慮的一點
而一般公司分散式架構不需要處理這樣的問題
結論
從以上的例子 , 可以注意到 , blockchain 要做應用
還需要做很多的基礎建設 , 例如身份識別
以及許多優化
只能說還在摸索 , 說能落地還早得很
個人以為不必急著全用 blockchain作為應用的骨幹
部份使用是比較好的策略