企業(yè)區(qū)塊鏈應(yīng)用程序有什么重要的問(wèn)題

世嘉永誠(chéng)企業(yè)
公共區(qū)塊鏈智能合約方法是開(kāi)放的,無(wú)論什么樣的用戶都可以調(diào)用。因此,智能合約需要確保其數(shù)據(jù)不被破壞,并防止濫用其業(yè)務(wù)邏輯。開(kāi)發(fā)安全有效的智能合約需要高超的技能,并需要大量的實(shí)踐。

企業(yè)區(qū)塊鏈應(yīng)用程序有什么重要的問(wèn)題

很多架構(gòu)師在使用區(qū)塊鏈技術(shù)之前需要考慮一些關(guān)鍵問(wèn)題,而這些問(wèn)題與數(shù)據(jù)隱私和區(qū)塊鏈類(lèi)型有關(guān)。

公共區(qū)塊鏈通過(guò)提供數(shù)據(jù)的透明度、完整性、可追蹤性、真實(shí)性來(lái)協(xié)調(diào)信任層。它可以記錄所有交易活動(dòng)。這些獨(dú)特的屬性吸引了許多企業(yè)來(lái)開(kāi)發(fā)應(yīng)用程序,這些應(yīng)用程序記錄利益相關(guān)者之間的透明活動(dòng)、提供來(lái)源可追溯性的所有權(quán)詳細(xì)信息、證明存在的數(shù)字內(nèi)容的時(shí)間戳等等。Aion基金會(huì)首席執(zhí)行官M(fèi)att Spoke強(qiáng)調(diào)了公共區(qū)塊鏈?zhǔn)且粭l很好的前進(jìn)道路的原因。

盡管區(qū)塊鏈存儲(chǔ)是開(kāi)放和可訪問(wèn)的,但在這種狀態(tài)下執(zhí)行的每一個(gè)寫(xiě)操作都會(huì)產(chǎn)生成本。因此,必須將應(yīng)用程序的主要部分托管在區(qū)塊鏈上,以最大程度地降低成本。需要構(gòu)建應(yīng)用程序的其余部分來(lái)解決以下問(wèn)題:

兩個(gè)關(guān)鍵問(wèn)題

(1)需要在區(qū)塊鏈中存儲(chǔ)哪些數(shù)據(jù)?

公共區(qū)塊鏈上的任何數(shù)據(jù)都是開(kāi)放的、訪問(wèn)的且不可撤銷(xiāo)的。因此,除非數(shù)據(jù)已使用抗量子算法編碼并存儲(chǔ),否則公共區(qū)塊鏈不符合GDPR(以及CCPA)法規(guī)的標(biāo)準(zhǔn)。

個(gè)人身份信息(PII)或危及用戶隱私的敏感數(shù)據(jù)不應(yīng)存儲(chǔ)在區(qū)塊鏈上。但是,區(qū)塊鏈仍然需要賬戶地址才能將其與真實(shí)用戶單獨(dú)鏈接(在區(qū)塊鏈上可以是偽匿名的)。

(2)在哪個(gè)區(qū)塊鏈上構(gòu)建應(yīng)用程序?

軟件的性能直接取決于其依賴項(xiàng)及其主機(jī)環(huán)境的性能。區(qū)塊鏈帶來(lái)了一種去中心化架構(gòu)的新模式,其中鏈上的每個(gè)節(jié)點(diǎn)不斷更新以維護(hù)狀態(tài)。除此之外,區(qū)塊鏈應(yīng)用程序還需要處理各種問(wèn)題及其實(shí)現(xiàn)。

企業(yè)區(qū)塊鏈應(yīng)用程序有什么重要的問(wèn)題

共識(shí)

