用白話文解釋什麼是區塊鏈?

 

thumb_BitcoinWorld.png
圖片來源:https://steemit-production-imageproxy-upload.s3.amazonaws.com

 

最近比特幣的投資熱潮簡直到了頂點,讓我不得不想辦法跟一下流行,想辦法了解一下。不過許多介紹區塊鏈的文章真的還是太艱深、太難理解了,所以我試著看能不能用最簡單的方式來介紹。

什麼是比特幣?

在講區塊鏈之前,先講「什麼是比特幣」,一方面對大家比較容易了解,一方面直接從實際的應用面來切入。

比特幣是一種P2P形式的數位貨幣,P2P就是Peer to Peer,就像以前有一個軟體,叫ezPeer,大家用那個軟體下載mp3,不是從網站下載的,而是從同樣有裝ezPeear的使用者那邊下載的,所以叫做點對點,而點對點的傳輸意味著一個「去中心化」的支付系統。

什麼叫去中心化?

就是沒有人管,簡單來說我們的中央銀行(簡稱央行,13A總裁彭淮南上班的地方),它負責印鈔票,嚴格來說是發行新台幣,管控新台幣在巿場上的流通數量,例如巿場上的錢太多,它就發行債券,把債券賣給投資者,把新台幣收回來,不給流通;或是巿場上的錢太少,為了鼓勵投資,就印新的鈔票出來,把債券買回來,讓投資者手上有錢,把錢拿來做其他的投資。但是印鈔票會讓東西變費,因為巿場上的東西就是那麼多,一個便當假如是100塊,如果今天央行多印一倍的鈔票,並不會讓大家的錢變多,而是讓一個便當變成200塊,就是所謂的通貨膨帳。所以100塊和200塊只是一個數字,能買到多少東西比較重要(購買力)。

上面扯到經濟學太遠了,簡單說,新台幣就是受央行控管,而且由央行和各家銀行來記帳,但是比特幣是不受控管的,應該說不是用印鈔票或是回收鈔票來控管,而且記帳是存在網路上的每一台電腦(節點)裡。它依據特定的計算方法,通過大量的計算產生,比特幣使用整個P2P網絡中眾多節點構成的分散式資料庫來確認並記錄所有的交易行為。

下圖說明了,記帳從原本的集中式帳本,改變成分散式帳本的示意圖。

 

011.png
http://banknxt.com/wp-content/uploads/2015/07/Santander-image.png

 

 

比特幣的安全性-基於密碼學的設計

比特幣使用密碼學的設計來確保貨幣流通各個環節安全性,沒人可以大量製造比特幣來人為操控幣值。就是所有的交易都被加密,而且是匿名的,交易記錄都能夠確保真實性,無法造假,例如A付比特幣給B,可以確認「A真的有比特幣」、A的比特幣「真的轉帳給B」、「B的比特幣變多」,而且交易記錄都被加密,所以查不出來A和B是誰(所以可以洗錢)。

通貨緊縮的貨幣-數量不會改變

比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,雖然可以通過挖礦來產出,但它的總量將被永久限制在2100萬個,挖完了,就再也挖不出來了。

什麼是挖礦?

所謂“挖礦”實際上就是用電腦解決一項複雜的數學問題,來保證網路上分佈式記帳系統的一致性。比特幣網絡會自動調整數學問題的難度,讓整個網路約每10分鐘得到一個答案,就是數據塊。隨後比特幣網絡會新生成一定量的比特幣作為獎勵。所以挖礦就是一直在計算加解密的資料,需要計算能力很強的電腦,尤其是專門拿來挖礦的,叫做挖礦機。

 

007.png
分散式的帳本 https://bluenotes.anz.com/content/dam/bluenotes/images/articles/2016/April/venterblockchainchart5.png/_jcr_content/renditions/original

 

比特幣的數量限制

