• 沒有找到結果。

平台框架實作及其運作方式

第四章 應用區塊鏈技術設計文書存在證明平台

第三節 平台框架實作及其運作方式

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 55 -

第三節 平台框架實作及其運作方式

由於開發一套程式,牽涉到的技術層面甚廣,無法一一介紹詳細,本研究 僅將本平台實作採用之核心技術應用羅列如下:

(一)、 區塊鏈:以太坊 Ethereum 私有鏈

上一章提到,目前針對資訊儲存相對友善的環境為以太坊(Ethereum),因 此在此一平台區塊鏈技術的選擇上,選擇以以太坊作為使用。然而,由於實際 運行於現有的正式區塊鏈上,無論是成本或是開發測試上都將使得效率低落,

故基於以太坊技術之上,採取以私有鏈的方式作為開發測試,採用私有鏈並不 會使得系統不正確。

(二)、 以太坊 Ethereum 用戶端程式:Parity

現行以太坊的技術有兩大用戶端介面程式,Parity 和 Geth,兩者皆可以完 成目標系統的開發,但由於在嘗試開發的過程中,Geth 相對私有鏈的架設較不 穩定,故採以Parity 作為開發智能合約的核心。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 56 -

圖 16:以 Parity 作為用戶端程式架設私有鏈實圖

(三)、 伺服器端應用: Node.js

Node.js 是一個能夠在伺服器端運行 JavaScript 的開放原始碼、且跨平台 JavaScript 執行環境。Node.js 採用 Google 開發的 V8 執行程式碼,使用事件驅 動、非阻塞和非同步輸入輸出模型等技術來提高效能,可優化應用程式的傳輸 量和規模。這些技術通常用於資料密集的事實應用程式。

(四)、 網際網路應用程式: React.js

React.js 是由 Facebook 的 Jordan Walke 於 2013 年所創造的網際網路應用程 式框架,其用途在於為一般的網頁開發作渲染,且讓開發者不必重複性的撰寫 同樣功能的程式碼,提高開發效率。更主要的能力在於當數據改變時,網頁可 以進行有效的更新,與傳統網頁需點擊重新整理有著顯著效率上的升級。由於 伺服器端使用Node.js 作為底層技術,因應 Node.js 所選擇的模組為 web3.js,而

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 57 -

React.js 在 web3.js 的相容性上較為穩定,故選擇採用 React.js 作為實例介面開 發。

(五)、 後端雲端服務平臺: Firebase

Firebase 是一個同時支援各種平台(包含 Android、iOS 及網頁)的 app 雲 端服務平台,協助平台開發人員在雲端快速建置後端服務,提供即時資料庫的 運用,有效縮短 app 開發時間,讓平台開發者能更專注在前端的優化。

(六)、 平台框架實測

實際的平台讓創作者可以自行填寫欄位標題及作者資訊,選擇檔案後會自 動計算出該數位檔案之Hash 值。

圖 17:使用者介面實圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 58 -

當使用者完成填寫,點擊上傳到紀錄簿後,資料庫自動備份並更新該些資 訊,本論文所架構之平台之中,將該些紀錄以雲端備份至資料庫。

下圖之中可以看到,除了檔案編號、作者、檔案標題已經上傳至資料庫,

檔案編號相對應的區塊編號也同時做備份,方便未來使用者做事後查核、審 視、校對、比對等動作。

圖 18:使用者上傳檔案後,資料庫更新實圖

除了在地資料庫自行更新之外,後端區塊鏈也將該檔案資訊透過發起交 易,將該檔案之指紋碼資訊發送出去。

圖 19:使用者上傳檔案後,區塊鏈發起交易並將資訊發送實圖

此核心流程便為一創作者將數位檔案上傳至區塊鏈作為創作歷程存證之實 例操作。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 59 -

圖 20:智能合約所存儲之資訊實圖

40 台灣內容市集,https://www.tcrm.org.tw/index.php(最後瀏覽於2018/01/31)。

相關文件