[爆卦]幣安api教學是什麼?優點缺點精華區懶人包

雖然這篇幣安api教學鄉民發文沒有被收入到精華區:在幣安api教學這個話題中,我們另外找到其它相關的精選爆讚文章

在 幣安api教學產品中有3篇Facebook貼文,粉絲數超過3,460的網紅Taipei Ethereum Meetup,也在其Facebook貼文中提到, 📜 [專欄新文章] A Secure State Channels Framework for Ethereum by Liam Horne 解析以太坊上的安全狀態通道 ✍️ 田少谷 Shao 📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技...

  • 幣安api教學 在 Taipei Ethereum Meetup Facebook 的最讚貼文

    2019-11-09 18:58:26
    有 18 人按讚

    📜 [專欄新文章] A Secure State Channels Framework for Ethereum by Liam Horne 解析以太坊上的安全狀態通道
    ✍️ 田少谷 Shao
    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    Crosslink 第二天早上由 Liam Horne,狀態通道的主要開發團隊 L4 共同創辦人開場。本以為這場會提到筆者前一天晚上還看得霧煞煞的 Counterfactual ,沒想到這次的演講較為科普、以分享開發近況為主,也被以太坊基金會研究員 Chih-Cheng Liang 稱為最接地氣的一場!

    何謂狀態通道?

    比特幣的支付通道

    若熟悉閃電網路,比特幣的支付通道是一個記錄支付行為的通道,只有開關通道時會接觸到區塊鏈。

    假設A公司與B公司有頻繁的交易需求,兩方各自把 10 元放入支付通道中:

    19:00 交易開始,兩方所擁有的錢: (10,10)

    19:15 A->B 3元: (7,13)

    20:10 B->A 7元: (14,6)

    20:30 A->B 13元: (1,19)

    21:45 B->A 4元: (5,15)

    到了 21:45 時,交易結束,此時可以將交易結果 (5,15) 寫到區塊鏈上並分配結餘,而區塊鏈上有的紀錄就只有以下兩筆。

    19:00 交易開始,兩方所擁有的錢: (10,10)

    21:45 交易結束,兩方所擁有的錢: (5,15)

    這代表著交易的結果能被記錄到區塊鏈上,卻大幅減少了要和區塊鏈互動的次數,不只可以降低交易雙方等待區塊鏈回應的次數與時間,也讓區塊鏈要處理的交易數量減少 。

    以上只是提供一個很粗淺的例子,可以參考以下連結,精美圖示有助理解:

    【動區專題】五分鐘看懂:圖說閃電網路 Ligntning Network

    狀態通道 State Channel

    由於狀態通道是在以太坊上,和比特幣的環境不同,所以實作方法不盡相同 (提示:UTXO),但本質上是相同的概念:只要牽涉到「狀態轉換 state-altering」,我們就能開一個通道讓交易參與者在通道中任意次數改變「狀態的值」,而最終將結果寫回區塊鏈上就好。

    這邊我引用 Pelith 創辦人 Ping Chen 對於狀態通道精闢的解釋:

    狀態通道通常是有別種邏輯疊在上面的通道 — 陳品

    也就是說,相對於支付通道的邏輯就只是參與者虛擬貨幣的數量,狀態通道通常指的是該應用場景有自身的邏輯/規則。

    舉例來說,在一遊戲中,玩家所擁有的虛寶就可以被視為是許多種狀態:遊戲中金幣及等級的是數值、但同時也是狀態;而 (0,1) 可以用來代表道具的擁有狀態 (沒有,有)。

    假設一玩家 A 在遊戲中的起始狀態為 (電卷, 金牌, 鞍切, 金幣, 經驗值) = (0, 0, 0, 300, 1),隨著遊戲進行,虛寶/狀態的改變:

    A 花費 100 金購買了金牌: (0, 1, 0, 200, 1)

    A 首殺獲得 200 金、升兩等: (0, 1, 0, 400, 3)

    A 花費 300 金用金牌合成了鞍切: (0, 0, 1, 100, 3) # 其實好像還要妖刀?xD

    A 擊殺了 B 玩家,升一等: (0, 0, 1, 100, 4)

    當玩家要登出、暫停遊戲時,最後的 (0, 0, 1, 100, 4) 就可以被更新到區塊鏈上,而下次登入時就會讀取這個區塊鏈上的狀態讓玩家繼續遊玩。

    若了解了此例,就不難想像為什麼狀態通道被提出之時,遊戲以及虛擬貨幣的支付被視為最適合運用的兩個場景:給定參與者=玩家,在限定的場域中=遊戲,進行狀態的更新。

    更多細節可以參考此一概念的提出人 Jeff Coleman 的解釋:點我

    決策者 Mover

    每一個狀態都有一位決策者,由通道中所有參與者輪流擔任。決策者透過對一狀態進行「簽署」來表達是否同意此狀態,也就是說狀態的正當性取決於當前的簽署是否來自正確的決策者。

    狀態確認 Valid Transaction

    狀態的先後順序是驗證狀態是否有效的方法。取決於應用的場景,有不同的實作方式。若簡單以一個計數器 counter 來實作,只要要求新狀態的計數值為舊狀態 +1,即可驗證。

    state(N).counter + 1 == state(N+1).counter

    關閉通道與終結性 Finality

    當沒有更多交易或有參與者決定要結束交易時,只要全部參與者皆同意就可以關閉通道,ex: 給一 boolean 變數 isFinal,全部人都把自己的 isFinal 皆設為 true 就可以將通道關閉。

    萬一有參與者半途消失了?Finality 終結性指的就是「每一個狀態都可以是最終的狀態」。假設部分參與者消失,只要有搭配的機制,例如:計時器,就一定會輪替到仍在線的人;即使參與者全部消失,當前的狀態因具備終結性,所以也能被提交為最終的狀態。

    狀態通道實作的規劃與開發進程

    Liam 將實作狀態通道的規劃劃分成上圖的六層:

    Protocol & Contracts:

    - State Progression Protocol

    這邊就是上方的「決策者、狀態確認、關閉通道與終結性」。

    除了以上所提及的內容,目前團隊也正在開發更方便的協議 Protocol Hardening:有別於交易的結束需要所有參與者的同意,目標是想做到「在特定時間內,任一參與者都能自行決定交易的推進或結束而不受其他參與者影響」。

    - Channel Funding Protocol

    此處是系統設計的另一個協議 Nitro Protocol,也就是如何開「子通道」,可以參考以下連結:

    Nitro Protocol

    Client & Hub:

    - Client & Protocol Engine

    這部分是講 Client 端彼此之間會傳送什麼訊息來進行溝通。

    https://specs.counterfactual.com/en/latest/protocols/install-virtual-app.html#the-installvirtualappparams-type

    - Client API & Wire Protocol

    以下的 Github 專案就是將上方三部分的協議內容實作到網頁端:

    counterfactual/monorepo

    目前第一版的狀態通道已正在運行了,詳見下方額外學習資源的 Connext。Liam 列出了一些實作第二版時必須納入考量的點:

    Robustly store states (i.e., guarantee no accidental money loss)

    Automatic detection and responding to challenges

    Ability to launch challenges directly with in-browser hooks

    Go-to production quality hub software for apps and businesses to use

    Browser Wallet UX:

    - Wallet Integrations

    這些是將狀態通道實作於現存的各種 Wallet 時,需要新增的內容:

    https://github.com/counterfactual/monorepo/blob/d3b06b42710c0b7dd93839033cb43da9ac6e0a28/packages/types/src/node.ts

    - Wallet UI

    最後則是區塊鏈、也是所有新技術能否被廣泛使用的大哉問:該如何設計才能讓使用者有良好的體驗?

    在此 Liam 提出實作 Wallet 時可以考慮的要點:

    How should a user interact with a state channel?

    What are the best patterns for acquiring user consent?

    How much does the user have to trust the app?

    To what extent can your channel wallet protect you?

    What policies should a channel wallet be able to enforce?

    額外學習資源

    Liam 在本場演講及 Panel Discussion 中,都很鼓勵大家一起跳進來當開發者。他的大致建議如下:看懂相關文章、開發的要求 specs,就可以試著做做看。卡住的時候就到以下連結的討論區詢問他們,包含 Liam 在內的開發人員都會在上面回答問題:

    State Channels - A community of state channels researchers from bitcoin, ethereum, and other blockchains

    狀態通道的 Github:

    State Channels

    已成功實作第一版狀態通道的 Connext 專案:

    Where will I be able to use v2.0 of Connext?

    讓筆者看得霧煞煞的 Counterfactual ,可以進一步提升狀態通道的效率:

    Counterfactual: Generalized State Channels on Ethereum

    結語

    本次演講實為筆者綜觀 Liam 在 Youtube 上的影片後,他對狀態通道最簡單、親民的一次演講,主要著重於介紹開發的進程、應注意的要點,也提供了初探此議題的新手很多學習資源、推坑大家加入開發的建議!

    其實陳昶吾博士也曾於 Taipei Ethereum Meetup 詳細介紹過此議題(閃電網路為主),有興趣者可以看以下影片來得到更完整的認識:

    最後,如果我的文章有幫助到你/妳,可以看看我的其他文章,歡迎大家一起交流 :)

    田少谷 Shao - Medium

    一如往常,感謝 Yahsin Huang 及 Chih-Cheng Liang 幫忙審稿,辛苦了!也特別感謝 Ping Chen 耐心回答素未蒙面的我的問題!!

    A Secure State Channels Framework for Ethereum by Liam Horne 解析以太坊上的安全狀態通道 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

  • 幣安api教學 在 Taipei Ethereum Meetup Facebook 的最佳貼文

    2019-11-03 02:10:20
    有 20 人按讚

    📜 [專欄新文章] Crosslink 2019 Taiwan|以太坊 2.0 的未來藍圖及挑戰
    ✍️ Frank Lee
    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    Danny Ryan(source: Crosslink 2019 Taiwan)

    十月底於台北矽谷會議中心舉行的 Crosslink 2019 Taiwan,吸引了來自世界各地的區塊鏈愛好者們齊聚一堂。第一天的議程,邀請到了以太坊基金會 (Etherium Foundation, EF) 的核心研究員 Danny Ryan,會中分享了以太坊 2.0 (Ethereum 2.0)目前的研究方向以及遇到的挑戰,演講的內容主要包含了以太坊 2.0 的架構,新的分片提案,執行環境 (Execution Environments, EE)以及雙向橋接 (Two-Way Bridge)等議題。

    一、以太坊 2.0 的架構

    以太坊 2.0 架構(source: Crosslink 2019 Taiwan)

    第零階段(Phase 0)

    在 以太坊 1.0 (Ethereum 1.0) 中,使用 工作證明(Proof of Work, PoW) 作為 共識機制 (Consensus),並藉此產生新的區塊。為了要減少工作證明產生新區塊時,所需要的大量算力,以及所花時間過長的問題,以太坊 2.0 將改為 權益證明 (Proof of Stake, PoS) 作為產生新區塊的共識機制,以太坊 2.0 PoS 創世區塊 (Genesis Block) 預計會在 2020 年 1 月 3 日產生。

    第零階段會建立信標鏈(Beacon Chain),信標鏈就是以太坊 2.0 系統層級的鏈,當從以太坊 1.0 移轉到以太坊 2.0 時,信標鏈扮演著非常重要的角色,它是整個系統的基礎。

    一旦第零階段完成,將會有兩個使用中的以太坊鏈。以太坊 1.0 鏈(目前所使用的 PoW 主鏈)以及以太坊 2.0 鏈(新的信標鏈)。在這個階段,使用者在 1.0 鏈把以太幣鎖到合約裡以註冊公鑰, 2.0 鏈會承認合約內註冊的公鑰。但是,他們無法將該以太幣遷移回去以太坊 1.0 鏈上面,為了要執行信標鏈,你會需要一個信標鏈的客戶端。目前,許多團隊正在開發這些客戶端。

    第一階段(Phase 1)

    第一階段會加入分片鏈(Shard Chains),在這個階段主要專注於分片鏈的資料結構,以及其有效性(Validity)和共識性(Consensus),分片鏈在這階段只當作資料鏈,並不會指定分片鏈狀態執行(State Execution) 或帳戶餘額(Account Balances)。這比較像是對分片結構進行測試,而不是嘗試利用分片來對信標鏈進行擴展。在這階段,信標鏈會把分片鏈的區塊(Block), 當作沒有結構或意義的位元集合(Collections Of Bits)。以太坊 1.0 和以太坊 2.0 仍將同時存在,並且在以太坊 2.0 鏈上進行測試和遷移。

    這個階段分片鏈會與信標鏈交聯(Crosslinks) ,每個分片的當前狀態 — “結合資料根(Combined Data Root)”,會定期記錄在“信標鏈”區塊中,作為交聯。信標鏈區塊完成後,相應的分片區塊(Shard Block)將被視為已完成,其他分片知道它們可以依靠這些區塊進行跨分片交易。

    交聯是委員會(Committee)的一組簽名(Signatures),證明了分片鏈中的某個區塊,可以包含在信標鏈中。交聯是信標鏈”理解”分片鏈更新狀態的主要方式。交聯還用作異步跨分片通信的基礎結構。

    信標鏈在每個時段(Slot)中的每個分片,隨機選擇分片驗證者(Shard Validators) ,分片驗證者只是用來在每個區塊的內容上達成一致,他們通過交聯證明分片的內容和狀態,分片中包含什麼內容都沒有關係,只要所有委員會都達成共識,並定期更新分片上的信標鏈即可。

    第二階段(Phase 2)

    第二階段會將所有功能開始結合在一起,在第二階段,會完成分片化,分片鏈從簡單的數據容器過渡到結構化鏈狀態,並將重新引入智能合約。每個分片將管理基於 eWASM(Ethereum flavored WebAssembly) 的虛擬機。它會支援帳戶(Accounts)、合約(Contracts)、狀態(State),以及 Solidity 中我們熟悉的其他抽象化,預計在第二階段之前或第二階段開發時,大家熟悉的工具(例如 Truffle, Solc, Ganache)需要轉換成支持 eWASM 的版本,以太坊 1.0 及以太坊 2.0 可藉由雙向橋接來互通,會有可擴展的 Layer 1 執行,藉由無狀態執行,來提高執行速度。

    二、新的分片提案

    新的分片提案(source: Crosslink 2019 Taiwan)

    以太坊 2.0 原提案所運作的機制,是以每個時期 (Epoch) 為單位,來進行交聯的動作,每個鏈上有1024 個片 (Shards),當需要跨分鏈交易(Tx)時,由於是每個時期進行交聯,會有較大的延遲時間;新提案更新為每個時段都進行交聯的動作,並減少片(Shards)的數量為 64個,來降低跨分片(Cross-Shard)交易時的延遲時間,每個時段都進行跨分片交易。

    新提案的優點

    對於以太坊 2.0 新提案的優點,首先新提案的片 (Shards)數量由 1024 個降至 64 個,降低了運算的複雜度,因為跨鏈時間從一個 epoch 降到一個 slot ,時間縮短第一個好處是給 DApp 開發者及使用者更好的體驗。第二個好處是以往需要手續費市場(Complex Fee Market) 及樂觀狀態(Optimistic State)這兩種複雜的跨鏈交易解決方案,現在不需要了。

    新提案的交易

    新提案只需要比之前的提案更少的片 (Shards),就可以啟動交易,可能會有更長的分片時段(12s),更大的分片區塊(Shard Block),目前更新到第零階段 ,第零階段測試網(Testnets)的測試,可能會有所延遲 ,新提案減少了第零階段發布所需的時間。

    目前的想法

    希望能給開發者及使用者更好的體驗,使用較大的分片區塊(Shard Block),來改進資料可用性,以及要降低開發延遲和第零階段發布所需花費的時間。

    三、執行環境

    以太坊 1.0 簡易架構圖(source: Crosslink 2019 Taiwan)

    在之前設計的以太坊 2.0 和以太坊 1.0 中,狀態在共識機制裡,扮演著非常重要的角色,共識機制會隨時去讀寫所有的狀態,不管是執行的概念、交易的概念、帳戶的概念、樹狀結構的概念、以及所有在資料結構中的概念,都深深地融入共識中。

    上圖是以太坊 1.0 的簡易架構圖,在圖中我們可以看到共識機制及一條鏈,共識機制裡包含了狀態及一個執行引擎,狀態裡包含了狀態樹,在這裡的執行引擎使用硬編碼規則,裡面包含了執行交易、帳戶模型和帳戶結構,我們可以看到圖的右邊有一條鏈,鏈上面有交易資料,在以太坊 1.0 中,我們會在交易資料上執行共識機制,去修改和更新狀態。

    執行環境是一個單獨的虛擬機器,在以太坊 1.0 中,會有一個特定的帳戶模型(Account Model),以及事先定義好的操作碼 (Opcodes),礦工機制 (Gas Mechanisms)和狀態根(State Root),以太坊虛擬機 (Ethereum Virtual Machine, EVM) 就是一種特定的執行環境。

    如果遵循 EIP(Ethereum Improvement Proposals) 的建議,開發者總是在要求新的操作碼,或著是更改礦工成本(Gas Cost)來支援他們的應用,像是 Plasma 和 Zkrollup 這樣的例子有很多,這樣就會需要修改 EVM 1.0 的執行環境 ,才能支援到他們的應用程式(DApp)。

    但是在以太坊 2.0 的第二階段中,我們可以支持多個執行環境。 也可以有多個狀態根,不同的帳戶模型等。舉個例子,你可以定義一個臉書幣執行環境 (Libra EE),以便在以太坊 2.0 上運行 Libra。 或者,您可以定義一個比特幣執行環境 (BitCoin EE),這樣就可以在以太坊 2.0 上運行比特幣。

    以太坊 2.0 簡易架構圖(source: Crosslink 2019 Taiwan)

    在以太坊 2.0 簡易架構圖中我們可以看到狀態根, 它可能是 32 Bytes 的 Blob,上面有 WASM 的執行碼 (Execution Code),可以在使用者層級中去做細部設定。圖片右邊有一個鏈,鏈上有一般的交易資料以及見證(Witnesses),見證實際上顯示在資料庫的區塊中,你需要針對該狀態而不是資料庫執行該筆交易,而且還需要證明資料對於當前狀態根是有效的。舉個例子,如果我們要在帳戶 A 和帳戶 B 之間傳遞數值,假設從帳戶 A 移動 5 以太幣 到帳戶 B ,我們不能直接說帳戶和餘額 (Balance) 是確實可用的,在過程中,我們需要加入見證資料(Witness Data),來證明兩個帳戶當前的狀態,當執行碼正在執行交易資料時, 狀態根可以修改和更新狀態樹。

    執行環境並不是共識機制預先定義好的,他可以在使用者層級上去做新增,我們也可以把以太坊 1.0 複製一份到以太坊 2.0 的執行環境中,將現有的狀態根放入EVM 直譯器,用梅克爾見證驗證器(Merkle Witness Verifier)來當作他的執行碼。

    在原先的提案中,狀態和共識息息相關,且執行帳戶和共識中包含了狀態樹結構;而在新的提案中,執行環境為無狀態模型(Stateless Model),高度抽象化的,並且它的可擴展性,相較原先的提案高出非常多。

    執行環境的優點

    執行環境有許多優點,相較於舊系統,它也許可以更快地將產品推向市場,因為我們不必等到核心共識推出之後,才研究並發展這個概念,在 Layer 1 會有更少的阻礙,它可以在各種應用上,使用具高擴展性及資料可用性的執行引擎,所以未來會長期使用這個核心基礎層。

    執行環境的設計完成,讓以太坊 1.0 到以太坊 2.0 的遷移,有了更清楚的方向,使用執行環境比較不會有技術隨時間遷移而過時的問題產生。

    執行環境交易

    對於執行環境交易,開發者及使用者可能會覺得太抽象,對什麼是執行環境感到困惑,像是這一層加了什麼?應該在這一層做什麼?誰應該寫執行環境?而且相關的開發規範會趨向更嚴格的形式。

    虛擬機可能會有潛在的碎片化問題,進而影響到交易速度。

    目前的想法

    目前所有的研究都是正向發展的,還有充裕的時間,嘗試並更好地了解設計空間,未來會多花一些時間,在建立更好的執行環境通訊機制上面。整體來說,現階段的進度,對於未來是重要的里程碑。

    四、雙向橋接

    最後一個主題,主要討論開發雙向橋接是否是值得的?團隊可能可以在什麼時間點,來去做雙向橋接?

    單向橋接示意圖(source: Crosslink 2019 Taiwan)

    講者先前提過的提案中,以太坊 2.0 最初有一個單向橋接,所以你可以從以太坊 1.0 轉換到 以太坊 2.0,但是最初的架構不允許回傳,這主要是出於幾個原因,這需要我們將以太坊 1.0 的發展 與 以太坊 1.0 和以太坊 2.0 的硬分叉緊密結合,並把兩個系統置於互相影響的風險之中,因此團隊認為以太坊 2.0 在發布且穩定之前,將兩邊緊密耦合是不明智的。

    單向橋接的問題

    月初在日本大阪舉行的 Devcon 5 上,橋接的問題受到了廣泛的討論,原提案的單向橋接(One-Way Bridge)模式,會有驗證者流動性的問題,而且更重要的是,它可能會引發以太坊 1.0 和以太坊 2.0 之間的可替代性問題,如果我們允許以太坊 2.0上的流動性,那麼某種形式的轉移機制,就會在將以太坊 1.0 分叉到以太坊 2.0 之前,或著是在雙向橋接之前產生,交易所中很可能會同時有兩個幣,團隊和整個驗證者社區都很擔心這個問題,目前正在找尋減輕這個問題的方法。

    另外也希望鼓勵大家,在這些早期階段進行驗證,但是在早期階段進行驗證,肯定會有很高的風險,因為存在未知的鎖定期,因此也希望找到方法減輕這種風險。

    雙向橋接

    雙向橋接示意圖(source: Crosslink 2019 Taiwan)

    雙向橋接目前可能的路線有兩條,一種是在以太坊 1.0 上面,建立以太坊 2.0 的輕節點;另一種是在以太坊 1.0 上運作以太坊 2.0 的全節點。

    路線A: 在以太坊 1.0 上,建立以太坊 2.0 輕節點

    路徑A示意圖(source: Crosslink 2019 Taiwan)

    這個路線需要在實際的 EVM 中支援 BLS-12–381,會花費很多開發時間,而且它只提供輕量客戶端 (Light-Client) 層級的安全性。當驗證者在 2.0 鏈上產生提款交易的收據時,我們會拿到以太坊 2.0 的輕量客戶端證明,一但收收據的區塊在以太坊 2.0 上敲定了,你就可以在以太坊 1.0 的合約上提款。不過,這可能不是團隊最終選擇的路線。

    路線B:在以太坊 1.0 上,運行以太坊 2.0 的全節點

    路徑B示意圖(source: Crosslink 2019 Taiwan)

    第二種路線,會在以太坊 1.0 的節點上,運行以太坊 2.0 的全節點,這個路線允許我們使用敲定性機制,因此,我們不僅可以使用這種機制,來促進以太坊 1.0 和以太坊 2.0 之間的轉移,我們也可以利用驗證者的安全性,來保護以太坊 1.0 鏈,我認為大家對此感到非常興奮,這通常被稱為“敲定性小工具提案(Finality Gadget Proposal)”。

    但是還是需要一種機制,去輸出以太坊 2.0 狀態根在以太坊 1.0 上,所以有一些以太坊 2.0 社群的討論,在研究如何實作它,可能會包含礦工機制。

    輸出以太坊 2.0 狀態根的另一個優勢,是以太坊 1.0 有穩固的機制可以實現它,以及同時擁有以太坊 2.0 的高擴展性及資料可用性,可以做一些有趣的應用,像是 ZK Rollup 和 Optimistic Rollup。

    雙向橋接的優點

    如果你在交易所中,列出以太坊 1.0 以太幣和以太坊 2.0 以太幣,它們的價格應該一樣。 如果不一樣,你可以用較低的價格買一個以太幣,把他發送到橋上,然後以較高的價格獲得另一種以太幣,並把它出售。 這種套利會使它們的價格保持不變,這樣會讓用戶,驗證者和開發人員感到困惑,雙向橋接可以防止兩邊的貨幣藉由套利的形式,來互相轉換。

    雙向橋接的交易

    但是還是有一些權衡在這裏,儘管對以太坊 2.0 的設計非常有信心,團隊還是希望在影響到以太坊 1.0 的安全性和風險狀況之前,先在生產環境中得到驗證。

    雙向橋接是一種緊密耦合的共識機制,對於兩邊鏈的攻擊及產生的問題,都會影響到另一邊的鏈,協定的開發勢必會非常煩瑣,我們需要考慮到每個協定的安全性,如果我們越早開發協議,那麼我們實際上的進度就越少,當每個障礙隨著時間發展,它們就會相互阻礙,這讓以太坊 1.0 在這一點上的開發速度比以太坊 2.0 慢得多,因為實際用戶群存在很多擔憂,並且需要大量的協調,才能在我們的生產網絡上獲得硬分叉。

    所以,如果我們越早將這些東西連在一起,就可能會減慢以太坊 2.0 的開發和分叉週期,並且這增加了一些額外的開銷,換句話說,驗證我們可以鏈接客戶端的開銷是相對的。

    目前的想法

    我們應該會在加入驗證人流動性之前啟用橋樑,但是會等到第一階段的產品穩定之後再開放;同樣的,有很多相關的研究都在同時進行,這可能會影響到,何時完成這個操作。

    名詞解釋:

    EIP(Ethereum Improvement Proposals):EIP 是以太坊平台的標準,其內容包含了核心協議的規範,客戶端 API 以及合約標準。

    epoch :在以太坊 2.0 中,epoch 指的是時長 6.4 分鐘的時間單位,每個epoch 包含64個 slots。

    Slot(時段):每個時段為 6 秒,不一定每個時段都能產生區塊,而epoch 中最後一個 slot 稱為邊界時段 (Boundary Slot) ,或稱為檢查點 (Checkpoint)。

    Solidity:Solidity 是一種合約導向的語言,主要用來開發智慧合約。

    Consensus (共識機制):共識機制是區塊鏈為了在各節點間達成共識,所開發的演算法。

    Validator 驗證者:驗證區塊的節點,由信標鏈在每個時段(Slot)為每個 片 (Shards)隨機產生。

    Gas:交易所需的費用,當 Gas 消耗完時,智慧合約會終止並進行 Rollback。

    EVM(Ethereum Virtual Machine):EVM 中文為以太坊虛擬機,是一種輕量級的虛擬機環境,Eth 1.0 中智能合約的運行環境為 EVM。

    Dapp(Decentralized App):在以太坊中,基於智能合約的應用都稱為去中心化的應用程序,即 Dapp(Decentralized App)。

    ether(以太幣):以太坊的貨幣名稱。

    Finality(敲定性):「敲定性」是 Casper 中的概念,是一種透過驗證者投票,在鏈上產生不可回朔(Rollback)的檢查點的機制。

    Libra:臉書提出的加密貨幣,預計於 2020 年發行。

    Merkle Tree:Merkle Tree 由計算機科學家 Ralph Merkle 所提出,中譯為雜湊樹,因為是由雜湊函式形成的樹。

    Reference: [Ethereum Improvement Proposals](https://eips.ethereum.org/)

    Reference: [Two-way bridges between eth1 and eth2](https://ethresear.ch/t/two-way-bridges-between-eth1-and-eth2/6286)

    Reference: [Ethereum 2.0 (Serenity) Phases](https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#phase-2-state-execution)

    Reference: [ethfans](http://ethfa​​ns.org/)

    Reference: [eth2 quick update](https://blog.ethereum.org/2019/10/23/eth2-quick-update/)

    Thanks to Danny Ryan, Chih Cheng Liang, Juin Chiu, Yahsin Huang, and Jerry Ho

    Crosslink 2019 Taiwan|以太坊 2.0 的未來藍圖及挑戰 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

  • 幣安api教學 在 Taipei Ethereum Meetup Facebook 的最讚貼文

    2018-08-02 00:30:46
    有 42 人按讚


    📜 [專欄新文章] 用十分鐘快速搞懂區塊鏈
    ✍️ Juin Chiu
    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    此文章為 Taipei Ethereum Meetup共同組織者 @juinc 針對區塊鏈初學者之簡報的整理,完整簡報在這裡

    一句話解釋區塊鏈

    區塊鏈是一種透過共識演算法實現信任去中⼼化的技術

    區塊鏈不只是密碼貨幣,正如同網際網路不只是網站。

    比特幣

    比特幣是第一個使用區塊鏈技術的密碼貨幣,它只具有支付功能。

    以太坊

    以太坊是第一個使用區塊鏈技術的分散式狀態機,較比特幣具有更多功能:它能執行智能合約,這代表以太坊是一個能運⾏各種不同去中⼼化應⽤程式(DApp)的平台,就像智慧型⼿機的作業系統一樣。

    區塊鏈簡史

    2008 — 中本聰發表論文《比特幣: 一種點對點的電子現金系統》

    2009 — 比特幣上線,中本聰挖出創世區塊及第一筆50個比特幣

    2010 — Laszlo Hanyecz 用10000比特幣購買了價值25美元的披薩優惠券,比特幣與法幣首次掛勾

    2012 — Bitconin Magazine 發佈第一篇文章介紹比特幣和密碼貨幣。雜誌發起人之一就是後來的以太坊創辦人之一 Vitalik Buterin

    2013 — Vitalik Buterin 發佈以太坊白皮書

    2015 — 以太坊上線,其將智能合約帶入區塊鏈,被稱為區塊鏈2.0

    2015 — R3 CEV成立,40家以上金融機構加入,為目前最大的金融區塊鏈聯盟

    2016 — Hyperledger成立,為目前最主要的聯盟鏈聯盟

    2017 — 比特幣來到歷史高價 20000美元

    2017 — 基於以太坊的ICO出現,透過ICO獲得的資金超過同期傳統VC的投入資金

    技術簡介

    每個節點都有一個私鑰,而每個私鑰都對應一個地址,例如:0xa89…

    每個交易記錄了從某個地址到另一個地址的價值傳遞,例如: 0x123… 支付 10 給 0x456…

    交易會被發出該交易的節點用其私鑰簽署,數位簽章會成為交易資料的一部分

    簽署過的交易會被廣播至網路中的每一個節點

    一旦節點接收到交易便會驗證該交易是否合法

    理想上每個節點會取得在網路產生的所有交易

    節點會把交易會被打包成區塊

    由於每個節點都有各自的區塊,因此一個稱為工作證明(見補充2)的機制被用來決定哪一個區塊將被所有節點接受

    若區塊成功通過工作證明,則該區塊為合法。合法區塊會有區塊雜湊值(見補充1),例如:0xb89…

    每個區塊都會包含前一個區塊的雜湊值

    合法區塊會被廣播至網路中的每一個節點並且於驗證後會被增添至舊的區塊上,形成新的區塊鏈

    每個節點皆維護同一個版本的區塊鏈及交易資料

    找出合法區塊的節點會被獎勵

    補充1: 雜湊函數

    雜湊函數會將輸入映射到一組特定的位元序列,且幾乎不可能由序列映射回輸入,這樣的特性使雜湊函數適合用來產生訊息摘要。

    補充2: 工作證明
    工作證明之流程
    去中心化的優點

    在現行的銀行系統中,交易只會被單一銀行處理,這樣的銀行系統是中心化的,它提供了權威性但也有腐敗與被駭的風險,而去中心化的信任使提供權威性的中心化系統不再是必要的。

    適用場景

    眾多的參與方 — 若參與方包括多個生產商、供應商、客戶、服務提供商、運輸服務提供者、監管機構以及可能涉及的稅務機構,則區塊鏈技術將是一個絕佳的解決方案

    複雜的流程 — 面臨大量複雜商業目的公司團體,在交易生態體系中建立區塊鏈可產生巨大效益。區塊鏈可實現資產收購、融資、擔保、保險、監管合規和公共安全等多項事宜的一體化同步管理

    需長期保存紀錄 — 若多方都需要在較長時間內獲得、創建以及維護記錄(如數十年的資產生命週期或患者全生命周期),區塊鏈能夠提供理想的解決方案。此外,在許多監管事項的處理方面,區塊鏈能夠為記錄合規情況、開展合規管理提供可靠支援

    實時資產轉移與交易 — 區塊鏈能夠消除支付週期和資產轉移滯後的情況,有助於降低成本、提高精准度並提升合規效率。此外,區塊鏈的透明特性還有助於在多方網路環境下簡化貿易融資或供應鏈融資流程,提升效率

    區塊鏈生態系統

    電子錢包與貨幣移轉服務 — 電子錢包為管理密碼貨幣私鑰的軟體。貨幣服務公司主要經營密碼貨幣匯款或移轉平台

    交易所和密碼貨幣交易 — 建立密碼貨幣的交易或密碼貨幣交易平台的公司,在交易平台上,消費者、企業和專業人士可平台上交換法定貨幣或其他有價值商品的密碼貨幣

    企業服務和代幣 — 為不同用途與不同使用者的開發區塊鏈操作系統、API和協議的公司。或為客戶建立獨特和客制化的密碼貨幣和代幣(tokens)的公司

    密碼貨幣採礦 — 加密貨幣的採礦設備和服務公司是主要構建或操作開採密碼貨幣的硬體、軟體、雲端礦池(cloud-based pools)和其他服務的公司

    去中心化交易所與借貸平台 — 指區塊鏈基礎的P2P交換市場,用戶可以不需中介直接交易代幣。區塊鏈基礎的P2P借貸平台則是允許用戶與同業(非傳統金融機構)進行貸款交易

    資本市場和金融服務 — 主要為金融機構和中介機構開發清算、結算和數據管理等解決方案的公司,以及建立於區塊鏈基礎的投資公司

    物聯網、身份辨識和內容管理 — 物聯網公司提供分配實體資產具區塊鏈安全的數位簽章。身份辨識公司提供身份辨識的管理應用程序,確保身份識別數據。 內容公司主要經營區塊鏈基礎的內容平台,並參與對內容使用的微型小額交易

    商家服務 — 為商家和賣家開發密碼貨幣和區塊鏈解決方案的公司,如提供區塊鏈支付服務、獎勵等的解決方案

    挑戰

    區塊鏈只能擁有可擴展性、安全性及去中心化等三項特性中的的兩項,目前的公網(比特幣/以太坊)皆具有去中心化及安全性,但缺乏可擴展性。然而,可擴展性是普及區塊鏈的關鍵,是目前全世界區塊鏈開發人員角逐的聖杯,在以太坊上已經有 Sharding / Casper / Plasma / State Channel 等解決方案正在開發中。

    總結

    區塊鏈仍是實驗性且尚未成熟的技術,非常具有挑戰性,值得學習以及投資。

    用十分鐘快速搞懂區塊鏈 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

你可能也想看看

搜尋相關網站