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