許多去中心化技術的基礎結構背后有一種被稱為“工具”或“工具包”的東西,它們構成了技術的整體性質。在許多情況下,開發(fā)人員使用現(xiàn)有的框架或編程語言來創(chuàng)建這樣的基礎設施。編程語言可以理解為繪制肖像所需的顏色調色板。因此,這幅畫本質上只在創(chuàng)造力受到限制的情況下才會強大,但不同的調色板允許完全不同的繪畫類型。編程也是類似的,如果要以以太坊的“Solidity”語言為調色板,所創(chuàng)建的繪畫都是去中心化的應用。
以太坊的Solidity語言是一種新型財務編程的基礎,在這種編程中,您可以創(chuàng)建自己的智能合約。以太坊背后的概念是創(chuàng)造一種新的生態(tài)系統(tǒng),各方可以通過一種近乎完美的去中心化方式彼此溝通,在大多數(shù)情況下,中間人被切斷。
智能合約及其架構
在理解可靠性的作用以及它如何徹底改變幾乎所有去中心化系統(tǒng)的開發(fā)環(huán)境之前,理解智能合約的核心概念及其構建的目的是什么非常重要。
在傳統(tǒng)的工作流中,一個人通常有一個合約,該合約以某種方式將多方綁定在一起。假設某人和另一個收債人簽訂了一份付款合約,收債人簽了合約,就要付給他100美元。這很簡單,對吧?
以太坊背后的概念是,人們可以將整個過程虛擬化,通過智能合約提高效率。簡單地以前面的債務義務為例,并將其虛擬化。這樣就有了不可改變的和透明的制度,債務永遠不會受到欺詐。
智能合約是在雙方之間建立的,然而,雙方可以是1人的一方與50人的一方簽訂,反之亦然。智能合約背后的另一個核心概念是,它為金融產品部分的新機會打開了大門。最初代幣發(fā)行 (ICO)的概念之所以成為可能,是因為智能合約具有不可變性和透明性的特點。使用智能合約,您可以頒發(fā)一個本機代幣。
設計和流程
在設計堅實的基礎時,以太坊團隊希望強調可用性和簡單性。這樣做的原因是為了使工具箱能夠適用于盡可能廣泛的人群。以太坊提出的主要主張是,實體的概念被設計為用于分散化應用程序(也稱為dApp)的JavaScript。
JavaScript在開發(fā)人員中很有名,因為作為一個經驗豐富的程序員,學習JavaScript相對容易,它包含了現(xiàn)代語言的主要概念和設計。同樣,可靠性的基礎被設計成盡可能類似于現(xiàn)有的現(xiàn)代編程出口。像HTML這樣的標記語言的知識非常有限,這可能會給那些想要學習穩(wěn)定性的人造成障礙,至少第一眼看上去是這樣,但是,一旦開發(fā)人員掌握了其中的訣竅,導航起來就相當簡單了。
盡管從技術上講,可以創(chuàng)建自己的基礎程序,比如高級循環(huán)、計算器等等,但是這種語言是專門為智能合約編程和分散應用程序開發(fā)而定制的。這意味著在開發(fā)人員開始將其應用于智能合約開發(fā)之前,用戶無法提取其真正的可用性。如果要消除智能合約集成,就會得到一種非常弱的語言。
如果讀者想要創(chuàng)建一個名為“myContract”的智能合約,那么開發(fā)人員必須通過“contract myContract”來建立它的實例化。通過這個例子,我們可以感受到 Solidity的流動。它維護了許多設計和預編程關鍵字,這些關鍵字將直接與以太坊虛擬機(EVM)協(xié)調的平臺集成。
Solidity和分散式應用程序(dApp)
雖然那些熟悉區(qū)塊鏈和加密貨幣的人能夠理解分散式系統(tǒng)工作原理的核心,但是初學者可能很難確定dApp是什么以及它們與可靠性的關系。
分散式應用程序只是在網絡上運行的應用程序,而不是單獨的系統(tǒng)或用戶。可以這樣想:在為Mac創(chuàng)建應用程序時,管理應用程序后端的網絡是Apple或單個實體。在創(chuàng)建dApp時,控制其所有進程的網絡都是以太坊網絡上的進程,因此為應用程序創(chuàng)建了一個“分布式”系統(tǒng)。
智能合約是建立到以太坊區(qū)塊鏈直接連接的虛擬協(xié)議。dApp是一種應用程序,它使用智能合約連接到區(qū)塊鏈,從而實現(xiàn)分散化。Solidity只是一個用于在靜態(tài)應用程序和分布式后端之間建立連接的工具。
Solidity不是智能合約,也不是dApp,它是一種編程語言,用于創(chuàng)建智能合約,然后可以將應用程序鏈接到區(qū)塊鏈。在學習了可靠性之后,開發(fā)人員可以創(chuàng)建與區(qū)塊鏈交互的分散式應用程序。
傳統(tǒng)的集中式應用程序維護與在靜態(tài)點對數(shù)據(jù)庫中起作用的單一數(shù)據(jù)庫的連接。分散式應用程序是分布的,由于各種各樣的原因,它們在點對點(P2P)方法中發(fā)揮著重要作用。主要優(yōu)點是維護正常運行時間,并限制任何潛在的集中成本或錯誤。
競爭對手和路線圖
Solidity每天都會有新的版本,這在社區(qū)中引起了一些爭議。Solidity是一門新興的語言,它仍然存在著許多錯誤,需要進一步的發(fā)展和完善,才能使其完全合法化。創(chuàng)建像以太坊這樣脆弱的環(huán)境非常容易,這使得新開發(fā)人員的代碼容易出現(xiàn)災難性的錯誤,從而導致在創(chuàng)建智能合約時損失大量金錢。
在合約方面,以太坊的主要競爭對手在很多情況下被認為是TRON和EOS的主流案例。然而,就實際的健壯性編程語言的競爭而言,似乎只有有限數(shù)量的實體直接使用它。例如,EOS開發(fā)工具包提供了具有競爭力的智能合約,但是,合約是用c++編寫的,c++是一種已經存在的語言。在內部智能合約開發(fā)方面,本地創(chuàng)建的編程語言可能需要一段時間才能超越其穩(wěn)定性。
評論
查看更多