What Is BRC-20?

最近幣圈很火紅的 BRC-20 究竟是什麼東西,帶來了何種價值與改進,Ordinals 協議又是什麼,以及對於未來的預測想法。 TL;DR BRC-20 是基於 Ordinals 協議的代幣標準(由社群定義,非認證),Ordinals 協議是讓 satoshi 有編號序列化(使得 satoshi 可以附加而外資料),而BRC-20 則是產生出一段 payload 寫入到 satoshi 內,這個動作稱為銘文(inscribe)。目前所有協議和標準都為實驗性質,然而被炒作跟各種 fomo 導致目前交易量大增讓 BTC 交易費拉高,進而拖垮 BTC 交易速度。 Ordinals 協議是什麼 由軟體工程師 Casey Rodarmor 於比特幣主網上打造的協議 Ordinals,於今年 1 月 21 日正式亮相。它是一個用於編號比特幣的最小單位 Satoshi 的系統,Satoshi 會依照挖掘和轉移的順序進行編號,故將該協議取名為 Ordinals (序數)。 Ordinals 可以讓用戶透過附加額外資料的方式(除了 JPEG 之外,PDF、影片和音檔內容也可以拿來創建 Ordinals。)使個別 Satoshi 成為獨一無二的 NFT。原文連結 Satoshi 是比特幣的最小單位,為 0.00000001 顆比特幣,也就是說 1 顆比特幣為 1 億顆 Satoshi。 然後發生了一件大事… Updated the gitbook to address common questions and my intentions for the experiment going forward....

May 12, 2023 · Yish

Zk Rollups & Optimistic Rollups 零知識證明與樂觀證明

先前在很多文章都有提及以太鏈的解決方案 ZK Rollups 與 Optimistic Rollups 但一直對於這兩個 rollups 的概念都很模糊,趁著邦妮發了一篇快速解釋這個機制也順便深入了解與紀錄。 幣圈高手都不一定會!正在起飛的超難趨勢! Rollups 解決方案 Layer 1: 區塊鏈 Layer 2: Rollups 所處 (擴容解決方案) 一個技術的概念的提出勢必是要解決一個實際存在的需求,rollups 主要是用來解決區塊鏈可擴展性問題,由於每個區塊大小跟處理能力是有限的,在高負載情況下會面對壅塞跟高 gas fee 問題(每個人都希望自己交易能夠先被執行),而 rollups 透過將大量交易 bundle 起來之後再一次提交到主鏈上,在不影響主鏈處理能力情況下提高吞吐量跟降低交易手續費。 Rollups 機制都是在鏈外或鏈下進行計算和處理後再將交易數據提交到鏈上,從而解決交易吞吐與費用問題。 鏈下處理通常指的是將某些計算或交易處理放在與主鏈不同的另一條鏈上。 鏈外處理則是將某些計算或交易處理放在完全獨立的環境中進行處理。 TL;DR ZK Rollups: (鏈外) 在鏈外將大量交易 bundle 一起,並透過零知識證明(特殊算法)計算處理後生成證明(Validity Proof),來證明數據正確性(交易的处理和验证是在本地计算机上使用zk-SNARKs或STARKs等技术生成证明),最後再將證明提交到主鏈上,提高處理效率,降低主鏈負擔,每個人都可以驗證證明正確性。 Optimistic Rollups: (鏈下) 交易提交到鏈下(rollup 鏈)的 Rollups 合約(智能合約)(不是直接提交到主鏈上),將交易 bundle 後使用 hash 代表區塊所有交易,提交 hash 到 rollup 鏈上。合約會有挑戰期,一定時間內如果有人提交證據證明 hash 是錯誤的,合約會 rollback 整塊交易,並按照交易順序重新執行交易,如沒有人提出則認為有效,將所有交易提交到主鏈上。(接受並產生交易塊與證明的人必須先提交保證金進行運算,如果交易正確則獲得獎勵,而被挑戰後確定錯誤則會沒收保證金並且提出挑戰者會獲得獎勵) ZK Rollups (Zero-Knowledge Rollups) 零知識證明 優點: 正確性、可靠性、隱私保護與節省儲存空間/傳輸 缺點:計算成本高、安全性要求高、需要有高安全措施保護系統 ChatGPT 技術流程:...

March 14, 2023 · Yish

What is oracle(預言機)?

定義 由於區塊鏈世界本身無法調用外部API,是封閉世界,需透過預言機才能知道外部服務和API資料並且加以取用。 預言機本身也是一種智能合約,他的資料都是來自於外部世界的數據和整理過的數據並且寫到鏈上,提供給其他使用的智能合約外部資訊與內容。 智能合約在運行時只能運行已經確定的數值跟內容,無法動態從 API 取得資料處理,預言機則是與外部API取回資料後寫入鏈上,讓其他智能合約調用它取得所需的API資料提供使用。 詳細補充知識點: 区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。 区块链是确定性的环境,它不允许不确定的事情或因素,智能合约不管何时何地运行都必须是一致的结果,所以虚拟机(VM)不能让智能合约有 network call(网络调用),不然结果就是不确定的。 因为智能合约无法主动去获取链外的数据,只能被动接受数据。 使用情境 即時獲得當前交易對報價或依賴外部服務即時資訊、預測市場或其他即時內容獲得執行合約、DeFi 項目。 比如金融衍生品交易平台、借贷平台、快递追踪/IoT、稳定币、博彩游戏、保险、预测市场等,目前最主要的场景就是 DeFi。 中心化預言機與去中心化預言機 中心化 provable(oraclize) 去中心化 DOS network Chainlink 目前最流行的預言機,以太社群推薦。提供 LINK TOKEN 作為節點獎勵。成為節點條件是必須先提供一定的 LINK TOKEN 作為抵押獎勵來確保資訊正確性,如果惡意竄改則會沒收抵押。 參考 https://zhuanlan.zhihu.com/p/52369816 https://zombit.info/chainlink/ https://chain.link/education/blockchain-oracles https://youtu.be/Tvw9NghXi6U

