一个密码学问题?

一个密码学问题?

· json · rss
Subscribe:

About

显然可以,但是不能完善。

区块链就是这样一个平台,更为神奇的是,在任何一个节点眼中,其他节点本质都是等价且可能说谎的,

在题目中所指的计算问题可以分为两种:

1.我不能计算,但我很容易验证。

例如pow算法中就很容易验证,只需要hash一下就知道真假。

2.我不能计算,同时也不能同样很快验证。

我可以采用抽查的方法,来保证安全性,我们只需要很少的抽查就可以保证安全性,例如pos中,通过押金和大量用户的小量抽查来保证安全性。

对于保密需求,可以采用同态加密计算

同态加密计算就是把数字M转化为另外一个数字C,最简单的例子是 C_1=g^{M_1} \mod p\\C_2=g^{M_2} \mod p\\C_1*C_2=g^{M_1}*g^{M_2}=g^{M_1+M_2}\mod p

对于多人共同完成的加密任务,叫做多方安全计算

对于防止它们串通,在传统dolev-yao的模型中是不能实现的,因为它们是外部性节点,你不能假设它们会遵守这个协议。

但是在博弈密码学中,有着相互制衡的方法,例如计算留痕,或者举报有奖(通过将预付押金分成等等)。

因此为什么说区块链是目前密码学的最高级形态,因为它从最底层hash算法特性到协议层,乃至到利益博弈层都涉及到了。