比特幣pullrequest
① 什麼是比特幣分叉
比特幣中一個區塊的容量就是1M(兆位元組)吧。而一筆交易是250到500位元組之間。
按照這種演算法,那麼一個區塊大約包含的4 194.3(筆)交易。
比特幣中一個區塊確認的時間是10分鍾,那麼一個區塊每秒能處理的7個交易,可能有時候連7筆都達不到。
這樣會造成一什麼後果呢?
比特幣的分叉分為硬分叉和軟分叉。
硬分叉是:指比特幣的區塊格式或交易格式發生改變時,未升級的節點拒絕驗證已經升級的節點生產出的區塊。
已經升級的節點可以驗證未升級節點生產出的區塊,大家各自延續自己認為正確的鏈,所以分成兩條鏈。
什麼是軟分叉呢?
軟分叉是指比特幣交易的數據結構發生改變時,
未升級的節點可以驗證已經升級的節點生產出的區塊,
而且已經升級的節點也可以驗證未升級的節點生產出的區塊。
② 如何評價 BitHub (Bitcoin + Github),這會給開源軟體陣營帶來什麼...
我覺得這種項目的核心不在於比特幣,而在於軟體基金的分配與運作方式。
簡單描述一下我的理解:項目負責人需要在 heroku 上面搭建一個 bithub 應用,這個應用管理著開源軟體用戶針對某一 github 項目的 bitcoin 捐款基金(需要對外公開這個捐款地址),每當有開發者往指定的 github 項目 commit 代碼(包括被 accept 的 pull request 代碼),heroku 上的 bithub 應用就會發送基金剩餘總額的一定比例(好像默認是%2)的 bitcoin 給這個 committor 以獎勵他的貢獻。
它會給自己 github 項目帶來兩種效果:
以 bitcoin 為噱頭的宣傳效應。仍然有相當多的開發者不了解 bitcoin 或者持有異議,在社交平台大行其道的今天,這會增加項目受關注的程度。
軟體基金促進了一種「懸賞」的氣氛,當開發者知道為某項目貢獻代碼將會得到獎勵便會趨之若鶩,特別是看到那個誘人的數字擺在那裡。項目活躍度直線攀升。當然,品質另說。
其實說到底它足夠簡單,僅僅是一個自動管理軟體捐款基金的 bot 而已。bitcoin 不是它的核心,但它也難以離開 bitcoin。如果把不便支付與兌換的 bitcoin 換成法幣,那這種項目將會適用更多的情境,會受到更多開發者的歡迎。但是法幣就需要與支付工具或支付平台對接,顯然在這方面就沒有甚麽廉價、易於實施的方案了。所以最終還是得益於 bitcoin 的非中心化,每個人都可以自由控制自己的賬戶,使得各種基於支付的應用都可以更低的門檻進入市場。
bithub 的缺點也是顯而易見的,首當其沖就是品質控制。bithub 的 pay per commit 模式僅以提交的代碼更新次數為量化標准,對內容和代碼品質是忽視的。也許使用了 bithub 之後,代碼審查這種事就會讓人覺得疲於應付吧。其次的缺點就是公平性,這個問題和剛才說的保量不保質多少是有些相關的。如果某個 committor 提交了一次關鍵更新,大幅度提升了軟體性能和品質,但是當時軟體基金池很小,那麼這個 committor 就只能得到比較少的獎勵。之後改良過的軟體帶給用戶更好的體驗,進而用戶給與了更高的捐助,那麼基金池就上漲了,但是這種上漲受益的將是以後 commit 代碼的人。在我的印象里,開源精神里有一點就是誰貢獻誰受益,本來最大的受益人就應該是項目的發起者。雖然最大的受益人是發起者本無可厚非,但是用戶捐款的98%都在自己的戶頭上會不會讓其他的維護者失去信任?沒人能夠監督互聯網另一端的項目持有者僅把項目基金用在軟體的維護上。
話說我最開始剛看了博客中的第一條標題,還以為是眾籌模式的開源軟體定製呢(腦補一下眾籌模式的apache基金會)。其實現在的軟體基金會與集資定製的形式也差不太遠了,企業廠商若想從某開源項目中持續獲益就需要捐助資金讓其活躍(比如 google 和 eclipse)。這無非是先付費與後付費的區別,本質上相差是不太大的。
最後說一下個人對公平性的解決思路:
最簡單的方法是取消基金池,改 pay per commit 為 donate to commit,用戶或者其它開發者直接捐助到指定 commit 上,由用戶和其它開發者決定 commit 的價值。這樣同時解決了保量不保質的問題。
或者更改結算方式,每次的捐款都均分到所有已經提交過的 commit 上。但這種方式仍然沒能保證品質,除非引入類似上一條建議那樣的針對 commit 的評價體系。
不過說到底,即使這些修改過的方案,依然還是離不開 bitcoin。除了 bitcoin,再沒有甚麽低廉的方案能夠如此隨意、方便地對資產進行自動化管理了。