由比特幣Schnorr簽名方案引發的隱私性哲思

由比特幣Schnorr簽名方案引發的隱私性哲思

WX搜索“幣圈邦德”,獲取更多資訊

UTC時間7月6日晚18點,Pieter提出了比特幣新的BIP(比特幣改進建議):Schnorr簽名。有比特幣社區成員推測這項Schnorr的簽名被最終接受的可能很大,也有消息表示Schnorr的開發工作主體已經基本完成。

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016203.html

由比特幣Schnorr簽名方案引發的隱私性哲思

什麼是Schnorr簽名?

Schnorr簽名並不是一項新技術,它是一種電子簽名方案,最早在1989年被Claus P.Schnorr提出並註冊專利。經過多年的驗證,2012年Seurin已經為Schnorr方案提供了確切性證明。

Schnorr安全性證明論文:

https://eprint.iacr.org/2012/029.pdf

當前版本比特幣協議使用的ECDSA簽名方案(橢圓曲線數字簽名)。多年來,關於將更好用的Schnorr簽名方案加入到比特幣協議中這件事,一直是社區希望看到的結果。看到Pieter終於提出BIP,我相當樂觀,給大家科普一下。

比特幣協議現行ECDSA是什麼?

ECDSA是一種相當安全的簽名生成算法,假如Alice想向Bob發送簽名信息,他們在曲線參數(CURVE,G,n)達成一致的前提下,由Alice使用HASH加密,並提供隨機數k。

由比特幣Schnorr簽名方案引發的隱私性哲思

隨後Bob在作為接受方需要對Alice發送的簽名進行簡易的計算驗證。比特幣在9年運行中一直沒出現過問題,安全性有目共睹。不過曾經由比特幣安卓客戶端由於隨機數k洩露造成比特幣損失,但是這不是ECDSA的問題,而是客戶端的問題。

Schnorr則是另一種替代性簽名方案,效率更高,隱私性更好。

Schnorr簽名和ECDSA簽名相比有哪些優勢呢?

隱私性:Schnorr簽名方案可將多個交易輸入的簽名整合成一個,顯著提高了效率和隱私性。

可延展性:ECDSA簽名是可延展性的,第三方在沒有私鑰的情況下,可將給定公鑰和消息的現有有效簽名更改為對同一密鑰和消息有效的另一個簽名,而Schnorr是不可延展性的。

安全性證明:在隨機預言機模型中,Schnorr的驗證非常簡單,ECDSA不存在這種證明。

Schnorr密碼學實現參考:

https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

為什麼Schnorr可以提高隱私性呢?

用Schnorr簽名方案前,在多個交易輸入時,舉例如上圖,每個地址都需要提供一個自己簽名信息,佔據了很多體積。如果應用Schnorr簽名方案之後,理論上這些地址只需提供一個共同簽名即可,可以極大地節省空間。另外,通過這種多重簽名方式,可以顯著提高隱私性,在追溯比特幣來源時將會更加困難。

由比特幣Schnorr簽名方案引發的隱私性哲思

另外,Schnorr也會讓盲簽名更加容易,意味著簽名者可以在請求者的請求直接簽署 ,而無需知曉簽署內容。舉個例子,如果引入了一個第三方機構,雙方交易者可以不知曉對方的情況進行交易,而且由於盲簽名的設置可以讓雙方無須相信第三方機構。

那…為什麼之前不上Schnorr簽名方案呢?

之前之所以一直沒有考慮將Schnorr簽名方案加入到比特幣協議中,是因為由於簽名信息位於區塊內,改ECDSA為Schnorr需要對比特幣協議進行硬分叉。而硬分叉升級一直不是比特幣社區歡迎的方法,而且硬分叉和升級理論上也不是同一概念,雖然在BCH社區一直有意無意將硬分叉概念等同於升級概念。

但這顯然是不正確的。歷史上BCH經過硬分叉,每次對外都聲稱是升級,比如去掉EDA(一種挖礦機制)。

由於目前全網的SigWit(隔離見證)使用率已經顯著提高,簽名信息不再位於區塊內,這給Schnorr簽名提供了不硬分叉的解決方案。

由比特幣Schnorr簽名方案引發的隱私性哲思

另一個原因就是,Schnorr一直是有專利保護的,創始人Claus P.Schnorr擁有對Schnorr簽名方案20年的專利保護期。因此在比特幣開發階段,並沒有其他系統使用Schnorr簽名的方案,安全性不可知。

但隨著專利解鎖,部分系統嘗試使用Schnorr簽名方案,以及對Schnorr的密碼學論證的完善。Schnorr已經從實踐角度和理論角度被認為是安全的簽名方案。

事確實是好事,Schnorr簽名方案在安全性沒有削弱的前提下,既減小了體積,又增強了隱私性。但是我對強隱私性這一點還有很有顧慮的。

由比特幣Schnorr簽名方案引發的隱私性哲思

強調隱私性的加密數字貨幣協議有很多,零知識證明的ZCash,混幣的Dash,環簽名技術的門羅等。

Zcash是首個使用零知識證明機制的區塊鏈系統,其中有一份作廢賬本。在轉賬過程中,轉賬者的地址裡生成的一張支票放到作廢賬本里。同時,接收者的地址生成一張和轉賬者支票面額相等的支票。

記錄者(礦工)只需要把轉賬者的支票記錄到作廢賬本里,並收到一張新的支票。在這裡支票就是一串編號,礦工不能看到轉正金額以及雙方是誰。驗證一個地址是否有這筆錢只需要查找作廢賬本里這筆錢是否已經作廢了,所以也不需要知道地址的餘額。

Dash達世幣之前叫暗黑幣,轉賬的時候採用混幣機制,將同一個時間的不同交易混在一起,我們就會看到區塊上記錄的是一堆地址轉賬給一堆地址,不能看出是哪個地址轉賬給了哪個地址。

門羅幣則採用的環形簽名,將交易者們的交易信息揉成一團,每個人都在這一團上用自己的私鑰簽上名字,這樣就能達到看不出這樁交易是誰和誰進行。

雖然是技術進步,但是這些加密貨幣在某種層面確實助長了黑色交易,如軍火貿易,人口販賣,兒童色情,黑色數據等。過去比特幣一直作為所謂暗網的通行貨幣,但是隨著技術的進步,黑暗交易已經逐漸轉移到了門羅和ZCash等,比特幣在某種意義上已經擺脫了“原罪”。

由比特幣Schnorr簽名方案引發的隱私性哲思

但是如果比特幣的隱私性得到了指數級的增強,灰色交易地帶是否會重新用回比特幣,比特幣的“原罪”是否會恢復呢?作為比特幣的狂熱支持者,我是不希望看到的。

現在是一個很糾結的狀態。一方面比特幣誕生就是為了對抗中心化強權的,但是另一方面,作為比特幣的愛好者,我也希望比特幣能夠得到世界強國的認可(比如中國、美國)。

但如果比特幣重新變回灰色市場交易的媒介,恐怕比特幣距離得到世界強國的認可可能就更遠一步了。

(WX搜索“幣圈邦德”,獲取更多資訊)


分享到:


相關文章: