mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 09:46:12 +00:00
Capacity FAQ Chinese translation
This commit is contained in:
parent
f394135bf0
commit
626262243f
4 changed files with 402 additions and 3 deletions
199
zh_TW/bitcoin-core/capacity-increases-faq.md
Normal file
199
zh_TW/bitcoin-core/capacity-increases-faq.md
Normal file
|
@ -0,0 +1,199 @@
|
|||
---
|
||||
# This file is licensed under the MIT License (MIT) available on
|
||||
# http://opensource.org/licenses/MIT.
|
||||
|
||||
layout: base-core
|
||||
lang: zh_TW
|
||||
id: bitcoin-core-capacity-increases-faq
|
||||
columns: 1
|
||||
title: 系统擴展常見問題解答 — Bitcoin Core
|
||||
breadcrumbs:
|
||||
- bitcoin
|
||||
- bcc
|
||||
- Capacity increases FAQ
|
||||
---
|
||||
# 系统擴展常見問題解答
|
||||
|
||||
1. toc
|
||||
{:toc}
|
||||
|
||||
## 路線圖包括什麼新技術,預期在什麼時候可以使用? {#roadmap-dates}
|
||||
|
||||
在[路線圖][roadmap]提及到以下的技術,在充份的測試後,預計可以在以下時間完成。
|
||||
|
||||
| 2015年12月 | | 隔離見證測試網 |
|
||||
| 2016年2月 | 0.12.0 | [libsecp256k1驗證][libsecp256k1 verification] |
|
||||
| 2016年2月 | | 隔離見證功能完成並作審核 |
|
||||
| 2016年3月\* | 0.12.x | 完成OP_CHECKSEQUENCEVERIFY (BIP[68][BIP68] 及 [112][BIP112]) + [BIP113][] 並作為首個以 [BIP9][] versionbits 實施的軟分叉 |
|
||||
| 2016年4月\* | 0.12.x | 完成隔離見證 |
|
||||
| 2016年 | | 弱區塊及/或IBLTs |
|
||||
|
||||
\* 有星號的日期是預計完成代碼的時間。代碼只會在充份審核後才會發表,而軟分叉完成亦需要時間。([BIP66][]經歷數月時間在2015年7月生效,[BIP65][]則只用了五星期時間在2015年12月生效)
|
||||
|
||||
- **隔離見證測試網:** 一個獨立的測試網,並非平常測試網的一部份。讓 Bitcoin Core 開發員及錢包開發員測試隔離見證功能。
|
||||
|
||||
- **Libsecp256k1驗證:** 在x86\_64硬件上提升交易驗證速度五至七倍。幫助新節點加入網絡並減輕現有節點的負擔。
|
||||
|
||||
- **OP\_CHECKSEQUENCEVERIFY:** 讓雙向[支付通道][payment channel efficiency]可以無限期使用,提升效率達25倍。
|
||||
|
||||
- **VersionBits:** 容許1至29個軟分叉同時實施,令系統升級的過程更快、更去中心化。
|
||||
|
||||
- **隔離見證:** 容許交易容量上升到1.75至4倍、解決第三方延展性令智能合約更安全、雙向支付通道效率提升66%、提供欺詐證明令輕量節點也可以執行系統規則、更容易對腳本系統升級以容許更強大的合約功能。
|
||||
|
||||
- **IBLT及弱區塊:** 只需要把[總帶寬增加少許][increase in total bandwidth],就可以把區塊傳播所必須的帶寬減低90%以上,令礦工可以以最短時間把區塊傳統出去,把[比特幣廣播網絡][Bitcoin Relay Network]的好處帶給所有全節點。IBLT及弱區塊可以把全節點所需的帶寬變得更平均,令將來可以更安全地增加區塊容量。
|
||||
|
||||
## 我聽過不同講法,說隔離見證可以把區塊增大至4MB、2MB、或1.75MB,那究竟是多少? {#segwit-size}
|
||||
|
||||
[現在的提案][current proposal]是以軟分叉來實現隔離見證,並把每字節的見證內容算為0.25字節,因此最大的區塊體積會是稍低於4MB。
|
||||
|
||||
然而,區塊並不應該只有見證內容,而計算非見證內容的體積時不會有折扣,因此並不可能有4MB的體積。
|
||||
|
||||
根據Anthony Towns的[計算][calculations],如果區塊裝滿了標準的單簽名P2PKH交易,體積大概為1.6MB;如果是2-of-2多重簽名交易,則大概為2.0MB。
|
||||
|
||||
[current proposal]: https://youtu.be/fst1IK_mrng?t=2234
|
||||
[calculations]: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/011869.html
|
||||
|
||||
## 隔離見證好像很複雜,比特幣生態各環節準備好沒有? {#ecosystem-ready}
|
||||
|
||||
有些意念說易行難,有些卻說難行易,隔離見證似乎是後者。
|
||||
|
||||
由於隔離見證可以逐步實行而不會破壞相容性,因此生態內各環節無需要特別準備。開發員可以在2015年12月推出的測試網得到實際的使用經驗並測試他們的軟件。
|
||||
|
||||
最初,只有希望支持隔離見證的礦工需要升級,令新規則可以在主網實行。現有的應用程序只有需要使用新功能才需要改變。
|
||||
|
||||
隔離見證交易收取較低交易費,有更佳的效能,而且支持多重簽名智能合約,如雙向支付通道,可以作大量交易卻無需在區塊鏈作額外紀錄。我們強烈建議錢包升級,但即使不升級,現有錢包仍然可以繼續正常使用。
|
||||
|
||||
## 我還是覺得隔離見證很複雜,為什麼不簡單地提高區塊體積? {#size-bump}
|
||||
|
||||
在Bitcoin Core有[一句代碼][max_block_size]指定區塊最大是 1,000,000 字節 (1MB)。最簡單的方法是用硬分叉改變這句代碼,例如變為 2,000,000 字節 (2MB)。
|
||||
|
||||
但硬分叉本身絕不簡單:
|
||||
|
||||
- **我們並沒有經驗:** 礦工、商戶、開發員、用戶都沒有硬分叉的經驗,因此令硬分叉可以安全實行的技術也未經測試。
|
||||
|
||||
軟分叉則不同。軟分叉最初由中本聰管理,然後我們又從實行[BIP16][]所遇到的問題中得到經驗,令我們以改良了的方法實行[BIP34][],以及後來的BIP[66][BIP66] 和 [65][BIP65]。在將來的軟分叉,我們正準備使用[BIP9][] version bits,令多個軟分叉提案可以同時進行。
|
||||
|
||||
- **強制升級:** 硬分叉要求所有全節點升級,而任何人使用舊版本的節點都可能會損失金錢,這不但包括全節點錢包的運行者本身,還包括依靠該全節點提供資料的輕量錢包。
|
||||
|
||||
- **需要其它的改動:** 即使只是改一行代碼來增加最大區塊容量,也會影響到系統內其它代碼,有些更是不良的影響。例如現在可以制造一個接近1MB的交易,而現代的電腦驗證該交易需時超過30秒 (這樣的交易已存在於區塊鏈上)。在2MB的區塊下,驗證一個2MB的交易需時10分鐘,將成為一個很危險的攻擊方法。為了避免這種攻擊,就有必要改動其它代碼。
|
||||
|
||||
雖然有以上的問題,但只要有充足的準備,硬分叉並不會出現致命問題,而我們亦預計將來會有硬分叉。但隔離見證可以用我們更熟悉的軟分叉完成,而且帶來增加交易量以外更多的好處。
|
||||
|
||||
和簡單提升區塊體積相比,隔離見證需要在不同的軟件層面作更多改動。但如果我們真的希望比特幣可以擴展,我們無論如何也需要根本性的改動,而隔離見證可以逐漸地鼓勵人們升級至更具擴展性的方案,卻無需強逼他們這樣做。
|
||||
|
||||
開發員、礦工、以及社群已對軟分叉有充份經驗,我們相信實行隔離見證所需時間並不比提升容量的硬分叉為多,而且會更安全。
|
||||
|
||||
## 在實行隔離見證前會有硬分叉嗎?隔離見證提案會本身又會否包括硬分叉? {#pre-segwit-fork}
|
||||
|
||||
不會,這並非[路線圖][roadmap]的一部份。
|
||||
|
||||
[roadmap]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/011865.html
|
||||
|
||||
## 如果最終還是要硬分叉,為何現在不做? {#why-not-now}
|
||||
|
||||
利用有廣泛共識的軟分叉,我們能夠把系統擴展而沒有硬分叉的[副作用][q simple raise],因此即使預期會有硬分叉,這並不是現在就要做的充份理由。
|
||||
|
||||
在路線圖提到的改進,除提供額外的交易容量以外,配合其它技術如雙向支付通道,可以讓用戶減少使用區塊鏈,變相提高了比特幣系統的容量,卻不用增加全節點使用的帶寬。例如:
|
||||
|
||||
- [BIP68][] 及 [BIP112][] 容許無限期的雙向支付通道,可以大為減少紀錄在區塊鏈的交易。
|
||||
|
||||
- 隔離見證容許在關閉支付通道的同時開設新的支付通道,減少因為更換通道所需的區塊鏈空間約66%。
|
||||
|
||||
- 隔離見證容許將來更容易以軟分叉改變比特幣的腳本語言,例如從簽署提取公鑰,或使用合併Schnorr簽署,從而減少交易的平均大小。
|
||||
|
||||
- 實行隔離見證後,當無效區塊出現時就可以產生很簡潔的欺詐證明,這會令進行簡單交易驗證 (SPV) 的輕量節點的安全性更接近全節點,可以令整個網絡在較少的全節點下仍能運作。
|
||||
|
||||
這些技術的實際效果仍然未知,但實行一個具廣泛共識的軟分叉可讓我們立即得益並測度中期的可能性,以這些數據作長期的規劃。
|
||||
|
||||
## 錢包會如何使用隔離見證? {#segwit-in-wallets}
|
||||
|
||||
現在支持 P2SH 的錢包可以分兩階段轉移至完整的隔離見證:
|
||||
|
||||
- 第一階段:腳本需要經過兩次雜湊運算,首先是變成256位元,然後再變成160位元。這個160位元 的雜湊和現有的P2SH地址相容,因此已升級的錢包和現有的錢包之間可以互相收付款項。
|
||||
|
||||
- 第二階段:腳本只需一次雜湊運算變為256位元。這格式和現有錢包不相容,但容許更有效率地使用區塊空間,及提供更強的防碰撞攻擊性能。
|
||||
|
||||
## 如果沒有人被逼升級,為何會有人升級?聽聞P2SH用了差不多兩年時間才得到廣泛應用。 {#why-upgrade}
|
||||
|
||||
在隔離見證交易中,見證部份的每字節只算為0.25字節,也就是說這部份的交易費有75%的折扣,但只限於隔離見證的用戶。
|
||||
|
||||
David Harding 提供了下表以[估計][estimated savings]在不同費用和交易類型下可以節省的費用。例如如果一個常見的250字節交易收費是0.01美元,用隔離見證花費一個P2PK-in-P2SH輸出就可以節省約0.003美元。
|
||||
|
||||
| 交易 | 節省字節 | $0.01/250B | $0.05/250B | $0.25/250B | $1.00/250B |
|
||||
|-------------|-------------|------------|------------|------------|------------|
|
||||
| P2PK-in-P2SH | 79/107 | $0.003 | $0.015 | $0.079 | $0.316 |
|
||||
| 1-of-1 P2SH 多簽 | 83/112 | $0.003 | $0.016 | $0.083 | $0.332 |
|
||||
| 2-of-2 P2SH 多簽 | 163/219 | $0.006 | $0.032 | $0.163 | $0.652 |
|
||||
| 2-of-3 P2SH 多簽 | 189/254 | $0.007 | $0.037 | $0.189 | $0.756 |
|
||||
|
||||
(費用金額只作參考,我們並不預期交易費會達到上表顯示的最高情況。)
|
||||
|
||||
收取固定比例費用 (如免費或1%交易額) 的網頁錢包和交易所會最早應用隔離見證,因為即使每個交易節省很少,每天數以千計的交易加起來都會非常可觀。
|
||||
|
||||
## 聽說你們會令零確認不能再用,這是路線圖內哪一項技術? {#rbf}
|
||||
|
||||
全部也不是。作為現在 Bitcoin Core 版本的默認設置,在收到一個未確認交易後,就不會再接受其它有相同輸入的交易。有些人認為這代表他們首個見到的交易就是安全,但其實不是;如果真的是這樣,我們根本不需要區塊鏈。
|
||||
|
||||
在現時的默認設置下,人們並不能更新他們未確認的交易。在最初的 Bitcoin 版本,其實是有方法讓使用者註明他希望交易可被更新,但為了防止拒絕服務攻擊,中本聰在2010年關閉了這功能。
|
||||
|
||||
最近 Bitcoin Core 的開發員發現只要要求更新交易同時使用者要付出更多費用,就可以防止上述的拒絕服務攻擊,因此他們重開了中本聰那個容許交易被替換的機制。這功能會在預計2016年1至2月在 Bitcoin Core 0.12.0 推出,但和中本聰原本的設計一樣,只有希望可以替換交易的使用者才需要選擇使用支援該功能的錢包。
|
||||
|
||||
現時並沒有錢包提供這功能,但將來這類錢包可以把多個未確認交易合併以減少所需要的區塊鏈空間,也可以讓用戶提升未確認交易的費用,不會因為之前付費不足令交易「阻塞」在錢包內。
|
||||
|
||||
## 在路線圖上弱區塊和IBLT只註明是2016年,你們是否也不知道它們什麼時候才可以完成? {#weak-blocks-iblts}
|
||||
|
||||
弱區塊和IBLT是兩種仍在研究的技術,需要選擇適當的參數,但因為參與的開發員有限,我們難以估計在什麼時候才能推出。
|
||||
|
||||
弱區塊和IBLT都只涉及網絡改善而不是軟分叉或硬分叉,因此只需要較短的測試時間就可以推出讓節點升級,我們希望可以在2016年內完成。
|
||||
|
||||
在推出弱區塊和IBLT後,我們可以利用一個簡單而無爭議的軟分叉來[規範交易次序][canonical transaction ordering]令它們更有效率,這軟分叉可以透過BIP9 versionBits 推出。
|
||||
|
||||
[canonical transaction ordering]: https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2#canonical-ordering-of-transactions
|
||||
|
||||
## 「如果隔離見證不能減少礦工所用的帶寬、儲存空間、和處理時間,為什麼他們要支持?」 {#why-mine-segwit}
|
||||
|
||||
其實大部份[以前的軟分叉][previous soft forks]都沒有為礦工帶來這些好處,例如:
|
||||
|
||||
| BIP16 (P2SH) | 新交易種類 |
|
||||
| BIP30 (重覆交易ID) | 要求檢查重覆交易ID |
|
||||
| BIP34 (Coinbase 內紀錄區塊高度) | 令礦工可用的coinbase空間減少 4 字節 |
|
||||
| BIP65 (OP_CLTV) | 新腳本命令 |
|
||||
|
||||
在2015年7月正式執行的 BIP66 (嚴格 DER 簽署) 軟分叉令我們可以轉用libsecp256k1作交易驗證,令驗證時間大減,讓礦工得益。
|
||||
|
||||
而隔離見證可以為其使用者帶來以下好處:
|
||||
|
||||
這永久地解決第三方延展性,令多階段智能合約得以實現;減低交易費;令比特幣腳本升級更容易,錢包更容易得到新功能。
|
||||
|
||||
通過以前的軟分叉和溝通,例如在香港比特幣擴展性會議內的礦工座談會,礦工一再表達了即使他們未必有直接得益,他們也希望比特幣成為一個最有用的系統。隔離見證和路線圖上其它改進可以顯著地提升比特幣的可用性。
|
||||
|
||||
另外,隔離見證容許礦工在區塊內加入更多交易,因此亦可提升在每個區塊內得到的收入。
|
||||
|
||||
## 我可以怎樣幫忙?
|
||||
|
||||
首先閱讀在 Bitcoin.org 上的 [Bitcoin Core貢獻者][Bitcoin Core contributor]網頁。
|
||||
其中[代碼審閱][code review]是實行軟分叉極重要的一部份。
|
||||
|
||||
如果你想得到更多有關如何貢獻的建議,請加入[#bitcoin-dev][] IRC 頻道討論。
|
||||
|
||||
[#bitcoin-dev]: https://webchat.freenode.net/?channels=bitcoin-dev&uio=d4
|
||||
[BIP9]: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki
|
||||
[BIP16]: https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki
|
||||
[BIP34]: https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki
|
||||
[BIP50]: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
|
||||
[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
|
||||
[BIP66]: https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki
|
||||
[BIP68]: https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki
|
||||
[BIP112]: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
|
||||
[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
|
||||
[bitcoin core contributor]: /en/bitcoin-core/
|
||||
[Bitcoin relay network]: http://bitcoinrelaynetwork.org/
|
||||
[code review]: https://bitcoin.org/en/development#code-review
|
||||
[estimated savings]: https://www.reddit.com/r/bitcoinxt/comments/3w1i6b/i_attended_scaling_bitcoin_hong_kong_these_are_my/cxtkaih
|
||||
[increase in total bandwidth]: https://scalingbitcoin.org/hongkong2015/presentations/DAY1/3_block_propagation_1_rosenbaum.pdf
|
||||
[libsecp256k1 verification]: https://github.com/bitcoin/bitcoin/pull/6954
|
||||
[max_block_size]: https://github.com/bitcoin/bitcoin/blob/3038eb63e8a674b4818cb5d5e461f1ccf4b2932f/src/consensus/consensus.h#L10
|
||||
[miners' panel]: https://youtu.be/H-ErmmDQRFs?t=1086
|
||||
[payment channel efficiency]: https://scalingbitcoin.org/hongkong2015/presentations/DAY2/1_layer2_2_dryja.pdf
|
||||
[previous soft forks]: https://github.com/bitcoin/bips/blob/master/bip-0123.mediawiki#classification-of-existing-bips
|
||||
[q simple raise]: #size-bump
|
|
@ -17,7 +17,7 @@ breadcrumbs:
|
|||
我們連署支持[比特幣系統擴展][1]路線圖。我們已在Bitcoin
|
||||
Core計劃內為可擴展性工作多年,認為這是最可以延續我們一直以來努力的方向。
|
||||
|
||||
我們正準備一份常見問答集,完成後會在此連結。
|
||||
有關更多詳情請參閱 [常見問題解答][FAQ]。
|
||||
|
||||
{% include bitcoin-core/capability-increases-sigs.md %}
|
||||
|
||||
|
@ -26,3 +26,4 @@ Core計劃內為可擴展性工作多年,認為這是最可以延續我們一
|
|||
如果你想參與連署,請到[#1165](https://github.com/bitcoin-dot-org/bitcoin.org/pull/1165)。
|
||||
|
||||
[1]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/011865.html
|
||||
[FAQ]: /zh_TW/bitcoin-core/capacity-increases-faq
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue