IOTA系統架構簡介 === IOTA是一種分散式帳本技術(DLT) IOTA是多 $client$ 多 $server$ 的系統 , 且允許任何程式當 $server$ 或 $client$ 整個IOTA的功能是由 $server$ 與 $client$ 共同完成的 # server $server$ 就是白皮書所說的 $node$ $node$ 的功能很單純 , 就是存全部的交易與選兩筆交易做驗證 # client $client$ 是用 [command](https://iota.readme.io/v1.2.0/reference) 與 $node$ 溝通的程式 由於直接用 $command$ 會寫code寫的很繁瑣 所以官方有release一些寫好的[lib(iota.lib.xx)](https://github.com/search?q=org%3Aiotaledger+lib) # node 與 client 直連的狀況 從以上的架構 , 可以分四種情況討論 ## 正常的node , 正常的client 本來就應該如此 當然還要配上好的使用習慣(不亂裝軟體 , 不xxxx ......) 才會安全 , 不會被偷錢 ## 正常的node , 惡意的client $seed$ 相關是 $client$ 處理的 這樣情況錢會被偷 之前的盜錢事件就是用網頁seed產生器 , seed外流給其他人知道 , 造成錢被偷取 ## 惡意的node , 正常的client 基本上惡意的node可以 $command$ 的回傳亂傳資料 這樣 $client$ 仍然會拿到錯誤的資訊 ## 惡意的node , 惡意的client 這種不用看了 , 怎樣都是不安全 甚至連seed都會被盜 ## 本書的討論 本書討論的是: :::info 沒有 $coordinator$ 在有惡意的 $node$ 下 正常的 $node$ 與正常的 $client$ 直連 會不會出現錯誤的帳本? ::: # node 與 client 溝通的格式 # node 與 node 溝通的格式