從 Git 到區塊鏈

2021-09-20 11:01:55 字數 1387 閱讀 3714

這是「區塊鏈技術指北」的第 24 篇文章。

github **在程式設計師心目中的地位不言而喻,這個基於 git 的託管**可以說是開源的風向標。 我們 github 中的 git repo 中還可以找到 2005 年 4 月 8 日 linus torvalds 提交的 第一版 **。

正是 github **在全球的成功運營,加密數字貨幣開源專案才會以爆發性的增長。這個世界上最頂尖的程式設計師都在為這些開源專案提交 pr,這種社群式連線的力量,是無法衡量的。我們可以在 github 上看到 bitcoin、ethereum、eos 等專案的最新更新狀態,每天都有無數的程式設計師為這些專案添磚加瓦。加密數字貨幣的共識,很大一部分來自 github 社群。

那 git 究竟是什麼呢?簡單講就是乙個 分布式版本控制軟體。如果用三句話闡述什麼是 git 執行原理,那就是:[1]

我們來試著理解這句話。當我們在 github 建立乙個新專案再 git clone 到本地(當然也可以本地 git init 初始化專案),把本地的**放到這個目錄,然後我們要怎麼樣提交到 github 呢?我們在配置相應的 ssh 公鑰之後,會執行如下的幾個步驟來提交到 github:

簡單講就是,先本地提交,累積幾次後再一次 push 到 remote。本次提交會關聯到上一次提交,這跟區塊鏈的 chain 是不是有些類似?比如本次提交的標誌為 ab88b43,上一次提交的標誌為 297f29a,那麼本次提交的資訊裡就會有 parent commit 297f29a。這種類似鏈條的記錄,是不是變得可追溯了啊?版本控制最重要的是什麼,就是可追溯,如果某次錯誤提交,還可以回腿到歷史版本。同樣,可追溯也是區塊鏈的重要特性。

再者,區塊鏈的特性是分布式的,而 git 天然就是分布式的,不過 git 是依賴檔案系統。github 助力全球化協作,並且**或者文件一旦提交到 github,這個操作將是無法撤銷的。github 本身會將其**上的 repo 利用分布式儲存做好容災;如果某程式設計師 clone 該 repo,只要它不刪除,將會永久儲存在自身的電腦,除非自身電腦檔案系統崩潰;如果某程式設計師 fork 該 repo,只要它的賬戶不被刪除,這個 repo 將永久保留在它的賬戶之下;另外,某個 repo fork、clone 次數越多,被摧毀的概率也就越低;再者,某個 repo 即使最近一次操作清空了所有的**,還可以通過 git log 恢復。這樣一分析,科學上網的 github repo 將是 野火燒不盡,春風吹又生。

另外,區塊鏈的另乙個特性是不可篡改,也就是只能 insert。git 呢?github 託管的 repo 裡的內容本身是可以修改的,然而這個 commit 歷史卻是無法修改的。每一次 commit 都有唯一標誌,本次 commit 會有 parent commit 的資訊。git 產生的 log 也可以通區塊鏈資料庫進行模擬。

也就是說,git 是簡化的 blockchain,用 git 來理解區塊鏈,這個事情是不是特別有趣?參考

區塊鏈從入門到精通 區塊鏈培訓

不得不說,你夠機靈,一路追過來,你也算是很幸運或者說咱倆有緣分了 到了這裡,就算到家了 不扯犢子了,以後有的是機會嘮,說正事 區塊鏈技術人才告急,百萬年薪難找人,大叔,江湖朋友給面子叫聲 大叔 我長的有那麼老麼?我一直認為自己是90後.從事網際網路技術研發8年,曾供職於阿狗,阿貓等一線養寵物牧場,從...

區塊鏈從入門到精通 區塊鏈培訓

不得不說,你夠機靈,一路追過來,你也算是很幸運或者說咱倆有緣分了 到了這裡,就算到家了 不扯犢子了,以後有的是機會嘮,說正事 區塊鏈技術人才告急,百萬年薪難找人,大叔,江湖朋友給面子叫聲 大叔 我長的有那麼老麼?我一直認為自己是90後.從事網際網路技術研發8年,曾供職於阿狗,阿貓等一線養寵物牧場,從...

區塊鏈從入門到放棄

乙個完整的 整理帖,所以到處蒐羅搬運了一些覺得挺不錯的來,直接貼鏈結應該不算侵權吧 入門介紹與原理 一 位元幣 1.位元幣 這是一切的開始 2.精通位元幣 講位元幣很詳細的一本書,看完基本對位元幣的認識就清楚了。3.theproof of work concept pow機制理論介紹,英文 4.位元...