Skip to content

回复:不是建议 ​

原始发布页

打开来源页面
查看 1 个交叉存档

这是个非常有意思的话题。如果能找到解决方案,就有可能实现一种好得多、更容易、更方便的比特币实现。

从根本上说,一枚币可以只是一条签名链。有了时间戳服务,旧记录最终可以在回溯分支过多之前丢弃,也可以单独保存每枚币,或者按面额保存。正是检查是否不存在双重支付的需要,才要求掌握所有交易的全局信息。

难点是,你要如何证明不存在其他支付?看起来,一个节点必须了解所有交易才能验证这一点。如果它只知道输入点和输出点的哈希,就无法检查签名以判断某个输出点以前是否已被花费。你对此有什么想法吗?

很难想出在这种情况下如何应用零知识证明。

我们试图证明的是某样东西不存在,这似乎要求了解全部内容,并检查其中没有包含那样东西。

英文原文 ​

展开英文原文

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.

为历史保存,为中文读者整理。每篇档案均附来源与英文原文。