<wbr id="rn1zl"></wbr>
<wbr id="rn1zl"></wbr>
  1. <form id="rn1zl"></form>

    <em id="rn1zl"></em>
      <font id="rn1zl"><thead id="rn1zl"></thead></font>
          <font id="rn1zl"><s id="rn1zl"></s></font><xmp id="rn1zl"><mark id="rn1zl"><output id="rn1zl"></output></mark></xmp>

          中國比特幣官網

          一文說透密碼學歷史、工作原理、零知識證明及潛在影響

            很明顯,零知識證明的一個主要特征是,它們能夠在保證隱私的同時證明信息被知曉,但是零知識證明系統系統更有趣的地方在于,它們越來越簡潔,這一點經常被忽視。零知識證明系統能夠比其他方法更簡潔地證明信息。驗證一個證據的時間,比重演一個計算以驗證其正確性所需的時間要指數級的短得多,而后者是目前各種變動中的計算所最常用的方法。

            重演計算代價高昂,需要時間和資源。(請注意,這與驗證算法或程序的正確性不同――驗證計算的完整性則完全是另一個范疇。)

            更重要的是,這意味著執行計算本就效率低下的區塊鏈,應該被用于驗證計算的證據,而不是用于一般的計算本身。

            快進到今天的大環境,我們有幾種不同的零知識證明系統的實用案例:

            在此,我們將簡要討論 :

            ZK-SNARKs

            ZK-STARKs

            防彈證明

            ZK-SNARKs

            ZK-SNARKs 是「零知識簡潔的非交互式知識論證」(zero knowledge succinct non-interactive arguments of knowledge)的縮寫,Zcash采納了這種方法,Zcash 現在叫 Electric Coin Company,用這種方法將加密貨幣的支付匿名化。(注:Zcash 區塊鏈實際上是比特幣區塊鏈的一個分叉。)

            在 Zcash 區塊鏈中,礦工不需要知道:

            1. 誰在發送 Zcash (因此也無需知道他們擁有多少 Zcash)。

            2. 誰在收取 Zcash.

            3. 被傳遞的 Zcash 的數量。

            不過,礦工依然能夠證實交易。

            使用 ZK-SNARKs,礦工證實的事情包括,沒有發送者發送或創建比他們當前擁有的 Zcash 更多的 Zcash,接收方只收到發送方試圖發送的金額。以這種方式,Zcash 成了一個真正的匿名系統。在比特幣和包括以太坊在內的大多數公共區塊鏈上,所有交易信息都是公開的,發送地址、接收地址和金額都是已知的。此外,每個單獨帳戶中持有的幣都是已知的。

           ?。☉撎嵝训氖?,實際上 Zcash 有兩種不同的地址格式。T 地址是公開的,從這些地址發送和接收的信息可以被視為比特幣區塊鏈。Z 地址是私密的,如果一個 Z 地址將 Zcash 發送到另一個 Z 地址,那么該信息將完全保持私密狀態。不過,如果一個 Z 地址將 Zcash 發送到一個 T 地址,信息將成為公共狀態。據估計,Zcash 區塊鏈上只有 1% 的交易使用完全私密交易。在 2018 年底 Sapling 升級之前,由于規模和內存等要求,Zcash 區塊鏈上的私人交易只能在筆記本電腦上進行?,F在,私人交易只需要 2 - 3 秒 , 理論上可以從移動設備上完成交易,這是相當驚人的。想一想,不到兩年前的 2017 年 Scarbrough 感恩節時,我和我從事網絡安全的兄弟展開過一次隱私大辯論,我們都沒有想到,零知識交易在如此短的時間可以發展到如此快的交易速度。我輸掉了那場辯論,但公平地說,只是對方獲得的支持人數比我多。)

            ZK-SNARKs 具體如何運作?

            ZK-SNARKs 背后的數學理論是精細和密集的,但是可以(稍微)用正確的原理和定理進行濃縮。以下是 Christian Reitweissner 的「SNARKs in a Nutshell」論文的一個壓縮版本。

            首先,問題被編碼并壓縮成一組多項式等式,作為一個二次運算程序。

            t(x)h(x) = w(x)v(x)

            利用這些方程,證明者的目標是使驗證者相信等式成立。

            這些多項式可以是好幾個項,如果對大量的點進行等式檢查,效率會相當低。為了引入簡潔性,ZK-SNARKs 依賴于 Schwartz-Zippel 輔助定理,即不同的多項式在大多數點的求值是不同的,因此只要檢查少量的點,其實就可驗證證明者使用的多項式是否正確。這樣,求值只需要在點的一個子集來證明等式,而這些求值點是隨機和秘密的。隨機性和秘密點通常被稱為 ZK-SNARKs 可信設置的有毒廢物。設置階段生成一個公共引用字符串 (common reference string ,CRS),該字符串生成一個隨機點 s,從該點求值多項式,并生成一個秘密數字 α,來「移位」多項式的值以保持機密性。s 和 α 在設置階段之后立即銷毀,于是惡意行為者就不會得到它們,從而只能在自己的基礎上構造出錯誤的證據。

            驗證者現在可以檢查,在一個隨機點 s 處下列多項式保持相等:

            t(s)h(s) = w(s)v(s)

            接下來,就是掩蓋隨機性、秘密求值點,并允許驗證者將使用同態加密形式的證據拼成完整拼圖。在同態加密中,值的加密方式是這樣的:可以對這些值執行數學運算,然后解密以顯示一個值,就好像最初的數字被用在求值中一樣。換句話說,它允許您數字、執行一次求值并取消,就像您對原初的、未的數字進行操作一樣 (在本例中不是所有的數學操作,而是某一些)。

          此文由 中國比特幣官網 編輯,未經允許不得轉載!:首頁 > 比特幣行情 » 一文說透密碼學歷史、工作原理、零知識證明及潛在影響

          ()
          分享到:

          相關推薦

          評論 暫無評論

          国产精品吹潮在线观看中文