將P2P虛擬貨幣(比特幣、萊特幣....)的算力用於公用的分散式運算的猜想

來源:互聯網
上載者:User

標籤:使用   資料   c   代碼   演算法   ar   

比特幣最近幾年非常火爆。發明者中本聰設計了一個特定的演算法用於產生(發行)比特幣,讓各位玩家(礦工)用自己的CPU、顯卡,或者更加專業的礦機,通過無聊的並行計算算出比特幣的特定密碼(挖礦)。為了保證全網比特幣按照特定的發行速度遞增,並最終無限趨近於上限2100萬枚,挖礦難度會根據全網算力進行動態調整。由於進場人數急劇增加,誰的算力大,誰挖到比特幣的幾率就高,因此這是一個類似於“軍備競賽”的過程。前期硬體投入,加上巨大的電力消耗,回本機會往往非常渺茫,更重要的是,全網如此巨大的計算力白白地消耗在毫無意義的運算中。從比特幣衍生出的各類山寨幣,其運作機制完全相同,同樣在無畏地消耗著大量算力。

其中一個方案在最底層實現。由於各個礦機的平台不盡相同,使用者將自己要提交的代碼,分解最佳化為一系列可重新進入的代碼塊(可以是函數),這些代碼塊之間除了資料傳遞,邏輯上是相互獨立的,並且是有嚴格的先後線性順序的,可並行安排。將這些代碼按照某一平台進行編譯,添加平台標記、順序號,產生一系列程式碼片段,並將這些binary提交到整個計算網路。相同平台的礦機(X86,ARM,SPARC,MOTO....)自動載入計算並返回結果給代碼提交者。

顯然,並行的計算,且每一個平行分支含有極高次迭代的迴圈結構,利用率是最好的。因此使用者設計代碼時要盡量符合這樣的標準。

從更高層次考慮,結構化程式理論表明,任何過程式語言都可以通過順序、分支、迴圈三種基本結構進行組合。考慮將編程的基本單位,從語句提升為“算元”。經過精心挑選的基本算元(甚至可以是更高層的演算法庫)已安裝在礦機中,使用者只需將運算過程(重複率很高的)按照一定的格式提交到全網,由網路自動分配算力,即可實現高效的利用。當然,這需要開發一種新的指令碼語言。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.