2009年比特幣誕生的時候,每一筆挖礦的賞金是50個比特幣。誕生10分鐘後,第一批50個比特幣生成了(代表第一個區塊產生-創世區塊),而此時的貨幣總量就是50。隨後比特幣就以約每10分鐘50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個,到最後全部賞完,就是挖完了。

所以比特幣貨幣總量增長的速度會越來越慢。事實上,87.5%的比特幣都將在頭12年內被“挖”出來。而且使用比特幣的人越來越多,代表人們拿錢買比特幣,讓比特幣的總巿值越來越大,所以錢就越來越大,一塊比特幣能買的東西越來越多,當然目前的趨勢是這樣,未來是否會膨脹下去?我也不敢保證,只能說巿場上看好的人蠻多的。

這就是為什麼大家都要買比特幣的原因,因為比特幣的數量不會改變,不受某個單為控管,亂印鈔票,而且它太方便使用了,很多在海外工作的勞工,為了把錢匯回國內,先換成比特幣,再回國把比特幣賣掉,中間不用透過銀行收取高額的換匯,以及轉帳手續費,而且轉帳速度快,很快就確認完畢,所以大家都花錢買比特幣,讓比特幣的價格越漲越高。有名的WannaCry也是勒索比特幣,因為轉帳太方便了,而且又有匿名性。

在P2P網絡裡,每個節點運行著相同的核心算法,從而保證所有節點都有相同的“認知”:誰與誰發生了交易、比特幣是否真實的、“同一個”比特幣是否被重複支付等等。

 

為什麼無法造假?

如果要造假,那麼就需要與整個網絡的1/2的節點(挖礦的電腦)進行競爭,有點類似“舉手錶決過半數”的意思,反之,如果自己沒有話語權,也就無法得到其他節點的認可,也就不能造假了。並且,比特幣系統已運行了近8年的時間,“時間就是力量”,想要與整個系統對抗,靠某個人的力量是不可能的。也正是如此,比特幣才非常安全。

 

不是很安全,那為什麼有駭客攻擊?

因為駭客攻擊的不是比特幣的計算,是用傳統攻擊方式,攻擊「管理比特幣的網站」、或是偷取某些人的比特幣帳戶、或是使用勒索病毒,例如有名的WannyCry攻擊,並不是用什麼更高超的技術,除非有人可以直接破解比特幣的加密,而且可以駭入全球半數以上的電腦,這似乎沒有人可以做到啊。挖礦本身就是加密和解密,都已經非常累人,用盡大量電力和電腦運算能力,破解更是難如登天。

到底區塊是什麼?

在比特幣系統裡,只有轉賬一種交易,即使是挖礦產生的比特幣,也可以看成是從某個核心賬戶轉出的交易。系統為了對交易進行“快速”確認,如果採用所有節點(電腦)對每個交易進行驗證,會使整個系統空前複雜,因為比特幣的交易不斷在世個各個角落發生,為了避免這種“爆炸”問題,中本聰(比特幣發明者)將多個交易打包成一個塊,在部分節點對交易驗證後,其他節點只需驗證這一個塊的信息即可,從而大大提高效率。這個塊正是大家耳熟能詳的【區塊】。

 

上面這段話寫得很精簡,接下來用一系列的圖來表示:

螢幕快照 2017-07-15 下午4.15.23.png

一群節點驗證一些交易,一些交易被打包成一個區塊,驗證完後,告訴其他節點。

008.jpg
https://image.slidesharecdn.com/understandingblockchains-150715160546-lva1-app6892/95/understanding-blockchains-19-638.jpg?cb=1437142392

挖礦本身,就是在驗證交易,解數學問題。

009.jpg
https://image.slidesharecdn.com/bitcoin-sfmw-150408050025-conversion-gate01/95/bitcoin-banking-and-the-blockchain-7-638.jpg?cb=1428469581

一群節點驗證完一個區塊,通知其他節點,就是把帳本複製過去。

