記憶體條是在計算機的組成結構中,有一個很重要的部分,就是儲存器。儲存器是用來儲存程式和資料的部件,對於計算機來說,有了儲存器,才有記憶功能,才能保證正常工作。儲存器的種類很多,按其用途可分為主儲存器和輔助儲存器,主儲存器又稱記憶體儲器。
記憶體條是連線CPU 和其他裝置的通道,起到緩衝和資料交換作用。 當CPU在工作時,需要從硬碟等外部儲存器上讀取資料,但由於硬碟這個“倉庫”太大,加上離CPU也很“遠”,運輸“原料”資料的速度就比較慢,導致CPU的生產效率大打折扣!為了解決這個問題,便在CPU與外部儲存器之間,建了一個“小倉庫”—記憶體。
記憶體條透過scrypt演算法,由於比特幣將hash演算法作為pow工作量證明的重要手段,後續的各種採用pow的數字貨幣也延續了這個設計,以SHA256、MD5(MD5後來被證明不具備強碰撞性數字貨幣一般不用)為代表演算法在設計之初屬於演算法都是算力敏感型,意味著計算資源是瓶頸,主頻越高的 CPU 進行 Hash 的速度也越快。這個設計直接導致後來的礦機出現,採用ASIC晶片的礦機更是將這種運算能力成倍提升,更多礦場的出現使得當時的比特幣面臨算力中心化的威脅(關於礦場這個爭論現在依舊)
為了限制計算能力的依賴,人們開始尋求新的演算法,我們說過現代計算機是“儲存轉發結構”,既然要限制轉發CPU的能力,目光自然投向儲存依賴,也就是記憶體依賴,scrpyt演算法是由著名的FreeBSD駭客 Colin Percival為他的備份服務 Tarsnap開發的,當初的設計是為了降低CPU負荷,儘量少的依賴cpu計算,利用CPU閒置時間進行計算,因此scrypt不僅計算所需時間長,而且佔用的記憶體也多,使得平行計算多個摘要異常困難,因此利用rainbow table進行暴力攻擊更加困難。scrypt沒有在生產環境中大規模應用,並且缺乏仔細的審察和廣泛的函式庫支援。所以scrpyt一直沒有推廣開,但是由於其記憶體依賴的設計特別符合當時對抗專業礦機的設計,成為數字貨幣演算法發展的一個主要應用方向。
DDR主要使用了該演算法,使挖礦機制更公平,低耗能,更安全,追求平民化挖礦,實現web3.0全球化時代人人都可以參與建設,分享收益的目標。