區(qū)塊鏈依賴于參與者節(jié)點(diǎn)的分布式共識(shí)。與任何權(quán)益證明(PoS)系統(tǒng)相比,工作量證明(PoW)共識(shí)需要花費(fèi)更多時(shí)間才能在基于最終水印的系統(tǒng)上達(dá)成共識(shí)。同樣,其他變體共識(shí)算法也會(huì)影響交易確認(rèn)時(shí)間,應(yīng)用程序需要在不犧牲響應(yīng)時(shí)間的情況下進(jìn)行處理。

智能合約

公共區(qū)塊鏈智能合約方法是開(kāi)放的,無(wú)論什么樣的用戶都可以調(diào)用。因此,智能合約需要確保其數(shù)據(jù)不被破壞,并防止濫用其業(yè)務(wù)邏輯。開(kāi)發(fā)安全有效的智能合約需要高超的技能,并需要大量的實(shí)踐。此外,基于這種智能合約的復(fù)雜性和監(jiān)控影響,它需要與外部組織進(jìn)行安全審核。

區(qū)塊產(chǎn)生時(shí)間和交易數(shù)量

區(qū)塊的產(chǎn)生時(shí)間和可以合并到一個(gè)區(qū)塊中的最大交易數(shù)決定了系統(tǒng)的吞吐量。該應(yīng)用程序理論上可以生成許多交易,但是這些交易仍需要與區(qū)塊鏈上的其他應(yīng)用程序一起完成。例如,以太坊當(dāng)前每秒處理15個(gè)交易。

訪問(wèn)區(qū)塊鏈

盡管區(qū)塊鏈?zhǔn)情_(kāi)放和可消耗的,但需要可靠的連接才能使用完整的節(jié)點(diǎn)或第三方等選項(xiàng)(例如Infura、Blockdaemon、Nodesmith等)與其通信。完整節(jié)點(diǎn)保證最新的區(qū)塊鏈狀態(tài)。然而,它很難管理(特別是在維護(hù)和升級(jí)方面),而且不具有成本效益。

如果企業(yè)選擇第三方服務(wù),它將引入額外的依賴性,其內(nèi)部工作原理是將交易交付到區(qū)塊鏈、交易池管理、重試策略和重置策略。

天然氣成本和價(jià)格

以電網(wǎng)為例,與區(qū)塊鏈上執(zhí)行交易相關(guān)的天然氣價(jià)格根據(jù)電網(wǎng)的需求和供應(yīng)而波動(dòng)。基礎(chǔ)電網(wǎng)加密貨幣價(jià)格也會(huì)對(duì)其產(chǎn)生影響。根據(jù)應(yīng)用程序的使用模式,明智的做法是估算未來(lái)三到五年內(nèi)運(yùn)行該系統(tǒng)的天然氣成本預(yù)算,而在價(jià)格較低時(shí)提前購(gòu)買(mǎi)天然氣將有助于降低成本。

工具與支持

最后但并非最不重要的一點(diǎn)是對(duì)區(qū)塊鏈生態(tài)系統(tǒng)的工具支持,因?yàn)樗陂_(kāi)發(fā)、部署、調(diào)試和監(jiān)視智能合約時(shí)起著至關(guān)重要的作用。在需要時(shí)獲得技術(shù)支持會(huì)帶來(lái)很多不同工具。

處理區(qū)塊鏈的復(fù)雜性

墨菲定律在理想世界中是無(wú)效的,但實(shí)際上出了問(wèn)題,人們需要為可能出現(xiàn)的最壞情況制定計(jì)劃。其中一些問(wèn)題是可以解決的,但是應(yīng)用程序仍然需要處理來(lái)自區(qū)塊鏈復(fù)雜性的挑戰(zhàn)。

區(qū)塊鏈無(wú)法處理的交易

如今,許多應(yīng)用程序都會(huì)產(chǎn)生大量的微交易,以記錄每一個(gè)小細(xì)節(jié)。區(qū)塊鏈尚未達(dá)到這一級(jí)別的可擴(kuò)展性,但是,它不應(yīng)阻止人們?cè)谄渲蠘?gòu)建應(yīng)用程序。這可以通過(guò)匯總交易(如果邏輯上可行)并減少區(qū)塊鏈上的交易提交來(lái)解決。