007.png
https://bluenotes.anz.com/content/dam/bluenotes/images/articles/2016/April/venterblockchainchart5.png/_jcr_content/renditions/original

讓每個節點都有一模一樣的帳本,所以駭客如果只攻破一個帳本,無法造假,因為其他節點不相信,除非攻破網路上所有的帳本。

螢幕快照 2017-07-15 下午5.06.48.png

因為交易記錄太多筆,所以把固定數量的交易,打包成一個區塊,方便管理,用後用一些節點(電腦)來驗證區塊裡的交易記錄,用鏈條把區塊串在一起,形成可追溯的交易記錄。

https://bitcoin.org/img/dev/en-blockchain-overview.svg
https://bitcoin.org/img/dev/en-blockchain-overview.svg

每個區塊的標頭,都會記錄上一個區塊的加密資料,這就是鏈,之所以能讓區塊串起來的東西。

最後變成區塊鏈

010.png
https://media.licdn.com/mpr/mpr/AAEAAQAAAAAAAArwAAAAJDE5YmJiMmVkLWY2ODMtNDNjZC1iMDcwLTUxYjBmYzdhNzYxOQ.png

交易是分散的,所以區塊會以一對多不斷延伸出去,所以實際上是長這個樣子的。

 

最後總結一下:
1.比特幣是去中心化,就是沒有發行單位的貨幣。
2.比特幣的交易資料(帳本)存在網路上個節點(電腦)上。
3.交易資料太多,所以把交易資料包成一個一個區塊,讓部分節點(電腦)來驗證一個區塊中,每一筆交易真實性。
4.這些節點驗證完,會把交易資料(帳目)複製到網路上所有節點。
5.每一個區塊的標頭,會記錄上一個區塊的加密資料,稱為鏈。

一句白話講完區塊鏈:「把打包交易資料的區塊,用加密的方式串連起來」,天啊還是很難表達清楚。

我主要參考以下這三篇文章,各位有興趣可以深入了解。

對了我再提醒一下,不懂就不要投資比特幣(大起大落已讓人失去理智),但區塊鏈的技術最好是了解一下,它可能是改變世界的關鍵技術之一。

以上是我的介紹,希望可以講得足夠簡單明瞭,讓非資訊專業的人也能懂,謝謝各位。

[Windows Server 2016]如何上網跟下載檔案

一般使用者可能覺得, 這什麼瞎問題, 還要拿出來問, 這表示, 你就是一般使用者啊~

用Server版的就知道了, 超煩的, 連上網跟下載檔案都擋。

我知道是為了安全性, 不過我更想知道有多少人一裝好就跟我一樣把這個設定解掉?

解法如下:

Server Manager, Local Server, IE Enhanced Security Configuration

%e5%9c%96%e7%89%87-018

都Off掉就對了, 這樣就可以上網了

%e5%9c%96%e7%89%87-019

要下載檔案的話, Internet Settings, Custom level, Downloads, File download, 改成Enable

%e5%9c%96%e7%89%87-017

終於可以下載檔案了, 通常第一個要下載的就是Chrome, 你是否也跟我一樣呢?

%e5%9c%96%e7%89%87-020

[Google Cloud Platform]取消firebase卻整個專案被停止的問題

前幾天接到一個user,有關取消Firebase服務,GCP Project卻跟著被停掉的事件。

簡單說他們是正式使用GCP,並同時「試用」Firebase,當Firebase到期時,會問user是否要升級"Blaze方案",或取消,而user選擇取消,卻收到"Your project [projectname] was successfully downgraded"的email,接著整個GCP專案被停用計費功能。

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-01-%e4%b8%8a%e5%8d%8810-14-02
為此我們向Google詢問,簡單說Google的回覆指出GCP和Firebase是共用同一個Billing的,萬一GCP的Project匯入(使用)Firebase,這兩個服務會「在一起永不分離」,所以user一個選項是「永不使用Firebase」,不然就是使用"Blaze方案"(用多少,付多少)。
 
