聊一聊万物皆可「上链」
在区块链行业中,我们经常能听到「上链」一词,譬如业务上链、数据上链、金融上链,那么「上链」究竟如何执行,又需要注意什么?今天我们就来聊一聊「上链」。
其实「万物皆可上链」是不准确的说法,区块链作为分布式网络,链上计算/存储本质是将计算和存储任务(同时地)执行了多次,是十分昂贵的资源开销,如同「奢侈品」;因此链上其实并不适合承载过多的计算任务。
另一方面,区块链自身的全局透明、不可篡改等特性,其实适合那些具备「审计需求」的计算任务,例如通过区块链,智能合约执行的「数字资产交易」,需要保证资产交易的公开和可审计;同样是通过智能合约实现的「电子存证上链」,是将司法电子证据作为一种区块链交易发送到链上进行校验计算并保存,也是为了满足公开可审计可追溯的要求。
这些链上计算相对更轻量级,且侧重于对业务数据的全局状态更新,例如数字资产交易是更新了各账户的余额,存证上链其实也是更新了证据的状态。
并且在「上链」之前,必须要保证链下计算的正确。从密码学的角度说,需要依赖于可验证计算(VC)技术。
可验证计算通常是指Verifiable Computing(简称「VC」),指可以将计算任务外包给第三方算力提供者;(不受信任的)第三方算力提供者需要在完成计算任务的同时,提交一份关于计算结果的正确性证明。
可验证计算中,计算者通常会将计算任务转换成算术电路,然后通过密码学技术创建一些公开且可以被快速验证的数学关系式以及式子里的各项值;计算者将这些值发送给验证者。验证者可以通过这些输入的值,校验公开的验证关系式是否满足。
可验证计算的技术模型,包含了对计算正确性的潜在要求,即如果是正确地执行了计算任务,则上述过程中生成的值一定可以满足验证关系式;如果没有正确地计算任务,则过程中生成的值能顺利通过验证关系式检查的概率非常非常低。
其次保证链下计算正确性的同时,链上的验证也要同时进行,并且需要达到商用标准。
链上的验证工作,是依赖于计算者提供的一些输入值,和与该计算任务相关的公开的验证关系式。笼统地说,验证工作的复杂性,会远小于计算任务本身,也就是说,验证速度会比计算更快。好的VC技术,可以让验证速度做到常数级别,即不管计算任务多复杂,仅需常数时间(例如几个毫秒)就可以完成一次验证,商用不是问题。
需要一提的是,可验证计算技术仍然在持续研究和优化。「上链」也需要在商业实践中持续迭代。我们有理由相信,在不久的将来,小到四则运算,大到神经网络训练,都可以放心地丢给云服务来完成计算,而无需担心计算结果的准确性。「上链」也将成为商业中不可或缺的「一道工序」。
Scan QR code with WeChat