首頁

  • 【聖人大盜】|選擇夥伴 即刻行動【聖人】vs【大盜】

  • Bitcoin Rap Battle Debate: Hamilton vs. Satoshi (BITCOIN GIVEAWAY) [feat. EpicLloyd, TimDeLaGhetto]

     

  • Systems and methods for creating a secure digital identity

    Abstract
    Methods and systems for creating a verifiable digital identity are provided. The method includes verifying a device belongs to a user. The method also includes tying the device to a private key. The method also includes obtaining a first user-generated item comprising an identifiable feature. The method also includes digitally signing the first user-generated item to generate a secure digital artifact. The method also includes uploading the secure digital artifact and the first user-generated item to an auditable chain of a public ledger. The method also includes verifying a digital identity of the user by auditing the auditable chain. The method also includes obtaining a second user-generated item generated comprising the identifiable feature. The method also includes comparing the first and second user-generated items. The method also includes uploading the second user-generated item to the public ledger when the comparing is within a threshold.
  • 借鑑瑞典數位轉型經驗 鉅亨網發表區塊鏈數位認證平台「Yes ID」

    【活動現場/台北】鉅亨網在2019/03/27舉辦了「北歐區塊鏈遙望台灣經驗」活動,邀請了鉅亨網總經理楊定國、區塊科技執行長黃敬博、歐盟執委會及瑞典數位創新中心專家顧問 Andreas Nilson,以及瑞典 Chromaway 技術總監 August Bostford 共同出席。

    「Bank ID」瑞典國民的身份認證系統

    會中 Andreas Nilson 向聽眾們分享瑞典政府是如何利用「Bank ID」來打造瑞典國民的身份認證系統,背後委託瑞典 8 間銀行共同合作:整個案例從 2003 年開始,瑞典第一個 e-ID 發布,用來更換稅務地址(瑞典不一定有身分證,以登記的地址作為稅收憑據),到了 2005 年數位身份的服務擴展到更多的政府服務,使用人數達到 10 萬人。

    2010 年 Bank ID 則發行了行動版,民眾將能更便利使用 Bank ID 的服務, 2012 年所有瑞典銀行已經都能支援 Bank ID ,許多開發者以 Bank ID 為基礎開發許多延伸應用,像是 Swish 的行動支付功能就是其中一個使用案例。

    現在 Bank ID 的使用者已經超過 800 萬(超過 97.5%)位瑞典公民,每一個人都擁有一個或以上的 Bank ID,總和超過 20 億次使用,目前大多使用場景都是私部門的商業應用,使得瑞典的無現金支付快速成長,成為媒體報導中的「無現金國家」。

    Andreas 認為這個經驗證實了未來的金融創新都需要身份認證,另外,許多當地的新創公司也都利用這項 Bank ID 服務得以直接無痛跟使用者對接,舉例來說,其中最受歡迎的應用是當地的線上賭場,使用者直接透過 Bank ID 進行身份認證與金流對接。

    至於為何 Bank ID 在瑞典可以如此成功,他提到成功的因素有三種:第一個是從商業出發,不是由公部門領導才得以掌握市場需求,第二個原因是 Bank ID 透過行動裝置貼近使用者生活,順利讓使用者接受、學習使用這項數位服務;第三個是銀行上的共同合作,所有使用者都能無縫使用,而不是僅僅只有各家銀行內部執行。

    Chromaway:資料庫導向的底層區塊鏈技術公司

    Chromaway 技術總監 August Bostford 則以區塊鏈的角度討論 Bank ID,認為數位身份就像是每個人的私鑰,每一個使用者都應該確實掌握自己的資料權限,但在實際應用上,仍然需要一個強而有力的權威機構來進行驗證。

    數位身份實作上必須運用區塊鏈的分散式資料庫特性,串連銀行間彼此間的節點,以程式碼進行共識,除了可以避免傳統銀行間繁雜的紙本認證作業,也能消除資料庫掌握在單一方手中的弊病。

    另外,更重要的是區塊鏈能提供溯源的功能,舉例來說, Chromaway 底下的區塊鏈產品 Postchain:提供串連資料庫(SQL)的相容性應用,對於開發者來說,利用這個平台開發能帶來更友善的資料庫查詢應用。

    目前 Postchain 已經被應用在瑞典的土地登記上,透過將合約交易所產生的 Hash 值上鏈再對外串接合約內容,並整合瑞典電信 Telia ID 作認證,但他們也表示未來會改為瑞典的 Bank ID 作為外部身份認證的平台,除了第三方權威機構的加入之外,多了一個外部平台的保護也能避免使用者遺失私鑰的問題,如果使用者遺失私鑰的話,還能向外部機構請求復原。

    可惜的是,目前瑞典還沒有正式承認數位簽章的合法性,但歐盟最近的 EIAD 法律已經要求歐盟國家承認數位簽章的效力,因此他們也在努力開發合約範本來符合歐盟的法規,力求能無縫接軌歐盟未來的法律遵循需求。

    鉅亨網推進台灣數位身份發展 發表區塊鏈數位認證平台「Yes ID」

    活動上,鉅亨網推出了自家的區塊鏈身分認證平台「Yes ID」,總經理楊定國解釋鉅亨網所推出的「Yes ID」服務:這是一項以區塊鏈平台為基礎的數位認證服務,透過分散式資料庫保障使用者的資料安全,並提供快速登入的良好使用者體驗。

    從他們的營運經驗來看,要將客戶從「鉅亨網」導流到「鉅亨網基金」,中間的認證過程非常不友善,在導流的過程築起一個高強,而「數位認證」的產品給了他啟發,為了讓客戶快速通過認證、導入並使用其他平台的服務,未來身份認證必須從行動裝置上著手,貼近使用者偏好。

    另一方面,他也提到 2020 年台灣的數位身份前導計畫即將把數位認證帶入台灣,他們的目標是透過實名制、安全的實名登入服務帶給客戶更好的使用者體驗。

    他更舉出保險公會在 2 月 12 日提出「保險區塊鏈聯盟平台」以及「中華電信行動身份認證」,表示台灣這幾年在數位認證服務上一直都很努力,但這些都僅止於公司內部的身份數位化,欠缺商業間的共同合作,實務上應該要建立一條通用的認證平台,讓使用者無縫串接各種服務。

    產品使用上, Yes ID 會經由手機來進行驗證,並要求伺服器進行雙向認證,來避免駭客的侵入,此外也將透過生物辨識,像是指紋、臉部辨識加強防護,其中的核心概念是協助使用者加強保存私鑰,在私鑰交還給使用者後,接下來所衍生的應用將涵蓋快速登入、支付認證以及數位簽章。

    Yes ID 初步將應用在鉅亨網基金當中,提供客戶快速的登入與基金投資體驗,現場也展示了 Yes ID 的註冊過程以及鉅亨網基金的 Yes ID 登入過程,並支援指紋快速登入功能,使用者只要通過認證便可輕鬆購買基金。

    他也認為數位認證是接下來金融科技發展的重要基礎,產業中應該要有一個統一的認證服務,「Yes ID」未來將與其他的憑證發行機構合作,逐步拓展生態系,另一方面, GDPR 未來將扮演重要的角色,對於使用者的保護將更加完善, Yes ID 在未來也將隱私權交還使用者。

    活動最後是區塊科技執行長黃敬博帶來的演說,區塊科技是從數位鑑識服務出發,過去協助法院進行犯罪的數位採證。區塊科技目前已推出一項應用層產品:以 Postchain 為底層技術的「合約存證系統 DG-Secure」,未來將整合「Yes ID」的認證服務,進行線上合約的認證、簽署與保存,使用介面將以行動裝置為主。

    未來私鑰將保存在使用者的手機中,以確保使用者持有私鑰,而不是雲端伺服器上。至於 DG-Secure 目前在 AWS 上運作,未來預計將節點託管到各合作單位。

     

  • 「Hedera Hashgraph」是什麼項目?為什麼讓科技巨頭 IBM 宣布公開支持

    佈式帳本 Hedera Hashgraph 於 12 日宣布其治理委員會再添兩名成員:跨國科技公司 IBM、印度電信公司 Tata Communication。Hedere Hashgraph 的治理委員會是由不同領域且具有影響力的公司所組成。目前該委員會有 8 名成員,最多會有 39 名成員。

    除了 IBM 和 Tata Communication 以外,包括德國電信公司 Deutsche Telekom、跨國律師事務所 DLA Piper、區塊鏈新創 Swisscom 等知名企業都是現有成員。

    – Hedera Hashgraph 的治理委員會成員,圖片來源 Hedera Hashgraph 官網 –

    Hedera Hashgraph 治理機制

    Hedera Hashgraph 治理委員會並不是像 EOS 的超級節點負責出塊,而是負責維持整個網路的運作,包括 Hedera Hashgraph 的未來走向、代碼提案審核、維持一定節點數量、確保不會有網路分裂的分叉情形,並透過治理委員的影響力,許 Hedera Hashgraph 一個可落地應用的未來。

    其執行長曼斯・哈蒙(Mance Harmon)說道:

    我們(治理委員)是全球多個產業的代表公司,因為 Hedera Hashgraph 希望能夠全球化。

    為了確保治理委員會不會淪為特定企業的分散式帳本,Hedera Hashgraph 治理委員的任期為三年,最多連任一次。此外,為了公平,每個委員的投票權利是一樣的。

    Hedera Hashgraph 在去(2018)年,已經透過未來簡單代幣協議(Simple Agreements for Future Tokens,SAFTs)完成三輪的融資,共募得 1.24 億美元。未來簡單代幣協議並不是 ICO,而是可以在未來獲得 Hedera Hashgraph 的代幣。

    Hedera Hashgraph 不是區塊鏈

    Hedera Hashgraph 並不是區塊鏈,它將自己定義為「底層分佈式網路層」。一般的區塊鏈是線性結構,將交易包成區塊,再根據其共識演算法決定由哪個節點出塊;Hedera Hashgraph 則是採用「謠言算法(Gossip about  Gossip)」以及「虛擬投票(Vitual Voting)」。

    – 區塊鏈 VS Hashgraph,圖片來源 Hedera Hashgraph 白皮書 – 

    其運作方式為,每個節點需要向鄰近的節點廣播自己打包的交易傳給 2 個節點,其它節點收到之後,將先前收到的交易和最新收到的交易打包成訊息,訊息包含:

    1. 交易明細。
    2. 時間戳。
    3. 數位簽章。
    4. 最新收到訊息的雜湊值。
    5. 要發給其它節點訊息的雜湊值。

     

    透過這種互相傳遞訊息的共識演算法,一傳十、十傳百,在大部分的節點都收到了以後,便可確認其交易為真;再透過分析節點發出交易的時間戳,取中位數,藉此安排交易順序,避免雙重攻擊。

    – Hedera Hashgraph 演算法及每個交易封包需要包含的資訊 –

    Hedera Hashgraph 執行長哈蒙說道:

    「過去,這個系統已經小規模運作之下,證明是可行的。比特幣雖然安全,但擴展性表現差勁,Hedera Hashgraph 是第一個打破這種限制,既可以提供擴展性,又可以保持安全性。」

    公有鏈和私有鏈的合作

    IBM 對於 Hedera Hashgraph 的演算法服務非常感興趣。 IBM 區塊鏈的產品經理表示布萊恩・葛羅斯(Bryan Gross)說道:

    「最令人期待的就是還在架構的 Hedera Consensus Service。這個服務有可能創造工作證明演算法的革新,例如比特幣跟以太坊。」

    Hedera Consensus Service 是 Hedera 未來會提供的服務,這個演算法將同時提供擴展性、安全性、隱私性。根據官網說明,在這個演算法中,交易雙方在交易時不需要將交易公布,雙方會將交易加密,再藉由 Hedera Hashgraph 的節點確認此交易為真,但是節點無法看到其中的交易。

    而 IBM 區塊鏈平台可能會將 Hedera Consensus Service 的信任模型搬到 IBM 的企業區塊鏈 Hyperledger Fabric,Hedera Hashgraph 執行長哈蒙說道:

    「Hedera Consensus Service 使得 Hyperledger 可以排序區塊鏈上交易的先後順序,不需要確認節點是否共謀,得到公有鏈的信任模型。」

  • 【動區專題】區塊鏈與他的挑戰者們,IOTA Tangle 與 Swirlds Hashgraph 基礎比較

    區塊鏈的挑戰者殺出

    自區塊鏈推出,許多人都指出了區塊鏈的不同問題,有的也提出挑戰。

    面對革新我們可以從兩種方式去突破,一種是修正現有的區塊鏈,例如使用側鏈或新的共識協議。

    或者,我們也可提出新方法來解決問題。例如,基於有向無環圖技術(Directed Acyclic Graph;DAG)而出現的IOTA Tangle和Swirlds Hashgraph最近都獲得了高度關注。

     

    有向無環圖(Directed Acyclic Graph;DAG)

    DAG是一個圖,一個有向圖,且從任一點出發都沒有回到此點的路徑,因此不會產生循環。

     

    DAG 有向無環圖。圖片來源:維基百科

     

    DAG最終不一定會成為樹,但是樹一定會是個DAG。

    另外,DAG可以進行拓樸排序,以上這些都使它被認為在數據結構上比區塊鏈更有優勢。

    在DAG中也有節點和連接,因此也具有傳輸功能。

     

    (註:樹有其基本定義,首先不能有環,其次每個child只能有一個parent,沒有parent的node稱為root,並且要以最少的edge連到所有的node。要理解DAG之所以最終不一定會成為樹,可以想像一個正三角形,三個點分別為A、B、C,若以A做為root,AàB,AàC,BàC,由於有向的關係,這樣並不形成一個環,符合DAG的定義。但仔細看C會有A和B兩個parent,這樣就不符合樹的定義了。因此,DAG不一定為樹,但樹一定為DAG。)

     

    DAG並沒有一個一定的模型,IOTA Tangle和Swirlds Hashgraph就非常不同。

    同時,雖然很少人這樣說,但區塊鏈也可視為DAG的一種鏈狀型態。

    如果從硬分叉的基本概念來說以太坊也可以視作DAG的一種實現,儘管主流還是將之視為區塊鏈。

     

    IOTA Tangle:非認許制帳本(Permissionless Ledger)

    IOTA挑戰了目前非認許制區塊鏈的問題,特別是機器經濟(machine economy)和微支付(micropayment)的用例。

    IOTA主要挑戰區塊鏈的三個面向分別為,處理大量交易的可擴展性、高昂的交易費用、用戶(發出交易)和礦工(批准交易)的二分法。

    簡而言之,IOTA採用了Tangle,這是一種使用者進行交易的DAG。

    它被稱為「bundle of transactions」,簡單來說就是一堆交易的DAG圖。

    我們可以從IOTA的白皮書得知,新交易必須先批准兩個未經批准的交易,稱為tips(灰色方塊對白色方塊進行批准),然後才能置入Tangle中。

    這筆新交易將在之後的交易中得到批准,這個過程排列成Tangle。

     

     

    IOTA的Tangle網路概念圖。圖片來源:IOTA-Tangle白皮書

     

    Tangle中沒有專門供採礦的節點,因為每筆交易本身都是用來批准其他兩筆交易的「礦工」。

    在不需要激勵礦工的工作量之下,也就不需要交易費用,免費的轉帳是機器經濟和微支付的基礎。

    DAG的每筆交易都會透過蒙特卡羅演算法來維持tip的進行與挑選。

    IOTA有自己的虛擬貨幣稱為iota,而帳本就在Tangle中。

     

    Swirlds Hashgraph:認許制帳本(Permissioned Ledger)的共識協議(Consensus protocol)

    Swirlds Hashgraph的共識協議承諾在處理大量交易時保持「快速、安全和公平」。

    • 根據官網測試數據,快速代表速度將達到驚人的250000 TPS。
    • 而安全則是建立在Hashgraph採用非同步拜占庭容錯(asynchronous Byzantine Fault Tolerant;aBFT)演算法,這是假定社群中是有惡意行為存在的,而這也是真的,例如DDoS攻擊、殭屍網路和防火牆都可視作惡意行為。

    藉此,將不會有任何一個節點可以阻礙共識的達成,或在達成共識後做出修改,也就可以抵禦上述惡意行為的攻擊或阻礙。

    • 公平的點在於,時間戳(timestamp)具一致性,每一個事件(event)和事件中的交易都有其順序。

    Hashgraph是一個認許制的實現,適合部署於企業或企業聯盟,適合一群互相認識的參與者共用交易資料。

    但嚴格來說,Hahgraph不只是協議,更像是在底層的出塊層,而非一個完整的系統。

    Hashgraph的運作原理有兩個重點

    • 謠言算法(gossip about gossip)
    • 虛擬投票(virtual voting)。

    首先,下圖中的圓圈被稱為「事件」(event),而謠言(gossip)代表他們知道的且他們認為其他人不知道的交易項目,經過類似在辦公室內謠言傳播的方式,一段時間後,所有人都將知道此謠言。

    每個節點都會傳播經過簽名的新交易和原有交易信息,以及從鄰近節點傳來的固有交易信息。

    當某個隨機選出的節點接收到其他節點一系列的交易信息(hash「parent b」)後,他將重組並加入自己原先知道的交易信息(hash 「parent a」),並簽名現下的新交易,成為一個事件(event n),並繼續傳播下去。

    以此圖為例Alice建立一個event n來自於兩個parent,一個是Alice原有的gossip作為parent a,另一個是Bob與他同步的gossip作為parent b,這個event內也包含Alice在這個當下要進行的交易信息。

    透過加密將事件(events)正確鏈接起來,每個人都可以看到事件鏈接成的完整圖形,經過謠言算法後,每個節點都將儲存完整的網路歷史,因此要達成共識將不再需要大規模的通信。

    每個節點都可獨立進行投票,在絕對多數決情況下,經由強可見(strongly seeing)、知名見證人(famous witness)和創建輪次(round created)及接受輪次(round received)的計算,就可以在沒有第三方參與的情況下,根據時間戳(timestamp)對交易達成共識,這就是所謂的「虛擬投票」(virtual voting)。

     

    Swirlds Hashgraph 的共識機制。圖片來源:Swirlds Hashgraph白皮書

     

    此圖是為Hashgraph的運作模式圖,五位參與者在互相共有事件之後形成共識。Hashgraph演算法保證共識能夠達成。

    值得一提的是,今年三月Swirlds在發布會上宣布了一個名為Hedera hashgraph公有帳本平台。

    這個平台是非認許制的,這意味著每個人都可以參與hashgraph共識,但同時理事會擁有認許的治理權。

    目前理事會將有39名成員,包含Swirlds在內,且有平等的投票權利。

    根據發明hashgraph演算法的Swirlds co-founder兼CTO Leemon Baird表示:

    我可以猜測你會如何投票,但是你不需要投票,所以你可以免費達成共識。這是人類發送信息最快的方式。

    So I can guess how you would vote, but you don’t need to vote, so you reach consensus for free. It’s the fastest way known to humanity to send information.

    Hedera擁有原生的加密貨幣,如人們所期望的,也可以運行智能合約。

    在進行更全面的比較之前,我們期待Hedera提供更多資訊。

     

    與新技術比較

    IOTA和Hashgraph被廣泛認為是現有區塊鏈技術的挑戰者。

    在此,我們把他們放在一起檢視,試著合理的比較他們。

    IOTA Tangle對比特幣和以太坊來說是個強力的挑戰者,因為他們都是非認許制的,並且都擁有原生的加密貨幣。

    在相似處之外,IOTA解決了不適合機器經濟的可擴展性和高交易費的缺點。

    雖然IOTA在第一次實現時遇到許多問題,但從技術的角度來看,我們仍然可以看出區塊鏈跟DAG在非認許制的競爭。

    目前,IOTA的缺點在於不支持智能合約。儘管如此,一些第三方仍在努力設立IOTA上的代幣標準。

    至於Hashgraph,則常在速度上被提出來比較,例如Hashgraph的速度每秒幾十萬筆,而Bitcoin每秒才3-7筆,Ethereum每秒也才10-20筆。

    比特幣和以太坊需更加努力保持非認許制的特點,這是與Hashgraph之間的關鍵區別。

    而Hashgraph更該與現有的認許制區塊鏈實現做比較,例如Hyperledger的實現。

    或者,當Hashgraph做出如比特幣或以太坊的非認許制網絡時來做比較。不能只是個公有帳本,要是真正的非認許制實現才可。

    此外,Hashgraph被定位為一個共識機制,可在其上建構一個更完整的架構。在可插拔的(Pluggable)的情況下,不該只是競爭,更可進行協作。

    但Swirlds目前的商業模式更多發展在企業軟體方面,他們可能更想自己建構整個平台。

    目前,Tangle和Hashgraph之間無須作過多比較,因為兩者處理不同的用例,使用DAG上也沒有太多重疊。

    兩家公司都還在開發他們的技術和生態系統,之後將看到是否會有重疊,例如Tangle在企業中的使用,或者Hashgraph部屬的更加非認許制。

     

    百家爭鳴的區塊鏈技術

    正如開頭所述,新的DAG技術都正挑戰著現有的區塊鏈,無論認許制或非認許制。

    了解並做出比較,讀者將可以有更巨觀的視野。

    撇開投資價值,新方法的出現都是非常鼓舞人心的,讀者可繼續關注他們的發展,以及社群與業界對他們的接受度。

     

    (本文節錄自KC TamBlockchain and the Challengers

  • Sidechains vs Plasma vs Sharding

    Special thanks to Jinglan Wang for review and feedback

    One question that often comes up is: how exactly is sharding different from sidechains or Plasma? All three architectures seem to involve a hub-and-spoke architecture with a central “main chain” that serves as the consensus backbone of the system, and a set of “child” chains containing actual user-level transactions. Hashes from the child chains are usually periodically published into the main chain (sharded chains with no hub are theoretically possible but haven’t been done so far; this article will not focus on them, but the arguments are similar). Given this fundamental similarity, why go with one approach over the others?

    Distinguishing sidechains from Plasma is simple. Plasma chains are sidechains that have a non-custodial property: if there is any error in the Plasma chain, then the error can be detected, and users can safely exit the Plasma chain and prevent the attacker from doing any lasting damage. The only cost that users suffer is that they must wait for a challenge period and pay some higher transaction fees on the (non-scalable) base chain. Regular sidechains do not have this safety property, so they are less secure. However, designing Plasma chains is in many cases much harder, and one could argue that for many low-value applications the security is not worth the added complexity.

    So what about Plasma versus sharding? The key technical difference has to do with the notion of tight coupling. Tight coupling is a property of sharding, but NOT a property of sidechains or Plasma, that says that the validity of the main chain (“beacon chain” in ethereum 2.0) is inseparable from the validity of the child chains. That is, a child chain block that specifies an invalid main chain block as a dependency is by definition invalid, and more importantly a main chain block that includes an invalid child chain block is by definition invalid.

    In non-sharded blockchains, this idea that the canonical chain (ie. the chain that everyone accepts as representing the “real” history) is by definition fully available and valid also applies; for example in the case of Bitcoin and Ethereum one typically says that the canonical chain is the “longest valid chain” (or, more pedantically, the “heaviest valid and available chain”). In sharded blockchains, this idea that the canonical chain is the heaviest valid and available chain by definition also applies, with the validity and availability requirement applying to both the main chain and shard chains. The new challenge that a sharded system has, however, is that users have no way of fully verifying the validity and availability of any given chain directly, because there is too much data. The challenge of engineering sharded chains is to get around this limitation by giving users a maximally trustless and practical indirect means to verify which chains are fully available and valid, so that they can still determine which chain is canonical. In practice, this includes techniques like committees, SNARKs/STARKs, fisherman schemes and fraud and data availability proofs.

    If a chain structure does not have this tight-coupling property, then it is arguably not a layer-1 sharding scheme, but rather a layer-2 system sitting on top of a non-scalable layer-1 chain. Plasma is not a tightly-coupled system: an invalid Plasma block absolutely can have its header be committed into the main Ethereum chain, because the Ethereum base layer has no idea that it represents an invalid Plasma block, or even that it represents a Plasma block at all; all that it sees is a transaction containing a small piece of data. However, the consequences of a single Plasma chain failing are localized to within that Plasma chain.

    Sharding Try really hard to ensure total validity/availability of every part of the system
    Plasma Accept local faults but try to limit their consequences

    However, if you try to analyze the process of how users perform the “indirect validation” procedure to determine if the chain they are looking at is fully valid and available without downloading and executing the whole thing, one can find more similarities with how Plasma works. For example, a common technique used to prevent availability issues is fishermen: if a node sees a given piece of a block as unavailable, it can publish a challenge claiming this, creating a time period within which anyone can publish that piece of data. If a block goes unchallenged for long enough, the blocks and all blocks that cite it as a dependency can be reverted. This seems fundamentally similar to Plasma, where if a block is unavailable users can publish a message to the main chain to exit their state in response. Both techniques eventually buckle under pressure in the same way: if there are too many false challenges in a sharded system, then users cannot keep track of whether or not all of the availability challenges have been answered, and if there are too many availability challenges in a Plasma system then the main chain could get overwhelmed as the exits fill up the chain’s block size limit. In both cases, it seems like there’s a system that has nominally O(C^2) scalability (where C is the computing power of one node) but where scalability falls to O(C) in the event of an attack. However, sharding has more defenses against this.

    First of all, modern sharded designs use randomly sampled committees, so one cannot easily dominate even one committee enough to produce a fake block unless one has a large portion (perhaps >1/3) of the entire validator set of the chain. Second, there are better strategies to handling data availability than fishermen: data availability proofs. In a scheme using data availability proofs, if a block is unavailable, then clients’ data availability checks will fail and clients will see that block as unavailable. If the block is invalid, then even a single fraud proof will convince them of this fact for an entire block. An O(1)-sized fraud proof can convince a client of the invalidity of an O(C)-sized block, and so O(C) data suffices to convince a client of the invalidity of O(C^2) data (this is in the worst case where the client is dealing with N sister blocks all with the same parent of which only one is valid; in more likely cases, one single fraud proof suffices to prove invalidity of an entire invalid chain). Hence, sharded systems are theoretically less vulnerable to being overwhelmed by denial-of-service attacks than Plasma chains.

    Second, sharded chains provide stronger guarantees in the face of large and majority attackers (with more than 1/3 or even 1/2 of the validator set). A Plasma chain can always be successfully attacked by a 51% attack on the main chain that censors exits; a sharded chain cannot. This is because data availability proofs and fraud proofs happen inside the client, rather than inside the chain, so they cannot be censored by 51% attacks. Third, the defenses provided by sharded chains are easier to generalize; Plasma’s model of exits requires state to be separated into discrete pieces each of which is in the interest of any single actor to maintain, whereas sharded chains relying on data availability proofs, fraud proofs, fishermen and random sampling are theoretically universal.

    So there really is a large difference between validity and availability guarantees that are provided at layer 2, which are limited and more complex as they require explicit reasoning about incentives and which party has an interest in which pieces of state, and guarantees that are provided by a layer 1 system that is committed to fully satisfying them.

    But Plasma chains also have large advantages too. First, they can be iterated and new designs can be implemented more quickly, as each Plasma chain can be deployed separately without coordinating the rest of the ecosystem. Second, sharding is inherently more fragile, as it attempts to guarantee absolute and total availability and validity of some quantity of data, and this quantity must be set in the protocol; too little, and the system has less scalability than it could have had, too much, and the entire system risks breaking. The maximum safe level of scalability also depends on the number of users of the system, which is an unpredictable variable. Plasma chains, on the other hand, allow different users to make different tradeoffs in this regard, and allow users to adjust more flexibly to changes in circumstances.

    Single-operator Plasma chains can also be used to offer more privacy than sharded systems, where all data is public. Even where privacy is not desired, they are potentially more efficient, because the total data availability requirement of sharded systems requires a large extra level of redundancy as a safety margin. In Plasma systems, on the other hand, data requirements for each piece of data can be minimized, to the point where in the long term each individual piece of data may only need to be replicated a few times, rather than a thousand times as is the case in sharded systems.

    Hence, in the long term, a hybrid system where a sharded base layer exists, and Plasma chains exist on top of it to provide further scalability, seems like the most likely approach, more able to serve different groups’ of users need than sole reliance on one strategy or the other. And it is unfortunately not the case that at a sufficient level of advancement Plasma and sharding collapse into the same design; the two are in some key ways irreducibly different (eg. the data availability checks made by clients in sharded systems cannot be moved to the main chain in Plasma because these checks only work if they are done subjectively and based on private information). But both scalability solutions (as well as state channels!) have a bright future ahead of them.

  • 前世今生:在台灣的「反送中」和「反服貿」

  • GDPR:Can blockchain systems comply with privacy regulations?

    The French Data Protection Authority (DPA), members of the EU Parliament and the EU Blockchain Observatory and Forum, are among the few governmental actors that have publicly acknowledged the tensions between blockchain and the GDPR, in particular the rules around the right to erasure, right to rectification and the principle of data minimization.

    Some companies have simply blocked European residents from accessing their websites or services, but this may no longer be a feasible solution with California’s own privacy law (California Consumer Privacy Act) coming into effect in 2020 and the recent push for a U.S. federal privacy law.

    A number of proposed solutions to GDPR compliance exist, such as zero-knowledge proofs and destruction of private keys, but it remains unclear whether they constitute methods of erasure or anonymization.

    The French DPA has gone the furthest to suggest that solutions such as the destruction of private keys would allow data subjects to get closer to an effective exercise of their right of erasure.

    Will the EU Data Protection Board issue guidelines and recommendations to “ensure that blockchain technology is compliant with EU law” as suggested by the Committee on Civil Liberties, Justice and Home Affairs?

    原文連結:https://reurl.cc/nk3Qd

     

    關於GDPR的其他附件:

    Blockchain & GDPR_IBM

    blockchain-gdpr-privacy-by-design

    20181016_report_gdpr

  • ::首播:: 飛鳥 2019全國高中生大合唱 (官方正式HD版)