Zilliqa官方文檔(一)- Scilla設(shè)計(jì)原理

本系列文檔翻譯版權(quán)歸FireStack團(tuán)隊(duì)所有帆竹,轉(zhuǎn)載請(qǐng)注明來源合砂。

智能合約通過一種去中心化的目胡、拜占庭容錯(cuò)的分布式賬本锯七,很好地展現(xiàn)了區(qū)塊鏈的計(jì)算形式。智能合約的出現(xiàn)誉己,讓開發(fā)者構(gòu)建去中心化應(yīng)用(Dapps)成為可能眉尸。這些應(yīng)用的運(yùn)行及業(yè)務(wù)邏輯皆可編寫為智能合約,放到去中心化的區(qū)塊鏈網(wǎng)絡(luò)上運(yùn)行巨双。

在去中心化網(wǎng)絡(luò)上運(yùn)行應(yīng)用噪猾,使得受信任中心節(jié)點(diǎn)、定制化服務(wù)器的需求不復(fù)存在筑累。如今智能合約非常受歡迎袱蜡,在諸如眾籌、游戲慢宗、去中心化外匯交易坪蚁、支付處理等場(chǎng)景,智能合約有力推動(dòng)了現(xiàn)實(shí)經(jīng)濟(jì)環(huán)境的發(fā)展镜沽。

然而敏晤,從過去幾年的經(jīng)歷來看,智能合約的實(shí)踐催生了一些游走于邊緣的行為缅茉,這偏離了開發(fā)人員關(guān)于智能合約的最初理念嘴脾。這種分歧導(dǎo)致了對(duì)智能合約的重大攻擊事件,例如對(duì)DAO合約和Parity錢包的攻擊宾舅。正因?yàn)閰^(qū)塊鏈的不可篡改性统阿,智能合約無法獲得直接升級(jí)修復(fù),這使得問題日益嚴(yán)重筹我。因此,確保智能合約的安全運(yùn)行至關(guān)重要帆离。

事實(shí)證明蔬蕊,形式化證明和模型檢驗(yàn)等方法在提高其他領(lǐng)域的軟件系統(tǒng)的安全性方面是非常有效的。所以我們很自然會(huì)想到將其用于探索提高智能合約的可讀性和安全性哥谷。另外岸夯,這些方法也能嚴(yán)格保證合約行為的規(guī)范性。

然而们妥,使用現(xiàn)有語(yǔ)言(如Solidity)在形式化證明工具上進(jìn)行應(yīng)用并不是一件容易的事猜扮。因?yàn)榈湫偷膱D靈完備語(yǔ)言有其非常特別的表達(dá)形式。誠(chéng)然监婶,在讓語(yǔ)言更易于理解旅赢、易于驗(yàn)證齿桃、易于表達(dá)三者之間是存在著權(quán)衡的。例如煮盼,比特幣的腳本語(yǔ)言具有易于理解的特點(diǎn)短纵,并且對(duì)有狀態(tài)對(duì)象不作處理。而圖靈完備的語(yǔ)言(如Solidity)具有易于表達(dá)的特點(diǎn)僵控。

Scilla是一種新的(中級(jí)水平的)智能合約香到,旨在同時(shí)實(shí)現(xiàn)易于表達(dá)的形式及可追蹤性”ㄆ疲基于前述有關(guān)合約行為的論證悠就,Scilla設(shè)定的設(shè)計(jì)原理如下:

計(jì)算與通信的分離

Scilla中的合約會(huì)被構(gòu)造為通信自動(dòng)機(jī):每個(gè)合約內(nèi)計(jì)算(例如改變賬戶余額或運(yùn)算函數(shù)值)會(huì)通過一種具有獨(dú)立原子性轉(zhuǎn)換(transition)的過程來實(shí)現(xiàn)。也就是說充易,這個(gè)過程不涉及到第三方梗脾。每當(dāng)進(jìn)行類似操作時(shí)(例如,向第三方轉(zhuǎn)移控制權(quán))蔽氨,轉(zhuǎn)換(transition)會(huì)通過發(fā)送/接收消息這種顯式通信來表示結(jié)束藐唠。自動(dòng)機(jī)架構(gòu)使得區(qū)塊鏈上的通信(如發(fā)送/接收資金和消息)能直接解決某類合約糾紛(如transitions),這種清晰鹉究、合理的機(jī)制有利于撰寫合約及保護(hù)不動(dòng)產(chǎn)宇立。

有效性和純計(jì)算之間的分離

轉(zhuǎn)換(transition)中發(fā)生的任何合約內(nèi)計(jì)算必須可終止,并且合約狀態(tài)和執(zhí)行過程可預(yù)測(cè)自赔。為了實(shí)現(xiàn)這一目標(biāo)妈嘹,Scilla從函數(shù)式編程思想中取其精華,將純表達(dá)式(如原生數(shù)據(jù)類型和映射)绍妨、不完全本地狀態(tài)管理(如讀/寫合約字段)和區(qū)塊鏈反射(如讀取當(dāng)前區(qū)塊編號(hào))區(qū)分開來润脸。通過介于純語(yǔ)言和不純語(yǔ)言之間交叉語(yǔ)義的嚴(yán)謹(jǐn)設(shè)計(jì),Scilla確保了許多合約轉(zhuǎn)換(如進(jìn)程和類型保護(hù))的基本性質(zhì)不變他去,同時(shí)讓它們適合通過獨(dú)立工具進(jìn)行交互式和/或自動(dòng)化驗(yàn)證毙驯。

調(diào)用與持續(xù)之間的分離

合約構(gòu)建作為一種自動(dòng)化通信系統(tǒng),它是一種僅允許尾調(diào)用的計(jì)算模型灾测,即每次對(duì)外部函數(shù)(如另一個(gè)合約)的調(diào)用都必須是最后的完成指令爆价。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市媳搪,隨后出現(xiàn)的幾起案子铭段,更是在濱河造成了極大的恐慌,老刑警劉巖秦爆,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件序愚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡等限,警方通過查閱死者的電腦和手機(jī)爸吮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門芬膝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拗胜,你說我怎么就攤上這事蔗候。” “怎么了埂软?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵锈遥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我勘畔,道長(zhǎng)所灸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任炫七,我火速辦了婚禮爬立,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘万哪。我一直安慰自己侠驯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布奕巍。 她就那樣靜靜地躺著吟策,像睡著了一般。 火紅的嫁衣襯著肌膚如雪的止。 梳的紋絲不亂的頭發(fā)上檩坚,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音诅福,去河邊找鬼匾委。 笑死,一個(gè)胖子當(dāng)著我的面吹牛氓润,可吹牛的內(nèi)容都是我干的赂乐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咖气,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼沪猴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起采章,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壶辜,沒想到半個(gè)月后悯舟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砸民,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年抵怎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奋救。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡反惕,死狀恐怖尝艘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姿染,我是刑警寧澤背亥,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站悬赏,受9級(jí)特大地震影響狡汉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闽颇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一盾戴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兵多,春花似錦尖啡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至援雇,卻和暖如春矛渴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惫搏。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工具温, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筐赔。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓铣猩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親茴丰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子达皿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容