<commit_before>---
layout: post
title: '區塊鏈淺談1'
tags: ["BlockChain"]
date: 2017-10-19 22:02
comments: true
categories: 
- "區塊鏈系列"
---
因為2016~2017期間比特幣(Bitcoin)的迅速崛起，區塊鏈成為近期非常火熱的話題。這系列會盡可能介紹我這段時間對區塊鏈研究的一些心得想法與實作成果。

# 區塊鏈(BlockChain)是甚麼?

如果有人問我，以下就是我的回答：
- 「區塊鏈是一種信任機制，讓即使互不信任的對象也能相信彼此交流訊息的技術架構。」

許多剛接觸區塊鍊的人，都會以為區塊鏈就是比特幣，但這是不正確的。早在2008年，比特幣被中本聰發明並用代碼實踐，用來解決點對點彼此互不信任的交易問題。而在2013年底，比特幣經歷過暴漲與暴跌，到2017年初，短短兩個月內竄到比黃金還高的價錢，也造就了他不斐的地位。研究比特幣的人把背後的原理以「區塊鏈(Blockchain)]命名，從比特幣的技術中剝離出來，並去改寫開發。
<!--more-->

## 比特幣想解決的問題是?
現行的紙幣與交易，都需要一個大家都信任的第三方確保其價值，可能是政府印製鈔票、銀行發行信用卡或是公司拍賣股票。而比特幣卻想要創造一個不需要第三方擔保與維護的交易系統，只需要證明程式的正確性與安全性，這套程式就可以充當第三方機構，保護比特幣的價值。當初看比特幣時，覺得很像以前玩遊戲時所給的遊戲幣，兩者皆是程式所賦予價值，也都沒有實體。但為什麼比特幣可以達到比黃金還貴的價錢，但遊戲幣大都是100000:1以上交換現實貨幣。差別就在於發行與管理，比特幣無法人為發行，一切依照固定且公開透明的程式去執行，價值由程式賦予。但遊戲幣可以依據遊戲公司去操控，代碼無公開透明，價值取決於特定機構。究竟比特幣是如何做到的呢?一切就在其背後的關鍵技術─「區塊鏈」。

# 區塊鏈的基本要素：

* 分散式帳本：每個參與區塊鏈的成員都各自擁有整個網路的交流訊息資料，自行查詢
* 密碼學加密時間排序：以密碼學算法把這次交流訊息與時間一起加密，並再跟上一次交流訊息加密，達成一次一次的交流訊息按照時間排序環環相扣
* 共識演算法：參與區塊鏈的成員按照共同的「共識演算法」對交流訊息達成統一的結果，再去更新各自的「分散式帳本」，實現整個網路的統一性

# 區塊鏈的特性
* 去中心化：每個成員都擁有一分帳本，不需要中心資料庫
* 可追朔：以時間排序資料，每個交流訊息新增修改刪除皆有紀錄
* 不可竄改：以不可逆的密碼學算法加密，達成不可竄改

## 以下是區塊鏈的簡單示意圖
![](/wp-content/uploads/2017/10/2017-10-19-01.jpg)

每個成員都有一份區塊鏈帳本，以時間排序一個一個串聯，並利用共識演算法對資訊達成共同結果

# 區塊鏈的目的：
區塊鏈如此架構的目的是為了讓交流訊息成為可信任的，只要是參與的成員，都可以信任寫入帳本的交流信息。以比特幣來說，他的交流訊息就是比特幣的交易資訊，每個成員都可以信任比特幣的交易。但交流訊息，可不單單只能是幣值的交易，任何有價值的東西，都可以運用在交流訊息裡記錄。因此之後許多應用都是利用區塊鏈技術達到發行資產，像是Everledger發行鑽石資產，把鑽石的ID跟區塊鏈結合發行，確保真偽與追本朔源，加州大學利用區塊鏈發行數位證書，都是相同的原理。

# 區塊鏈與智能合約(Smart Contract)：
看到這裡你應該就可以想到智能合約是部屬在哪了，沒錯，在開發區塊鏈的人就想到，既然能在交流訊息放入有價值的資產交易，那可不可以在交流訊息裡放入程式碼呢?於是智能合約就誕生了，利用區塊鏈的特性，讓成員一起驗證程式碼的輸出結果，與防範程式碼的惡意修改，並且不需要第三方管理也能執行。

