Encryption

我如何理解加密背後的數學,尤其是在區塊鏈/分佈式賬本中使用的數學?

  • December 9, 2021

關於我的一些背景;電腦工程師,但在我學習期間,我並沒有深入研究數學,尤其是用於使區塊鍊和密碼學工作的加密數學。

我正在尋求該領域任何資深或有經驗的研究人員或從業者的建議,以給我一些建議並為我指明正確的方向。

如果您能準確概述我需要復習和學習的數學主題 - 我將不勝感激!

PS:歡迎對任何有用且相關的線上課程提出建議!

老實說,DLT 中使用的密碼學的數量和復雜程度很大程度上取決於您正在研究的項目。首先,請注意區塊鏈/DLT 在今天也已成為一個行銷術語,所以那裡的許多項目只不過是一個名字很酷的遺留數據庫。公共的、未經許可的加密貨幣是另一回事,恕我直言,如果你真的對這個全新的領域感興趣,它們就是你必須研究的東西。(但首先要檢查您是否真的需要 DLT。您會獲得許多功能並失去許多其他功能,因此請首先檢查您是否真的只需要 DB。)如果您還沒有改變主意,讓我們繼續看一堆範例和參考:)

  • 在比特幣中,您可以在橢圓曲線和散列(例如,PoW 的核心)上找到標準的公鑰/私鑰簽名,這兩者現在都可以被認為是標準密碼學(只不過是您在現代 X.509 證書中可以找到的) Web 伺服器域)。對於初學者來說更具挑戰性的是恕我直言激勵和博弈論相關概念。當我開始我在這個世界上的旅程時,我喜歡的一本書是“Mastering Bitcoin 2nd. Ed”。作者 Andreas Antonopoulos,介紹了您需要掌握的許多概念(以及少數密碼學概念)才能深入了解這個世界。但請注意不要考慮 Antonopoulos 的書數學嚴謹:正如@kelalaka 在評論中指出的那樣,EC 標量乘法的定義存在誤導性問題,在第一版的第 68 頁和第二版的第 63 頁。
  • 通常以隱私為導向的硬幣使用更高級的密碼學。例如,在門羅幣中,您可以找到 Diffie-Hellman 交換、環簽名和其他很酷的想法(例如,Pedersen Commitments 和 Bulletproofs)。我建議您查看https://www.getmonero.org/library/:“從零到門羅幣第 2 版”,這是對今天門羅幣的完整參考(“今天”是因為硬分叉,即非向後兼容的更改在門羅幣中很常見)比“掌握比特幣”更多的數學足跡。我認為很好的配套文件是您可以在同一網頁中找到的備忘單(免責聲明:它們是我的 ;-))
  • Ring Signatures 的未來似乎是 Monero 方面的 Triptych 和 Seraphis,以及 Firo 方面的 Lelantus Spark(一種“新”加密貨幣,以前是 Zcoin,但具有完全不同的協議/數學)
  • 加密貨幣中使用的其他非常酷的密碼學東西是零知識證明;要小心,因為它們有很多口味。Monero 中使用的 Bulletproof 就是其中之一,但你肯定會發現 Zcash 的 ZK-SNARKs、ZK-STARKs 和 ZK-Rollups 用於乙太坊的未來……我避免在應用程序級別引用,因為它們是一個世界進入一個世界,並且恕我直言,要真正理解它們,您必須從基礎開始,例如 Oded Goldreich 的“密碼學基礎第 1 卷”,然後深入研究非互動性的模型/啟發式……真的是一團糟(這只是一個簡化的想法:https ://github.com/AdamISZ/from0k2bp/blob/master/from0k2bp.pdf - 順便說一句,它包含一個非常容易理解的承諾介紹)

引用自:https://crypto.stackexchange.com/questions/96517