Monday, October 23, 2017

Bitcoin (9) - 講多次,乜嘢係Bitcoin硬分叉(hard fork)?

最近一講bitcoin就必然提到「分叉」「分裂」。

講真,唔係做IT,都幾難明乜野係hard fork。
每一種科技/技術都會不停進步,blockchain都一樣,而每當一種加密貨幣背後嘅blockchain需要更新時就會發生soft fork或hard fork。唔係淨係bitcoin,其實ethereum都發生過,所以有ethereum classic出現。
soft fork即係個更新唔會影響一直以來嘅運作,用家乜都唔洗做,只要miner自行install返新version就可以繼續運行,而且就算有啲miner用緊舊vesion,有啲miner用緊新version,都照樣唔會出問題的。
而hard fork就好唔同,因為只要一upgrade version,就要同舊version講bye bye,即係話,如果有啲miner行緊新version,有啲miner行緊舊version,咁就會變左兩個完全獨立嘅blockchain network。亦即係話,會有兩隻cryptocurrency同時運作。所以外間睇落就好似分叉左新貨幣出嚟咁。
事實上,bitcoin hard fork並非只係多左一隻貨幣咁簡單。
前文提到,hard fork係有blockchain network嘅version upgrade。即係話bitcoin hard fork係有新野的。
如果一直有留意bitcoin的話,其實1/8已經hard fork過一次,當時就產生bitcoin cash出嚟。點解?就係因為好似之前咁講有啲miner行緊新version,有啲miner行緊舊version囉。咁邊個新邊個舊呢?

個問題唔係咁簡單。

bitcoin upgrade其實一直都諗住做,業界--包括miner、exchange、bitcoin fundation、bitcoin core成員等等--一直都有討論。原因係當時bitcoin設定係每10分鐘先會miner到一次,而每一次只能夠處理1MB data。大家都知道1MB其實好細,而如果長遠黎睇,其實跟本唔會夠用,講白啲,其實一直都唔夠。所以miner就會傾向處理大額transaction,因為data數量差唔多,但transaction fee就多好多(無錯,send bitcoin係要比transaction fee的)。如果bitcoin transaction太細,例如我send 0.001BTC比你,好多miner會選擇唔處理呢一個transaction,而結果就要等好耐好耐好耐先會有miner去處理(bitcoin有機制要miner優先處理等左好耐嘅transaction的,所以最後都會成功send到)。我試過send 0.001BTC,等左超過一星期先完成。

就係因為呢個原因,如果大家都希望越來越多人用bitcoin買賣,咁scalability就成為現今最大問題。所以upgrade係無可避免。

經過業界漫長嘅討論,最後得出嘅共識係:由1MB加到2MB,另外再喺bitcoin嘅blockchain network protocol上做優化,名叫segregated witness 2X,簡稱SegWit2X(個名咁叫係有原因的)。而呢個共識,業界稱之為New York Agreement。

而上面提到1/8嘅hard fork,bitcoin就係將個blockchain network跟據以上決定upgrade左。

咁bitcoin cash又係乜呢?

其實就係有班miner唔鐘意New York Agreement嘅決定而自行抄左bitcoin個blockchain network出嚟另起爐灶。呢個network嘅設定同bitcoin一樣,都係每10分鐘掘到一次,但每次可以處理嘅data就提升到8MB。而segregated witness就冇加到落bitcoin cash到的。

最重要係,其實呢班miner嘅數量同掘礦能力得好少,係bitcoin的10%以下。所以bitcoin cash第一次運行時,原本只要10分鐘就應該要掘到全新嘅bitcoin cash,但結果用左5個鐘。

咁有乜問題呢?

問題就係加密貨幣本身就係靠成班miner嘅龐大計算能力去防止有人盜用、改寫、破壞成個network嘅運作。而bitcoin cash咁細嘅hash rate就令人擔心其安全性。所以bitcoin cash一直都追唔返bitcoin嘅價錢就係咁解。

Wednesday, October 11, 2017

Bitcoin (8) - 乜嘢係Bitcoin硬分叉(hard fork)?

