近日,ChatGPT?火出圈,上线仅两个月活跃用户就已突破一亿。用它写文章、码代码、谈恋爱,找工作回邮件已成了常规操作,网上还有不少教你利用该软件“赚钱”的门道,甚至宾大的沃顿商学院教授也声称“学生”ChatGPT?通过了商业管理考试。
于是人工智能取代某些岗位甚至是人工智能取代人类的热议话题登上了热搜,在人人被卷的时代,大家心里也渐渐打起小鼓。
那么人工智能,或形式化验证这样的“计算机产物”,到底能否取代人类呢?在Web3.0?的世界,形式化验证又能否取代人工审查呢?
形式化验证
形式化验证,是一种验证计算机程序是否按照了预期运行的数学证明方法。它将程序的属性和预期行为表达成为数学公式,然后使用自动化工具来检查这些公式是否成立。该过程有助于确保其程序符合预期。
BNB Chain上项目VPANDA DAO发生Rug Pull:金色财经报道,据SharkTeam链上分析平台ChainAegis安全监测显示:BNB Chain上项目VPANDA DAO发生Rug Pull,被盗资金约26.5万枚BUSD,转入地址0x33d2a493cea00918b02239604b94ad906d6eaf65。[2023/6/20 21:48:39]
形式化验证的应用
形式化验证是一种可被广泛应用于不同系统的工具,包括:
计算机硬件设计:确保集成电路和数字系统符合它们所需的规范,并且行为正确。
软件工程:验证软件系统的正确性和可靠性,特别是在航空、医疗设备和金融系统等任务关键型应用/领域。
网络安全:评估加密算法和协议的安全性,并识别对安全敏感的系统中的安全漏洞。
报告:尽管2022年第一季度市场出现问题,但Avalanche、BNB Chain和Polygon增长稳定:金色财经报道,区块链数据分析公司Nansen最近发布了季度分析报告,报告显示,与 2021 年的活动量相比,加密市场在2022年出现了下滑。然而,该报告指出,区块链网络Polygon、BNB Chain 和 Avalanche 的表现仍然相当稳定,其中 Avalanche的表现尤为出色。
根据Nansen 的报告,与以太坊等其他区块链相比,Polygon的可扩展性、PoS系统和较低的 gas 费用使其在 2021 年的采用率提高了近 1,000%。然而,Polygon 网络上增加的活动在 2022 年第一季度意外停止。但 L2 网络上的平均交易量保持相当稳定。
在2021年第四季度达到顶峰后,BNB Chain的链上活动在2022 年初大幅下降。然而,Namsen指出,BNB Chain继续保持其作为行业领导者和其名单上最活跃的区块链网络的地位。根据报告,该网络的每日总交易量估计约为以太坊的 3-5 倍。[2022/4/25 14:46:10]
人工智能和机器学习:验证人工智能和机器学习模型的属性和行为,确保它们按照预期运行并做出精准预测。
Blockchain.com CEO:伦敦作为金融科技之都的统治已结束:10月8日消息,加密钱包公司Blockchain.com联合创始人兼首席执行官PeterSmith昨天声称,由于英国脱欧的影响,伦敦作为世界金融技术首都的统治已经结束。史密斯在伦敦举行的Token2049会议上说,从Blockchain.com作为风险投资人的角度来看,公司不再可能使用英国监管机构提供的许可证,将其服务“通行”到欧洲其他地区。Smith认为,这种情况的影响是伦敦不再是世界或欧洲的金融技术中心。“随着英国脱欧,这肯定已经结束了。”(TheBlock)[2021/10/8 5:47:50]
自动化定理证明:验证数学定理和证明数学猜想,应用于数学、物理学和计算机科学等领域。
区块链和智能合约:确保区块链系统和智能合约的正确性、安全性和可靠性。
星链StarChain测试主网上线并公开测试钱包web版:星链StarChain测试主网已于4月8日上线,并公开了测试钱包web版。在后续测试中会空投测试Token并开放产品APP-星主页的权益兑换。据了解,星链采用先进的dBFT共识机制模块,吞吐量预期可达10000TPS。作为一条技术公有链,全新星链生态将实现明星/IP一键发行Token、通过特有的3次赋值可实现所有明星/IP在星链上发行的Token价值最大化。[2018/4/9]
智能合约的形式化验证
智能合约的形式化验证,是通过将智能合约的逻辑和预期行为用数学表达式表示,然后使用自动化工具来检查这些数学表达式是否正确。
这个过程包括:
用形式化语言定义合约的规范和属性。
将合约的代码“翻译"”成形式化的表示,如数学逻辑或模型。
使用自动定理证明器或模型检查器来验证合约的规范和属性是否成立。
重复验证过程,以发现和修复任何错误或偏离预期的情况。
有时,自动化定理证明器或模型检查器不能证明或证伪一个属性。在这种情况下,可能需要对规范和期望的属性进行改进,并重复验证过程。
将规范分解成更短小的代码或者提供更多的规范信息,可以完善规范和期望的属性。这可以使定理证明者和模型检查者更容易验证规范和属性是否成立。
形式化验证可以应用于一个合约或同时应用于多个合约。Web3.0?项目经常使用多个合约,确保这些合约一起工作并正确实现所需的项目功能非常重要。
形式化验证当中,由于其属性已在数学上被严格证明是正确的,因此使用这种数学方法有助于确保智能合约不存在错误、漏洞和其他非预期行为。
将代码形式化表示
代码片段示例一
如下代码显示了一个简化的代币转移功能程序:有两个用户,他们各自有一些代币。函数?transferFromUser?1?将代币从用户?1?转移到了用户?2?。该程序有一个不变量,即代币的总供应量总是等于余额之和。
代码片段一:代币转移程序
我们把不变量用数学公式表示,并对公式进行编号。数学公式中,“=”意味着“等于”,而不是赋值。
代码片段示例二
如下代码显示了如何添加逻辑公式。
代码片段二:表达了代码含义的逻辑公式函数
如果想要检查?transferFromUser?1?是否保持了程序中的不变量,那么我们可以检查公式?7?是否有不变性。下面是使用高中代数方法进行的证明。
形式化验证与人工审计的协同
在确保智能合约的安全性方面,形式化验证和人工审计可谓相辅相成。
形式化验证:
形式化验证提供了一种系统化和自动化的方法来检查合约的逻辑和行为以及它的预期属性,使其更容易识别和修复潜在的错误或漏洞。它对发现复杂或不容易被察觉的问题十分有效,因为这些问题可能很难通过人工检查发现。
当处理复杂或多个合约时,人类则很难推理出所有需要检查的组合和可能性,而机器则“毫无压力”。
人工审计:
人工审计提供了专家对合约代码、设计和部署的审查,审计专家可以利用他们的经验和专业知识来识别潜在的安全风险并评估合约的整体安全情况。
除此之外,人工还可以验证形式化验证过程是否被正确执行,并检查无法用自动化工具检测的问题。因此人工专家审计,更有助于确保形式化验证中使用的规范和所需属性的正确性。
综上,结合形式化验证和人工审计两个方法,才能对智能合约的安全性进行全面彻底评估,并增加发现和漏洞修复的机会。这也是一种结合了人类和机器各自特长,且被称为“深度防御”的安全方法。
安全专家在线?AMA
形式化验证的力量不可小觑,但是也不能忽略人工审计的重要性。在?ChatGPT?官网上,其已坦言了自身的不足,而人工智能无法取代人类思考和创造这样老生常谈的讨论在此也可以省略一万字……这不,Bard?出错谷歌股价大跌。
同样的,形式化验证也不可取代人工审计,两者相辅相成才能对智能合约进行完整的检验。
文章阅读完还有疑问?不妨做客的,与专家进行在线一对一问答!有时差不能到场的朋友们可以后台留言你的问题,我们将替你传达给嘉宾并且公开?AMA?回放内容!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。