您好!刚知道Zcash吗?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

语言

交易延展变形记

Simon Liu | Aug 31, 2016

延展交易是困扰比特币类密码学货币的长久问题,也是Zcash团队在解决的问题。我们解释下这个问题是什么和为什么从长期来说解决这个问题非常重要。

简而言之,交易延展性是一笔有效交易在网络中传播时可以被修改。问题细节在 这里。虽然它不能控制发送者的私钥,也不能盗窃资金,但是被修改的交易确实是一个问题,因为它被网络看作是有效交易。所以就会有两笔交易在花相同的币,但是交易ID是不同的。

虽然这样的修改经常被看做一个 小问题,但是交易延展性确实会产生影响。首先,钱包软件不能依靠交易ID追踪资金的流动。第二,依赖于链接交易的商业将发现链可能破裂。第三,如果交易延展性被解决,被设计为提供交易处理能力的链下解决方案,例如 闪电网络BOLT,将更加可用。

那么如何解决延展性?我们的一个可能的解决方案是移植 隔离见证 (segwit),隔离见证解决了一系列问题,包括延展性。然而,几个月前我们的 决定 认为,根据我们的开发时间规划这个方案是不可行的,特别是那时候segwit还在开发中。现在,segwit开发 接近完成,但是并没有部署在比特币网络上。

我们的解决方案是在几周以前发布了 z8测试版本。 虽然该方案在常规情况下没有出现问题,但是我们一直留意边缘情况和尚未检测到的安全问题。事实上,我们的 安全审计 者发现了一个问题,新挖出的区块可以被修改,造成拒绝服务攻击。虽然修复这个问题十分简单,但是后续的讨论发现了一些问题。

考虑到现有资源和项目计划,团队决定回滚改变。我们感觉更加谨慎的做法是发布一个已知的东西,而不是引入新的未知东西。我们对交易延展性的探索重视独立第三方对开发过程的评审,特别是即使最小的改变也可能造成难以预测的卡夫卡式的副效应的共识协议。 我们非常感激我们的审计者 Coinspect 帮助我们发现一些问题!

请帮助我们最新的 z9测试版本,请告诉我们你们遇到的各种问题。你可以通过在 Github 上提交问题联系到我们团队,或者到Zcash的 Slack 聊天频道。感谢你。