最近好多好多人問乜嘢係hard fork,點解啲拎住bitcoin又可以乜都唔做就無端端賺咗幾百蚊美金。

其實bitcoin本身係一隻加密貨幣,背後有一個叫blockchain嘅network去支持成隻貨幣,無論你用bitcoin嚟買嘢定係send bitcoin比人,定係你掘bitcoin,都關個network事,而且所以交易動作都一定會記錄喺呢個network上面。

簡單啲講,blockchain係一種技術,佢係類似一個巨大database,記錄晒一隻加密貨幣嘅所有動作,包括發行同使用。而所有技術都一定有大大小小嘅問題,而bitcoin一直都比人話完成一個transaction太慢,而長遠嚟講會影響普及程度。所以bitcoin背後嘅blockchain network就需要upgrade,去解決呢個問題。

如果大家有留意,應該仲記得上次hard fork係2017年8月1日,分裂出新貨幣bitcoin cash。點解會有新貨幣呢?其實係因為有兩班礦工,一班支持upgrade,另一班唔支持。結果唔支持嗰班就另起爐灶,將成個bitcoin blockchain抄左出嚟,然後叫佢做bitcoin cash。從此呢班礦工就只挖bitcoin cash。亦因為係成個bitcoin blockchain抄出嚟,既係好似成個database make咗個copy咁,如果你原本有1個bitcoin,咁佢copy咗出嚟,你就會有1個bitcoin cash。就係咁簡單。

其實呢次hard fork係上半場,而下半場就會喺2017年11月。其實個blockchain就upgrade左架喇,8月嘅時候就已經activate左upgrade 嘅一部份,而今次就會喺11月activate另一部份。而今次亦有一隻新貨幣出現,叫咩名就仲未有共識,不過有啲exchange就要一早預備好,所以就比左個symbol佢做B2X。呢隻新貨幣預計喺11月28日就會開始運作,所以如無意外,喺呢一日拎住bitcoin嘅人都會拎住相同數量嘅B2X。

請注意,市場有一假消息,話今次hard fork係會分裂出bitcoin gold。呢樣係絕對錯誤。已經有唔少人發現某啲bitcoin gold網站係呃人的。請參考新聞:https://news.bitcoin.com/the-bitcoin-gold-project-responds-to-negative-criticism/

Tuesday, October 10, 2017

Bitcoin (7) - 乜嘢係hardware wallet? + Ledger Blue unboxing

唔理有冇炒bitcoin或者挖bitcoin, 其實如果有留意bitcoin的話,心裡面應該成日有個問題:既然講到bitcoin咁安全,咁如果我啲bitcoin放喺exchange度,會唔會比人hack左,偷晒去?

其實你驚係正常架,因為唔少bitcoin exchange的確係有比人hack過,比人偷左private key,然後攞晒入面嘅bitcoin。講真,啲bitcoin放喺exchange,純粹係方便買賣,唔應該視為一種安全嘅儲存方法。

咁點樣儲存bitcoin先安全呢?

其實好簡單,既然你怕比人hack,咪唔好方上網囉。其實只要喺自己電腦開個bitcoin wallet,transfer晒啲bitcoin落去,然後唔好比呢部電腦connect到網絡,包括有線或無線,咁其實已經可以唔怕有人偷偷地駁入去你部電腦。如果要防埋屋企人,咁你最好將部電腦加返密碼,甚致成部電腦鎖入夾萬,咁就萬無一失。

咁麻煩,有冇其他方法?

其實巿面上已經有唔少hardware wallet出售,包括:


