DEVCON2: Solidity的新功能和未来计划
记者:Lydia
Dr. Christian Reitwiessner主要介绍过去一年的工作以及未来对于Solidity的计划以及愿景。
我们最初的目标是建立一个静态类型语言,对网络开发者和其他编程人员都可以轻易读取,就像javascript等语言一样,但同时必须非常高效,在单一区块中能做的不多,有时候Solidity并不高效,自Devcon1以来,我们扩展了Solidity,更加灵活安全,这是我们所希望的。
Solidity没办法建立定制类型,需要利用新的类型。
我们希望能有参考的部分,一个stream由两个slice构成。
最重要的是我们用stream代表star的声明,我们可以把函数粘在现有的类型上,没有slice的函数,这是一个非常强大的工具,我们可以创建使用工具,增添内置类型,不用查看编译器,同时还扩展了ASD的输出能力,时编译器进行静态分析,改变输出设计。ASD是抽象语法树,是源代码的表示,以下有回复的陈述,指的是源代码中实际的位置,对于排错来说非常重要。在执行交易的过程当中,可以更多分析ASD,或许分析不安全因素,指向源代码中有问题的地方。
对于Solidity的0发布版本,我们做了一些变更,希望进行一些安全特性,交易可以回滚,交易内部可以调用,不管什么时候遇到情况,或不知道怎么解决,就可以解除交易效果,某些情况会比较危险,循环一个地方会发现异常,所以我们会撤销交易,总比卡住好。
失败的创建,函数调用,非合约特别重要。如果调用非合约,可能会被卡住,可付款的修饰符,我们默认是拒绝。为了保证安全性,我们还添加了pragma,要检查源代码,相应的进行修补,解决修饰符问题,可以插入实际的一个函数,如果函数有回复就会反馈,跳到尾部的部分,如果完成函数,尾部就不会被跳掉,就可以激活一次函数,还有一个变量存储,如果函数推出就是错误的,如果函数被锁定就不能调用。
未来的计划是形式化验证,增添授权来源和二进制,编译器会把原数据哈希编码到代码中,原数据会包括很多数据,包括AVI界面,不需要复制粘贴。这就是程序员希望有的用户界面,不会有任何错误,这是自荐码的一部分,程序员的源代码就编译到其中,编译器有合适的版本之后,就可以检验源代码,向用户展示源代码。对智能合约进行形式化验证,通用的数字结构可以提升灵活性,执行一个算法一次,重新使用数据类型,命名的函数或数字的函数用作回调,手动的解决方法解决这个问题。
我们可以把回调函数作为普通的函数,PoC攻击发生了智能合约会包含固定的顺序,应该按顺序进行编程,大家可以拭目以待。
我们希望添加代数的数据类型和模版,解释源代码会比较难,对未来Solidity代码解释也很难,希望大家看下PPT,这只是我们的想法,之后我们会公布,大家可以自行查看。
作者:Lydia | 来源:Chainb
![btcfans公众号](/assets/image/ic_qrcode_accround_endpage.png)
Scan QR code with WeChat