作者:Colby Serpa;編譯:DAOrayaki
Nostr 2.0 可能能夠作為 Layer 2 建立在比特幣之上,提供安全的離鏈數據存儲,就像閃電網絡作為 Layer 2 提供即時的離鏈支付一樣。
本文將闡述 Nostr 中繼如何在保持輕量級特性的同時同步其數據,使用戶可以選擇性地刪除數據,這是 Layer 1 區塊鏈所不具備的。同時,與在比特幣區塊鏈中存儲大量數據相比,因為比特幣區塊的容量和速度有限,使用 Nostr 中繼存儲數據可能更加便宜。
下面的簡單計算機科學設計改進了 Nostr 網絡在標準化的 CAP 定理準則下的分布特性。CAP 代表一致性(Consistency)、可用性(Availability)和分區容忍性(Partition tolerance)
中繼缺乏一致性(CAP 定理中的 C)
一致性意味著在各個計算機上同步的數據庫是相同的。Nostr 中繼不能以類似區塊鏈逐個區塊同步其數據的方式進行信任最小化的同步。與比特幣全節點不同,Nostr 中繼存儲的數據庫通常是不完整的。除了盲目請求由特定用戶簽名的所有帖子外,Nostr 中繼無法發現缺失的數據。
Nostr 的一致性 / 同步問題:
如果兩個用戶將各自的帖子上傳到不同的 Nostr 中繼,那么這兩個用戶可能無法看到彼此的帖子,因為 Nostr 不像一個區塊鏈。在區塊鏈中,每當有新的記錄時,所有全節點都會將區塊鏈同步。所有全節點會將這些數據作為一個區塊同時添加到他們的區塊鏈中。比特幣區塊鏈上的每個全節點都擁有完全相同的區塊鏈。
Nostr協議閃電網絡交易突破100萬筆:金色財經報道,基于Nostr協議的開放社交應用Damus的Zaps支付突破100萬筆。Zaps (NIP-57)是一種新穎的、僅限Nostr的社交媒體活動,它利用閃電網絡傳輸價值。它通過創建兩種新的注釋來工作,一種是zap(種類9735),一種是zap請求(種類9734)。它們共同使 Nostr客戶可以從LNURL服務器請求Zap發票并支付。接收Zap付款的閃電錢包也會創建票據,然后將其廣播到中繼。[2023/6/16 21:42:37]
如果我們希望 Nostr 用戶始終能夠看到彼此的帖子,那么所有的 Nostr 中繼都需要一種方式來識別用戶配置文件中缺失的數據,以便它們可以從其他 Nostr 中繼或用戶那里請求缺失的部分。
大約每周一次,用戶可以將他們的所有帖子組織成一個 Merkle 樹。
Merkle 樹中的每個葉子包含一個帖子的哈希,就像比特幣中每個葉子包含一個交易的哈希一樣。
一旦用戶將整個配置文件組織成一個 Merkle 樹,他們將在鏈上的 OP_RETURN 中發布 Merkle 根,在一個普通的比特幣交易下方。這就是為什么 Nostr 2.0 不需要對區塊鏈進行硬分叉來工作。OP_RETURN 是比特幣交易下方的一個區段,允許在發送者簽名之前附加小的注釋信息。
另外,用戶將對整個樹進行哈希,并將其與 Merkle 根一起(在 OP_RETURN 中)上傳到鏈上。Merkle 根只是頂部分支的哈希,而不是整個樹的哈希。整個樹的哈希對于用戶和中繼能夠檢測到配置文件數據是否缺失至關重要。
要獲得整個樹的哈希,請將 Merkle 根放置在文本文件的根部。然后,在根下方的行上放置 Merkle 分支。然后,在分支下方的行上放置 Merkle 葉子。一旦樹按照描述的方式排列好,一次性對其進行哈希處理。下面是一個整個樹哈希的示例,它是上面所示的 Merkle 樹的整個樹哈希的樣子。整個樹哈希(一次性哈希所有 Merkle 樹數據)
安全機構:Cronos上Crolend項目疑似rugpull,網站已關閉:12月2日消息,區塊鏈安全機構PeckShield Alert發推表示,區塊鏈平臺Cronos上Crolend項目疑似rugpull,Crolend_io已經刪除其社交賬戶/群組,并且網站已關閉。被盜資金位于0xb9aA aE11ba22e37B597b0b7d90092F85d6Cd8e1e。[2022/12/2 21:18:37]
Merkle 根和整個樹哈希提供了兩個關鍵功能:
Merkle 根允許用戶和中繼一次下載一個配置文件的一部分,就像能夠下載一個交易而不必下載整個區塊一樣。
整個樹哈希讓用戶和中繼知道他們存儲的配置文件是否不完整。與 Merkle 根不同,只有在 Merkle 樹中擁有所有數據位時,整個樹哈希才會匹配。
這種廉價的方法可以用來每周或用戶自定義的頻率更新整個配置文件。Nostr 仍然可以像現在一樣工作,但是如果用戶希望所有用戶都能看到他們的帖子,他們可以偶爾支付一些 sats 來在 Nostr 中繼之間同步他們的數據。
用戶和中繼可以一次下載一個分支的帖子。在每個分支之后,他們會將該分支與最接近 Merkle 根的另一個分支進行哈希,以檢查是否與鏈上的 Merkle 根匹配(類似于 SPV)。如果這些分支一起哈希與 Merkle 根匹配,那么他們就會知道該分支是用戶配置文件的一部分,即使他們還沒有完整的用戶配置文件。用戶可以從許多不同的 Nostr 中繼下載同一個配置文件的不同分支,同時驗證每個分支的有效性,并確保下載的配置文件是完整的。
逐個下載分支可以防止延遲攻擊,這種攻擊可能會癱瘓許多分布式網絡,這就是為什么比特幣白皮書中使用 Merkle 根和分支來保護 SPV 輕錢包的原因。
動態 | Melon上線AragonOS 嘗試運行去中心化治理組織:去中心化數字資產管理協議Melon的治理組織Melon Council宣布上線 AragonOS,運行去中心化治理組織Melon Council DAO,旨在提升組織決策系統的安全和透明度。Melon官方稱,AragonOS 治理系統非常強大,理論上可滿足Melon Council制定任何決策,包括協議參數變更、ENS 子域名更新、資源支出、銷毀未使用代幣等。[2019/8/14]
為什么 Merkle 根不能像整個樹哈希一樣的功能?
如果 Nostr 中繼僅依賴于 Merkle 根,那么它們將無法知道 Merkle 樹何時完整,因為最接近 Merkle 根的每對分支都會哈希到同一個 Merkle 根中。
為了確保用戶的配置文件完整,中繼或用戶會將他們更新后的整個 Merkle 樹進行哈希,并驗證它是否與鏈上的整個樹哈希匹配。如果整個樹哈希匹配,那么用戶數據就是完整的。如果整個樹哈希不匹配,那么中繼或用戶可以告訴其他中繼他們的最新葉子編號,并請求缺失的分支,直到整個樹哈希匹配為止。為了跟蹤每周左右添加的所有新 Merkle 根,Nostr 中繼必須成為比特幣全節點。Nostr 2.0 中繼通過間接獲得報酬來存儲比特幣區塊鏈,同時增強了比特幣和 Nostr 的安全性。
由于中繼有權選擇要存儲的內容,與比特幣全節點不同,Nostr 中繼可能會丟失一些用戶數據。因此,用戶應該只在 Nostr 中繼上存儲數據,如果用戶可以在本地進行備份。Web5 的自托管服務可以讓用戶將備份同步到所有本地設備上,這將降低對使用 Nostr 感到擔憂的用戶的風險。歸根結底,只有區塊鏈是數據真正不可變的地方。雖然如此,Nostr 是一個相當安全的混合方案,對于許多應用程序仍然能夠良好運行。下面列出了權衡的方面:
第 1 層:不可變且昂貴的數據存儲,極難被審查。(鏈上區塊同步所有比特幣全節點)
聲音 | Gnosis創始人:以太坊應用情況應通過DAPP應用落地來衡量:據CCN報道,Gnosis創始人Martin Koppelmann表示,以太坊的應用情況應通過DAPP的網絡效應來衡量,而不是通過區塊鏈網絡的用戶數來衡量。對于以太坊來說,最好衡量標準不是部署了多少DAPP或DAPP有多少交易,而是有多少DAPP被創建并應用落地。[2018/8/17]
第 2 層:可變且廉價的數據存儲,中等難度的審查。(離鏈 Merkle 樹和鏈上哈希,按需同步 Nostr 中繼)
本地數據存儲同步到所有本地設備,容易被審查。(本地集中化)
存儲特定地址數據的 Nostr 中繼越多,越難以審查該數據。這意味著由許多 Nostr 中繼托管的熱門數據可能比很少被下載的不受歡迎數據更難以被審查。
另一方面,Nakamoto 共識區塊鏈可以防止基于數據的年齡進行審查。數據在區塊鏈中存在的時間越長,使用 51% 攻擊刪除數據就越困難。
由于我們可以驗證某些分支屬于特定用戶,所以每當 Nostr 中繼將一小段數據傳遞給用戶時,就可以向它們支付報酬。為了實現這一點,用戶需要下載區塊鏈的頭部(就像在 SPV 中那樣),以便能夠執行輕錢包的典型功能。用戶將利用輕錢包的 SPV 功能從鏈上獲取特定的交易,該交易將在其 OP_RETURN 中包含用戶配置文件的 Merkle 根和整個樹哈希。現在,用戶可以支付中繼逐個分支地下載該用戶的配置文件,并通過將它們進行哈希運算以與鏈上的 Merkle 根匹配來驗證每個分支。
為了向 Nostr 中繼發送 sats(比特幣的最小單位),以交換提供數據,我們使用 Gregory Maxwell(著名比特幣核心開發者)的 ZKCP 設計(零知識條件支付)的演化版本,即 ZKCSP:可檢索性證明與閃電網絡相結合。
對沖基金大亨Jim Chanos:比特幣的“欺詐周期”是投機偽裝成技術突破: 據cointelegraph消息,對沖基金大亨Jim Chanos6月4日在接受彭博的采訪時表示,去年大眾對比特幣的興趣增加是“欺詐周期”的一部分,比特幣的“欺詐周期”只是一個偽裝成貨幣政策技術突破的證券投機游戲。在全球金融危機中,政府可通過法幣進場救市。然而鑒于加密貨幣的多中心化,而這是其無法提供的。[2018/6/5]
根據 ZKCSP 白皮書的描述:
「…不需要可信任的第三方…我們還為可檢索性證明的情況實現了 ZKCSP 協議,客戶向服務器支付費用以獲得證明客戶數據在服務器上正確存儲。」
用戶與幾位融資者啟動了一個閃電智能合約。
用戶向周圍的融資者發送請求。融資者對該請求進行簽名。
用戶將融資者簽署的請求直接發送給與這些融資者連接的 Nostr 中繼。
用戶現在啟動 ZKCSP 構造,以確保只有在正確請求的數據被傳遞后,Nostr 中繼才會從融資者那里獲得支付。
一旦發生第 3 步,用戶在第 4 步中啟動 ZKCSP 構造之前,將在融資者簽署的原始請求之上進行修改。用戶將在原始請求之上添加額外的內容,指定從用戶和融資者的余額中扣除的金額(它們必須是相同的金額,加上融資者的費用),然后用戶將對其添加到原始消息上的內容進行簽名。
如果用戶指定要發送的 sats 超過其擁有的數量,或者超過融資者在該 Nostr 中繼上凍結的數量,那么 Nostr 中繼將拒絕該請求,因為中繼將無法得到支付。
通過這種方式,用戶可以與許多 Nostr 中繼連接,同時只與少數融資者凍結他們的資金。閃電網絡也可以采用類似的方式,其中信任最小化的融資者是用戶和商家之間的無需許可的中間人。在 Nostr 2.0 中也可以使用普通的 P2P 閃電跳,但是如果路由和通道平衡經常失敗,這種方法可能會很有用。
如果 Nostr 中繼希望存儲所有這些用戶查看的數據,它們可以將某些密鑰加入白名單。如果 Nostr 中繼無法將希望存儲數據的用戶加入白名單,那么它們將存儲發送給它們的任何數據。如果用戶始終可以免費向中繼發送數據,那么用戶將永遠不需要支付 Nostr 中繼。只有當中繼有拒絕存儲無法支付的數據的選項時,Nostr 才能提供付費選項。免費中繼仍然存在,但目前不存在付費中繼的選項。
付費的 Nostr 中繼可以使用白名單選擇性地存儲其付費用戶每天查看的所有數據,而不是試圖免費存儲所有 Nostr 數據。一些 Nostr 中繼將繼續采用免費模式,但在最大規模上,這是不可持續的,因為大多數免費中繼只是熱情的愛好者。白名單(即使我們能夠為每個 Nostr 配置文件安全地分配一個公鑰)賦予 Nostr 中繼決定哪些數據存儲的能力,將不可能實現。
每個配置文件一個公鑰解鎖白名單功能:比特幣地址成為您的 Nostr 公鑰。
該系統最終使我們能夠為每個配置文件分配一個公鑰。
用戶為每個帖子創建新的公鑰沒有任何好處...因為它們都與他們的配置文件關聯!這與比特幣地址不同。與比特幣不同,讓用戶在同一個應用程序中擁有多個公鑰并不會提高隱私。
Nostr 配置文件的公鑰必須與包含每周哈希值(用戶所有帖子的 Merkle 根和整個樹哈希)的比特幣交易的公鑰匹配。與 Nostr 用戶使用 Schnorr 簽名不同,他們將需要使用比特幣錢包(移動錢包 / 輕錢包或完整節點)進行簽名。
這個美妙之處在于,每個 Nostr 賬戶都將用其比特幣地址表示,這意味著用戶可以直接向 Nostr 賬戶發送付款,而無需請求兩個不同的公鑰。這降低了新用戶在系統中的認知成本。用戶仍然需要向彼此發送公鑰或 DNS 以在 Nostr 上找到對方,而不是使用用戶名。
如果其他 Nostr 應用程序使用不同的公鑰,它們仍然可以附加到相同的去中心化身份(DID)上 - 這樣,識別您的賬戶的方式在應用程序間仍然保持一致。不過,這個 Nostr 共識規則將限制每個 Nostr 應用程序上的每個配置文件只能使用一個公鑰。
DHT 作為對等發現排行榜。
中繼可以使用分布式哈希表(DHT)來找到其他中繼。中繼可以通過列出存儲數據的公鑰來在分布式哈希表中共享其白名單。這樣,對于某個公鑰的數據缺少分支的中繼可以掃描 DHT 并直接連接到聲稱存儲那些缺少分支的其他中繼的 IP 地址。然后,中繼可以直接從這些 Nostr 中繼下載缺少的分支。
中繼還將能夠通過檢查這些中繼在鏈上解決了多少以前的 ZKCSP 交易 - 近期和全部時間 - 來找到最活躍的中繼。在這個系統中,所有 Nostr 中繼都成為完整節點,所以審計其他中繼的先前交易將是輕松的。這將使得偽造信任成本昂貴,因為鏈上交易總是需要交易費用。如果 Nostr 中繼打開許多通道與自己建立信任,以獲取其他中繼的信任,他將不得不支付大量交易費用來維持每周的虛假聲譽。在攻擊者無法提供缺失的分支之后,超時將導致中繼斷開連接 - 因此這只是一種暫時的、代價高昂的攻擊(就像 51% 攻擊是一種暫時的、代價高昂的攻擊)。
DHT 不像挖礦那樣匿名,因為每個 Nostr 中繼的公鑰將在 DHT 中的 IP 地址旁邊列出,但它將避免中繼在網絡上盲目發送請求的需求 - 在足夠大的規模下,這將導致網絡超載。希望獲得更高隱私性的 Nostr 中繼可以使用 VPN 或其他 IP 保護服務。
用戶將無法訪問此相同的信任系統,因為他們不是完整節點。不過,用戶可以依賴。
由于用戶在其輕錢包中自動存儲了所有區塊頭,用戶可以查看最活躍的礦工是哪些。礦工成為金融家將使用戶能夠篩選出最受歡迎的礦工,這樣他們就不必盲目地將資金與沒有與網絡的生存能力相關的隨機金融家綁定。
金融家(礦工)只需要將他們的 sats 與 Nostr 中繼鎖定,而不需要在用戶和中繼之間傳遞數據本身。金融家(礦工)只需簽署用戶的請求,以便用戶可以直接與金融家連接的所有 Nostr 中繼進行交互 - 如上所述的 ZKCSP+Lightning 的 4 個步驟。
如果沒有比特幣的 Nakamoto 共識區塊鏈,閃電網絡將無法存在,因為用戶將沒有地方存儲其離鏈交易的捆綁證明。
就像用戶將所有這些閃電網絡交易捆綁在一起并將小證明放入區塊鏈中一樣,我們將捆綁所有 Nostr 數據并將小證明放入區塊鏈中。與閃電網絡在第二層提供即時支付的方式相同,Nostr 可能能夠在第二層提供數據存儲,而無需承擔不安全的側鏈的風險。
它采用了與閃電網絡相同的方法,其中比特幣的 Nakamoto 共識區塊鏈位于第一層,Nostr+ZKCSP 閃電位于第二層。
DAOrayaki
個人專欄
閱讀更多
金色早8點
Odaily星球日報
金色財經
Block unicorn
曼昆區塊鏈法律
原文作者:Flamie 以太坊作為開放式平臺,為 DApp 提供了廣泛的支持。然而,其主要缺點是用戶體驗相對復雜,例如如何使用小狐貍錢包.
1900/1/1 0:00:00作者:NingNing,獨立分析師 來源:推特,@0xNing0x 編譯:金色財經,善歐巴Curve 3Pool LP配比失衡是常態 只有極端失衡才會引發脫錨推特和微信群開始流傳一張Curve.
1900/1/1 0:00:00從最早的比特幣,到萊特幣、前期的以太坊等,彼時的硬件挖礦(算力)皆以 PoW 共識機制為基礎,也讓礦工成為獲取 token 的最“上游”的角色.
1900/1/1 0:00:00以太坊銘文協議火了,它和比特幣上的Ordinals 協議類似,允許人們在以太坊主網上刻入不同類型的文件,只要大小不超過96KB即可.
1900/1/1 0:00:00作者:Arthur Hayes;編譯:GaryMa 吳說區塊鏈上周,我約見了我最喜歡的 OG 波動率基金經理 David Dredge 和他的幾位同事,一起喝了杯咖啡.
1900/1/1 0:00:00全球規模最大的資管巨頭之一貝萊德 (BlackRock) 今晨通過子公司 iShares 向美 SEC 提交了現貨比特幣 ETF 的文件申請,該申請文件顯示.
1900/1/1 0:00:00