Trezor (https://trezor.io/)


Ledger Wallet (https://www.ledgerwallet.com/)



KeepKey (https://www.keepkey.com/)


小弟喺幾個月前就買左Ledger出嘅hardware wallet - Ledger Blue。最近終於收到:

包裝睇落真係好似一部手機

可以用micro USD或bluetooth


打開個盒,有D似iPad



盒內有Ledger Blue, 一條micro USB線, 三張紙, 一個袋仔

一張紙係叫你上網睇instructions(中),一張係說明有防止機內零件被人動手腳功能(左),一張係比你mark低recovery phases(右)


同一般手機/平板電機一樣,機邊有粒制,按住三秒左右就可以開機,然後一路跟住instructions做就得。

set password同confirm password

mark低recovery phases, 可以寫落附送嘅紙仔度

問返你其中幾個phases

大功告成,只後只要用password就可以入返呢個dashboard

LedgerWallet官網上有更多圖片
(https://www.ledgerwallet.com/products/ledger-blue)





唔好以為好大個,其實好細,絕對放到入褲袋。

其實巿面上以Ledger Blue為最新最方便,佢個touch screen真係比實體按鈕好好多,所以我一開始就揀佢。不過,我5月落order,到10月先送到嚟,呢樣先係最大缺點。


Sunday, October 8, 2017

IT人搵工攻略(3):外行人能否入行?

近年IT界好多新嘢出現,例如人工智能、加密貨幣、區塊鏈、無人車、VR(virtual reality)同AR(artificial reality),仲有前一兩年講咗好多嘅Big Data,同埋啲好似關事又唔係好關事嘅嘢,例如電競。

好多外行人唔知呢啲嘢係點運作,亦唔知佢地點出現,但就覺得好有興趣。亦因為咁,呢兩年多咗好多人考慮入行做IT。咁到底點先可以由外行人變內行人呢?入行好易定好難?要讀啲乜、考啲乜先可以入行?


考張cert就可以入行?

好多人會覺得,考張cert就可以入行做IT。唔夠咩?考夠兩張、三張,報個online course,仲唔係IT人?

其實呢個觀念真係大錯特錯。如果你話入行做accounting,讀個course可能已經知乜嘢係income statement,乜嘢係balance sheet。然後,只要你好彩,搵到間公司唔太介意你有冇accounting嘅bachelor degree,咁你就可以入到行。

如果你淨係想喺腦場賣電腦,可能連cert都唔使讀添,吹到水就做到。但真正IT唔是咁玩的。


咁IT人其實要識啲乜?
IT界最重視嘅係──你一入職可唔可以落手做嘢。要落手做乜?視乎職位啦。

如果你想做support嘅話,就要manage一大堆server、一大堆VM、一大堆後備乜線物線、滑鼠、Mon、laptop等等;有新同事加入,就要識得setup新電腦,開一大堆乜account物account,仲要install防毒、辦公室軟件。如果間公司高科技少少,仲要搞埋公司閉路電視系統、電話系統、門口出入嘟卡系統等大把系統要manage。如果間公司啲同事唔知IT係乜,有時仲要幫同事整咖啡機、換電燈膽等等,總之有個「電」字或「機」字就關事。咁你話讀張cert會唔會識晒?

做programmer的話,你唔好諗住好好玩。好多人以為自己鐘意打機,咁寫game就一定好啱自己。錯晒囉。如果你好鐘意玩貪食蛇,你估你寫完隻貪食蛇,試玩左幾百、幾千次之後,你仲鐘唔鐘意玩?做得programmer,預咗一開始你就要識寫program。唔係睇完書就會識,而係要親手做過無數次先會識。

所以就算係讀大學課程,都會不停叫你寫program。我仲記得當年讀書嗰陣,日日寫code寫到天昏地暗,人哋長假期可以返屋企抖,我哋就要喺宿舍死砌爛砌,點都要砌好個program為止。到出嚟做嘢,寫high level program的話,你就必須知道咩係object oriented;如果做Web / UI,咁MVC design pattern就冇可能唔識;如果做low level programming的話,你連CPU、RAM、HDD同埋OS點運作都要識,並非識得咩係if then else就得。咁你話讀張cert真係有用咩?

真正要做一個IT人,係需要長年累月喺IT嘅世界入面「浸」出嚟。先唔好講升職,如果冇IT相關學歷,淨係得啲乜cert物cert,要入職都好困難。九成九唔會過到interview,除非間公司淨係要有手有腳嘅人囉。



此文章在jobsDB刊登