其實user即使使用"Blaze方案”,卻完全不用Firebase,也不會因此被多charge費用。但無論如何千萬不要"downgrade",否則會影響到GCP整個project被停用。
 
無論如何,我們也認為這是Google在規劃GCP和Firebase產品線時沒做到的地方,在此跟各位提醒一下,以免受到影響喔!

[Qlik Sense教學]授權AD使用者登入Qlik Sense Hub

Qlik Sense的授權管理超級方便, 都是用很簡單的介面來做的。

如果在Windows Server上面的AD新增了使用者, 使用者就可以直接登入Qlik Sense Hub

367

我用無痕模式登入 https://win2008.aaronsoft.com/hub 我輸入剛建的Peter帳密就直接登入成功

369

不過peter看不到任何的報表檔案, 因為沒有分配任何權限給他

368

而且當我回去管理控制台時, 這個user自動出現了

370

不過, 原來他沒有權限

372

因為到授權控制台, 發現一個license 都沒分配出去

371

要到Allocations來分配

373

選擇peter

374

看到有授權了

376

peter再登入一次, 建立一個App看看, 沒有被擋住了

378

先做到這裡, 明天做login access, 就是多人共同一個license的方式。

 

[Qlik Sense教學]把Qlik Sense報表嵌入web server

Qlik Sense是以Web為基礎的軟體,所以有一些方便的Web功能可以使用,例如本範例就是直接把PC變成執行網頁的程式。

356

前提:先裝好Qlik Sesne Desktop版本, 然後開著,

打開瀏覽器, 輸入http://localhost:4848/single,  一定要開著Qlik Sense喔, 不然就是拒絕連線

347

正確的話會這樣:

348

會列出一堆報表檔:

346

選其中一個報表:

346

當我選了一個圓餅圖, 它除了秀出來之外, 還可以秀HTML iframe原始碼:

349

如果把它貼到HTML檔裡:

350

執行之後,剛開始會看到這樣:

351

加一下語法, 讓它呈現大一點:style=’border:none;’ width="600″ height="600″

355

再執行一次, 出來了:

356

但滑鼠點擊它, 沒有任何反應, 因為剛剛那個console右上角有選項要設定:

裡面的勾勾都拿掉:

357

把一些互動的選項都勾起來:

358

它會再產生一次iframe原始碼, 再貼進html檔:

359

再執行一次, 相關的互動選項出來了:

360

後來我又在Windows 7的PC上設定IIS, 是可行的喔!我只key了IP位址, 它就秀出來了!

363

參考資料:
https://help.qlik.com/en-US/sense-developer/1.1/Subsystems/Workbench/Content/BuildingWebsites/HowTos/embed-single-object.htm

Google Cloud Platform GCP稽核記錄功能簡介

GCP用白話來講,就是雲端平台,台灣人最常用的是GCE (Google Compute Engine),簡單說就是雲端主機。

這篇文章…真的只是簡介,我只是要強調它的記錄功能,強到什麼時候誰開了一台主機,什麼時候主機被刪掉了,都能抓得出來,真的是超貼心啊,如下圖:

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-11-09-%e4%b8%8a%e5%8d%8811-31-55

圖太小了嗎?請看這個

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-11-09-%e4%b8%8a%e5%8d%8811-39-06

Windows Server 2008 不能下載檔案的解決方法

我上網查到說可以從網際網路選項來著手,要把安全性層級設定為自訂
結果那整個選項被反灰了
305
後來又上網再查,原來是要到這裡設定啊~
伺服器管理員,設定IE ESC,把兩個選項都改成off,就可以了。
%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-11-08-%e4%b8%8a%e5%8d%8811-43-47
設完之後,反灰就取消了
306
不過已經沒差,不用再調整了,已經可以直接下載檔案囉~