來自Zilliqa的Ilya Sergey和Amrit Kumar對TechRepublic的Dan Patterson表示,Zilliqa的編程語言很是獨特,能夠提供「語言不一樣維度之間的隔離」。更多采訪信息請看下文。程序員
原視頻地址:https://www.youtube.com/watch...編程
Dan Patterson:請給咱們詳細地說說Zilliqa代碼是如何工做的。安全
Amrit Kumar:首先,Zilliqa的一個目標是要保證有高的吞度量。吞吐量能夠大致上隨着網絡規模的擴大而線性增加。Zilliqa的另外一個目標是擁有能夠安全使用並安所有署的智能合約語言,若是你寫的智能合約語言能夠部署在鏈上,那就說明它是沒有代碼缺陷的,你能夠證實合約的強大屬性。例如,你能夠證實你的合約不會凍結資金。你的合約不會將資金泄漏給其餘人,比方說團體的資金,這就是Zilliqa的用武之地,Ilya將很是樂意詳細說明這一點。網絡
Ilya Sergey:好的,讓我從這裏開始吧。咱們將Zilliqa設計爲一個編程語言,能夠用來編寫人們認爲適合智能合約領域的典型應用,例如ICO,不一樣的衆籌項目,遊戲,但它是一種很是通用的語言。架構
SEE:IT Hiring Kit: 程序員(Tech Pro Research)編程語言
所以,它與其餘智能合約編程語言(例如Solidity)的不一樣之處在於語言的不一樣維度之間的隔離。這種隔離使得在Zilliqa上編寫的合約更容易在分片上執行,並驗證合約實際上正在作他們應該作的事情。從這種角度來講,合約實際上包含了多種功能,它們充當相互通訊的代理,也充當區塊鏈用戶轉移資金的代理,它們還能夠充當執行計算任務的普通程序。區塊鏈
計算和通訊這兩個方面是很是正交的,能夠對它們分別進行討論。合約之間的交互是經過把通訊做爲合約的外部接口來實現的,使得智能合約之間的交互可以適應Zilliqa的這種分片架構,Amrit將會對此加以闡述。每當合約與另外一個合約進行交互時,都只由系統中的一部分進行處理,如一個分片,或分片的子集,而不是整個網絡,就像在以太坊中每一個交易都是由整個網絡來處理的。spa
這就是咱們提升可擴展性的方法。正確的方法實際上來自於咱們對編程和通訊轉換系統多年的紮實研究。將合約視爲互相發送消息的自動機,咱們能夠制定咱們關心的問題,例如合約是否最終會給我退款,是否執行過某個操做等等。設計
這些咱們關心的問題描述起來很簡單,好比最近在以太坊Parity錢包發現的程序漏洞的問題就能夠被很容易的描述,那就是是否有人能夠經過潛在漏洞終止合約。若是咱們寫一個智能合約而且能夠形式化地向以太坊證實這個合約永遠不會出現問題,那麼咱們就在安全方面獲得了保障。Zilliqa的這種構建合約的方式,使得咱們在部署合約以前就能夠確保合約的安全性。代理