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

 

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
不過已經沒差,不用再調整了,已經可以直接下載檔案囉~

VMware 錯誤訊息 無法裝Server 2008 R2 64位元

This virtual machine is configured for 64-bit guest operating systems. However, 64-bit operations is not possible.
我想說我的PC是64位元,為何不能裝VM啊?302
它的解法是
Verify that the BIOS/firmware settings enable Intel VT-x and disable ‘trusted execution.’
這功能其實我找不到, 但我重開進去BIOS找到相關設定了:
只要去BIOS把CPU裡面的「Intel 虛擬化技術」打開就好了,再重開進VMware就可以順利安裝囉~

Qlik Sense教學 set analysis語法 – 比較不同選項的值

Qlik Sense是一個簡單到連一般使用者都可以用的BI軟體(或稱為資料視覺化的工具)

而set analysis這個語法感覺超複雜的,之前每次都看不懂,因為太複雜了,今天有時間卯起來研究一下。

簡單說就是在同一張銷售分析圖表中,我想要比較兩個不同地區的銷售,例如北美和南美,我可以做兩張圖表,但我點了北美,兩個回表都呈現北美,點了南美,兩個回表都呈現南美,永遠都秀同一個地方,如下圖:

192

兩張圖表數字都一樣,該如何秀出不同地區呢?這就要介紹set analysis了,

基本語法是

Aggregation((set identifier) field)

總合函數((設定識別符) 欄位名稱)

以Sales欄位為例,你可以試試看

sum( {$} Sales )
依照你現在選擇的銷售額加總, 等同於sum(Sales)
這個效果跟平常一樣,就不特別秀出

sum( {1} Sales )
秀出整個應用程式中全部加總的銷售額,不管你選什麼選項,它都保持不變。
如下圖的下半部,我選了一個客戶,但這裡依然秀出全部客戶的加總,即使我選其他年份、季度,仍然是秀全部的銷售額。

193

sum( {$1} Sales )
這個語法超特別,返回先前選擇的銷售額,就是它會顯示上一個選擇的銷售額,如下圖:

我一開始只選擇2009年的銷售額,上半部依我所選的呈現
194

而當我加選了EMEA這個地區的銷售額(就是2009年的EMEA),下半部則呈現2009年的銷售額(就是上一個選項):

195

這功能可以拿來當作簡單的比較,但對於不知道這個功能的主管,很難記得可以這樣操作,而且仍無法呈現兩個不同地區的資料。

加強版的語法

Aggregation ({set_identifier}field)
總合函數({設定識別符 } 欄位)

這樣就可以指定固定的欄位值了,以下各種語法的結果如下(上半部是原始加總設定,下半部是set analysis語法呈現結果):

Sum({1}LineSalesAmount)
秀出EMEA加總, 如果點擊其他變數, 例如點年份,都不會影響,它依舊呈現EMEA全部銷售額

196.png

Sum({$}LineSalesAmount)
秀EMEA加總, 我點其他變數, 圖表會跟著變動, 但如果我點其他Divison, 它不會跟著變動
(注意:本語法和前一個的差異,只有1變成$而已)

197

Sum({$}LineSalesAmount)
我選什麼DivisionName, 它都不會動, 永遠秀所有Division的銷售額加總,如果點其他維度,才會跟著變動

198

Sum({$}LineSalesAmount)
EMEA是指歐洲、中東、美洲,我設定EMEA跟南美, 選到區域內的國家會跟著動, 選到美國, 加拿大等不在區域內的話,不會顯示, 而選擇年份和地區以外的其他維度的話,都會跟著變動,如下圖:

還沒做任何選擇之前,它已經限縮在2014年的EMEA和南美的資料了:
199

下圖是我故意選擇加拿大,因為它不在EMEA和南美,所以不會顯示
200

sum ( {$ } LineSalesAmount)
注意看我前面有個減號,而"*3″表示以3為結尾的年份(只有2013o年),它會
包含全部的值, 但不包含2013年的值, 選別的年份, 它不受影響, 但選別的維度, 會跟著變動,如下圖:

201

sum ( {$ } LineSalesAmount)
包含全部的值, 但不包含A開頭的客戶, 選任何別的客戶, 不受影響, 但選別的維度, 圖表會跟著變動, 下面可以看到上下兩圖有些微的差異, 就是因為少了A開頭的客戶的銷售額:

202

sum ( {$ } LineSalesAmount)
只包含2011,2013的值, 選別的年, 不受影響,但選別的維度, 圖表會跟著變動

203

sum ( {$ 2011} LineSalesAmount)
這個我第一次看到還真的傻掉!有這麼奇怪的語法啊~~
其實就是只包含2012的值, 選別的年, 不受影響,但選別的維度, 圖表會跟著變動

204

好了,以上介紹到這裡,希望各位Qlik Sense的使用者可以看得懂啊~~呵呵!!

在Android手機上使用圖片搜尋

我是看這篇學的:
https://www.youtube.com/watch?v=BltCxzsN7w8

注意不是搜尋圖片喔,是已經有圖片,但是想知道圖片的由來,或是圖片中的人是誰,男生通常是查美女啦,哈哈哈~

先用Chrome進去www.google.com,看到以下畫面:

Screenshot_2016-09-28-20-24-36.jpg

你會以為點那個圖片就可以用圖片搜尋,其實不是,它還是要輸入關鍵字來搜尋圖片,不是用手機上的圖片來搜尋。你要點右上角的三個點,然後切換為電腦版網站:

Screenshot_2016-09-28-20-24-40.jpg

接下來看到右上角就有真正的圖片搜尋了,以下就像操作電腦一樣,選擇圖片上傳:

screenshot_2016-09-28-20-25-01

出現了圖片搜尋按鈕:

screenshot_2016-09-28-20-25-14

點「上傳圖片」,「選擇檔案」

screenshot_2016-09-28-20-25-22

重點來了!!這裡要選文件,看起來很怪,但就是選文件:

screenshot_2016-09-28-20-25-27

接下來有兩種情況:

1.用Line收到的圖片來搜尋(注意是你已經儲存在手機的Line圖片),那你就選下圖中的「圖片」,它是指所有手機圖片的資料夾

2.我的圖片,不管是Line, Facebook, 或自己下載的圖片,都用Google相簿自動上傳,所以我就遻最下面的「相簿」

screenshot_2016-09-28-20-26-55

我有一個Line群組的朋友每天都在發送早安少女,我就挑了一張美女圖來搜搜看:

Screenshot_2016-09-28-20-29-23.jpg

等它上傳:

screenshot_2016-09-28-20-29-27

找到了!

Screenshot_2016-09-28-20-29-39.jpg

步驟還真的有點多,Chrome應該要改善這個功能才是啊!