---
區塊鏈先這樣之後的下次寫<commit_msg>2017/10/19 posts-3<commit_after>---
layout: post
title: '區塊鏈淺談1'
tags: ["BlockChain"]
date: 2017-10-19 22:02
comments: true
categories: 
- "區塊鏈系列"
---
因為2016~2017期間比特幣(Bitcoin)的迅速崛起，區塊鏈成為近期非常火熱的話題。這系列會盡可能介紹我這段時間對區塊鏈研究的一些心得想法與實作成果。

# 區塊鏈(BlockChain)是甚麼?

如果有人問我，以下就是我的回答：
- 「區塊鏈是一種信任機制，讓即使互不信任的對象也能相信彼此交流訊息的技術架構。」

許多剛接觸區塊鍊的人，都會以為區塊鏈就是比特幣，但這是不正確的。早在2008年，比特幣被中本聰發明並用代碼實踐，用來解決點對點彼此互不信任的交易問題。而在2013年底，比特幣經歷過暴漲與暴跌，到2017年初，短短兩個月內竄到比黃金還高的價錢，也造就了他不斐的地位。研究比特幣的人把背後的原理以「區塊鏈(Blockchain)]命名，從比特幣的技術中剝離出來，並去改寫開發。
<!--more-->

## 比特幣想解決的問題是?
現行的紙幣與交易，都需要一個大家都信任的第三方確保其價值，可能是政府印製鈔票、銀行發行信用卡或是公司拍賣股票。而比特幣卻想要創造一個不需要第三方擔保與維護的交易系統，只需要證明程式的正確性與安全性，這套程式就可以充當第三方機構，保護比特幣的價值。當初看比特幣時，覺得很像以前玩遊戲時所給的遊戲幣，兩者皆是程式所賦予價值，也都沒有實體。但為什麼比特幣可以達到比黃金還貴的價錢，但遊戲幣大都是100000:1以上交換現實貨幣。差別就在於發行與管理，比特幣無法人為發行，一切依照固定且公開透明的程式去執行，價值由程式賦予。但遊戲幣可以依據遊戲公司去操控，代碼無公開透明，價值取決於特定機構。究竟比特幣是如何做到的呢?一切就在其背後的關鍵技術─「區塊鏈」。

# 區塊鏈的基本要素：

* 分散式帳本：每個參與區塊鏈的成員都各自擁有整個網路的交流訊息資料，自行查詢
* 密碼學加密時間排序：以密碼學算法把這次交流訊息與時間一起加密，並再跟上一次交流訊息加密，達成一次一次的交流訊息按照時間排序環環相扣
* 共識演算法：參與區塊鏈的成員按照共同的「共識演算法」對交流訊息達成統一的結果，再去更新各自的「分散式帳本」，實現整個網路的統一性

# 區塊鏈的特性
* 去中心化：每個成員都擁有一分帳本，不需要中心資料庫
* 可追朔：以時間排序資料，每個交流訊息新增修改刪除皆有紀錄
* 不可竄改：以不可逆的密碼學算法加密，達成不可竄改

## 以下是區塊鏈的簡單示意圖
![](/wp-content/uploads/2017/10/2017-10-19-01.JPG)

每個成員都有一份區塊鏈帳本，以時間排序一個一個串聯，並利用共識演算法對資訊達成共同結果

# 區塊鏈的目的：
區塊鏈如此架構的目的是為了讓交流訊息成為可信任的，只要是參與的成員，都可以信任寫入帳本的交流信息。以比特幣來說，他的交流訊息就是比特幣的交易資訊，每個成員都可以信任比特幣的交易。但交流訊息，可不單單只能是幣值的交易，任何有價值的東西，都可以運用在交流訊息裡記錄。因此之後許多應用都是利用區塊鏈技術達到發行資產，像是Everledger發行鑽石資產，把鑽石的ID跟區塊鏈結合發行，確保真偽與追本朔源，加州大學利用區塊鏈發行數位證書，都是相同的原理。

# 區塊鏈與智能合約(Smart Contract)：
看到這裡你應該就可以想到智能合約是部屬在哪了，沒錯，在開發區塊鏈的人就想到，既然能在交流訊息放入有價值的資產交易，那可不可以在交流訊息裡放入程式碼呢?於是智能合約就誕生了，利用區塊鏈的特性，讓成員一起驗證程式碼的輸出結果，與防範程式碼的惡意修改，並且不需要第三方管理也能執行。

---
區塊鏈先這樣之後的下次寫
{'fraction_non_alphanumeric': 0.10865010475905418, 'fraction_numerical': 0.036216701586351395, 'mean_word_length': 16.138461538461538, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '808340', 'n_tokens_mistral': 3656, 'n_tokens_neox': 4140, 'n_words': 78}