ZKP作为一个复杂的密码学应用,其底层还是建立在其他的building block/primitive上的,所谓问题还是为什么很多密码学得库都逐渐改成了Rust实现。
当然作为补充,Golang实现的ZKP系统也不少,最广为使用的就是 gnark 。
用Rust实现密码学库,一个非常典型的好处就是类型安全 。
例如u32变量,其所有计算都是良好定义的,例如2个u32的加法,如果在某一处出现了溢出的可能性,编译期间就会被发现。
从而迫使你使用checked_add,overflow…。
太空中没有氧气,为什么太阳还在燃烧?
为什么不用rust重写Nginx?
大部分语言都用尖括号<>表示泛型,为什么golang要标新立异用中括号?
如何为中专生解释C语言指针?