September 7, 2022 · Yish

閃電貸原理與範例

原理 透過以太幣交易原子性,要交易全成功否交易全失敗。 調用智能合約也具有原子性,要全調用成功修改數值,否調用全失敗。 不會出現部份成功部分失敗。 保證在同一交易內歸還本金。 全成功還本付息,失敗則當作此交易沒有存在。 理想狀況 閃電貸借入 100000 USDT DEX A(交易所A) 買 2000@50(2000顆$50 token) DEX B(交易所B) 賣 2000@55(2000顆$55 token) 歸還 100000 USDT + 100 USDT(利息) 獲利 9900 USDT 必須要在同筆交易區塊內完成(透過自己撰寫智能合約並調用合約達到一次交易完成) 攻擊步驟 目的: 攻擊有漏洞的智能合約竊取利益 藉由 dydx 借出 10000ETH 5000ETH 抵押到 compound 借出 112 WBTC 1300ETH 轉入 bZx(主要攻擊的漏洞合約) 透過 5 倍槓桿賣出 ETH 買入 WBTC bZx 為了完成此筆交易,透過 kyber network 協議在 uniswap 內大量拋出 ETH 買 WBTC uniswap WBTC/ETH 交易對池不夠深 -> 價格被拉升 38.5 -> 109.8 原本 bZx 應該是僅扣除原押 1300ETH 不應該用到自己資金池完成交易(無偵測到風險),但由於合約漏洞導致用到自己資金來完成此筆交易 拋出由 compound 借出的 112 WBTC 到 uniswap 售賣 -> 獲得 6871ETH 6871ETH + 3200ETH(未動用到的借貸) = 10071-10000=71ETH(獲利)(歸還 dydx 貸款) 駭客在 compound 上還有 5500ETH 正在被抵押 由於其他交易市場: WBTC/ETH 還在正常價位 -> 透過 4300ETH 買入 112WBTC -> 換回被抵押的 5500ETH -> 總計獲利 1200ETH + 71ETH = 1271ETH 參考:...

September 7, 2022 · Yish

What is ipfs?

困境 目前 web2 都是以中心化服務為基礎設計,舉例為 youtube, google 等網路巨頭所提供之網路服務, 為什麼會要中心化,就是為了體驗的問題,隨時可以拜訪、低延遲等好處,但這也帶來另一個隱憂: 如果中心巨頭服務器斷線或關閉,或遭到監管等問題則完全無法拜訪。 解決方案 ipfs(interplanetary filesystem): 星際檔案系統,有點類似以前的 p2p 跟 BT節點機制,但具備了更多功能。 這邊要特別注意 ipfs 本身與區塊鏈是沒有任何關係的,只是前者又結合了區塊鏈,而後者許多項目為了保持去中心化 思維而大量採用 ipfs 作為檔案儲存媒介。 傳統來說,我們要拜訪一張檔名為 512.png 的檔案,我們會在網址上輸入https://yish.dev/512.png, 這樣我們就能拜訪到這張圖片,而這樣子的行為則被稱為 地址定址(location based addressing) ,一旦服務器失效或網址失聯,則永遠無法拜訪到這張圖片。 但在此之前是不是有其他人拜訪過這張圖片而他電腦不論是緩存或是某地有儲存著備份,但我們卻無法拜訪。 而 ipfs 透過採用 內容定址(content based addressing) 用來解決這樣子的問題。 原本地址定址是需要由你告訴電腦到哪個位置尋找資源,而現在採用內容定址則是告訴它你要什麼資源。 檔案內容都會有一個雜湊值: 例如 hjjsdfh7T124jAAjruuXNnnna14,類似唯一特徵或指紋。 而當你需要下載某個檔案時,只需要詢問網路: 誰有含有這個雜湊值的檔案? 這個雜湊值是每個檔案唯一,也可以進行二次驗證,達到防偽功能。 增加網路可利用性,由於每個檔案都是唯一雜湊,也就是可以刪除重複檔案。 技術細節 實作 每個 ipfs object 含有基礎兩個內容 超過 256kb,切割檔案並且進行連結 也類似檔案系統與資料夾關係 支持檔案版本管理(類似於 git 概念) 當每次提交一個檔案上去時,都會是有一個 commit 動作,告訴 ipfs 你提交哪個檔案版本。 弱勢 當網路提供節點全部失效時則拜訪不到檔案(如同BT種子沒人上傳一樣) 節點解決方案 提供獎勵機制鼓勵人提供節點 將檔案分佈儲存 -> 結合區塊鏈: filecoin 透過提供鏈上獎勵代幣與機制鼓勵節點持續在線獲得,並保證多節點存有副本。...

September 4, 2022 · Yish