Web3js

區塊鏈應用技術架構

  • October 26, 2018

假設我想建構一個不完全去中心化的應用程序,實際上它為前端提供 Restful API,並在後端使用私有乙太坊區塊鏈來處理敏感數據和管理使用者權限。在使用他的密碼註冊我的後端時,我為每個使用者創建了一個乙太坊帳戶。後端執行 NodeJS express,並連接到 web3 實例。每當使用者想要進行操作時,他都需要輸入密碼,然後我使用此密碼解鎖他的帳戶並發送交易(或者可能是合約呼叫)。

  1. 作為使用者和私有區塊鏈之間的中間件是否有意義?我的意思是從乙太坊設計的角度來看,這是一種常見的做法嗎?如果因為所有工作都在幕後完成,使用者沒有看到任何與區塊鏈相關的東西,他應該如何意識到這種做法?使用者如何相信我的系統不會洩露他的密碼?
  2. 在這種情況下,是否建議為此私有區塊鏈使用多個節點?它帶來了什麼好處?僅僅是高可用性和消除中心故障點嗎?

在我嘗試回答您的問題之前:特別是使用區塊鍊和乙太坊有一定的好處。這些好處是:

  • 區塊鏈技術利用其獨特的貨幣系統和“代幣”幫助追踪事物
  • 區塊鏈技術可以為任何類型的數據提供無可爭議的完整性證明
  • 乙太坊智能合約可以提供自動化實體之間透明交易的手段。受“法典”監管的實體。
  • 乙太坊智能合約確實在各種商品中創建了一種自動交易商(一個售賣一切的自動售貨機)

這些好處是您實現基於乙太坊的平台所需要的。除此之外,乙太坊將迅速成為您系統中的負擔和弱點。

你的問題 :

1)在許多目前和未來的大部分大型項目中,乙太坊節點無論如何都不會對使用者可見。在平台(系統)和使用者之間建立信任的東西將是透明度和穩健性的承諾。一個好的做法是明確告訴您的使用者您正在代表他們管理他們的賬戶,並讓他們有可能選擇退出並自己管理他們的乙太坊賬戶和交易,同時仍然從您的平台服務中受益。

  1. 在專用網路的情況下不需要多個節點。如果系統背後的邏輯需要在這些節點之間實際共享決策,則可能需要使用許多節點。類似於每個國家的節點,或每個政黨的節點。擁有許多節點還可以減輕硬體壓力並提高系統的容量和容錯能力。

引用自:https://ethereum.stackexchange.com/questions/61192