原始文献 / 论坛帖 / Re: Not a suggestion
Re: Not a suggestion
Bitcointalk · 2010-08-11 00:14:22 UTC
这是个非常有意思的话题。如果找到解法,比特币就可以有更好、更简单、更方便的实现。
最初,一个币可以只是一串签名。有了时间戳服务,旧的签名可以在回溯扇出太大之前逐渐丢弃,币也可以单独保存或按面额保存。正是检查"不存在双重支付"的需求,要求知道所有交易的全局信息。
挑战在于,你怎么证明不存在其他花费?一个节点似乎必须知道所有交易才能验证。如果它只知道输入/输出点的哈希,就无法检查签名来判断某个输出点之前是否被花过。你有什么想法吗?
很难想到零知识证明在这里怎么用。
我们要证明的是"某物不存在",这似乎要求知道全部并检查其中不包含那个东西。
英文原文
This is a very interesting topic. If a solution was found, a much better, easier, more convenient implementation of Bitcoin would be possible.
Originally, a coin can be just a chain of signatures. With a timestamp service, the old ones could be dropped eventually before there's too much backtrace fan-out, or coins could be kept individually or in denominations. It's the need to check for the absence of double-spends that requires global knowledge of all transactions.
The challenge is, how do you prove that no other spends exist? It seems a node must know about all transactions to be able to verify that. If it only knows the hash of the in/outpoints, it can't check the signatures to see if an outpoint has been spent before. Do you have any ideas on this?
It's hard to think of how to apply zero-knowledge-proofs in this case.
We're trying to prove the absence of something, which seems to require knowing about all and checking that the something isn't included.