高吞吐量的另一種選擇是使用側(cè)鏈網(wǎng)絡(luò)(如果可用),這樣可確保將公共區(qū)塊鏈?zhǔn)找嫒钥捎糜趹?yīng)用程序,同時(shí)將部分工作卸載到側(cè)鏈。

未能實(shí)施交易

區(qū)塊鏈可能無(wú)法提取應(yīng)用程序提交的交易。這可能是交易本身的問(wèn)題,也可能與分散網(wǎng)絡(luò)問(wèn)題有關(guān)(例如,區(qū)塊鏈中鏈的重組、硬分叉、交易池故障等)。該應(yīng)用程序?qū)⒃谒星闆r下通過(guò)記住已提交給區(qū)塊鏈但未通過(guò)的內(nèi)容來(lái)重試。

如果交易失敗是由于較低的天然氣價(jià)格引起的,則應(yīng)用程序?qū)⒁暂^高的天然氣價(jià)格重新提交交易。否則,它將重試。這對(duì)于同步區(qū)塊鏈的狀態(tài)和應(yīng)用程序的內(nèi)部狀態(tài)至關(guān)重要。

電網(wǎng)擁塞

應(yīng)用程序應(yīng)該具有響應(yīng)和適應(yīng)電網(wǎng)擁塞的規(guī)定。如果提高天然氣價(jià)格不起作用,則該應(yīng)用程序應(yīng)定期或按指數(shù)重試。

電網(wǎng)擁塞采用區(qū)塊鏈的好處是,可能無(wú)法立即通過(guò)其他方式將交易提交到電網(wǎng)。這將減少重復(fù)消費(fèi)的風(fēng)險(xiǎn)。該應(yīng)用程序可以使用其內(nèi)部狀態(tài)繼續(xù)運(yùn)行,并在以后以較高的可用天然氣價(jià)格提交交易。

區(qū)塊鏈與內(nèi)部應(yīng)用程序狀態(tài)之間的不一致

如果應(yīng)用程序是圍繞區(qū)塊鏈標(biāo)記技術(shù)構(gòu)建的,則應(yīng)用程序的非區(qū)塊鏈部分將記住尚未確認(rèn)或提交給區(qū)塊鏈的系統(tǒng)狀態(tài)。

當(dāng)用戶訪問(wèn)應(yīng)用程序時(shí),可以考慮這些未決的交易。但是,如果他們直接訪問(wèn)區(qū)塊鏈瀏覽器,則余額或狀態(tài)可能會(huì)關(guān)閉。如果用戶很聰明并且可以訪問(wèn)其私鑰,那么他們可以將交易直接發(fā)送到應(yīng)用程序外部的區(qū)塊鏈,并耗盡余額或更改狀態(tài)。

解決此問(wèn)題的一種方法是在應(yīng)用程序中實(shí)現(xiàn)余額的透支保護(hù),并在交易余額達(dá)到一定程度時(shí)允許執(zhí)行交易。第二種方法是為應(yīng)用程序創(chuàng)建內(nèi)部賬戶,以代表用戶執(zhí)行狀態(tài)更改。

總而言之,構(gòu)建具有數(shù)百萬(wàn)個(gè)用戶和大量交易的企業(yè)區(qū)塊鏈應(yīng)用程序可能不適合常規(guī)軟件體系結(jié)構(gòu)。因此,架構(gòu)師需要為新的挑戰(zhàn)和未解決的問(wèn)題做好準(zhǔn)備,以解決這種大規(guī)模應(yīng)用問(wèn)題。

此處未涵蓋的重要方面是管理用于在區(qū)塊鏈上執(zhí)行交易的密鑰。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論