關於Monero手續費的一份筆記

近期社群中不斷有抱怨認為Monero交易的手續費過於昂貴。雖然我們並不同意其中的一些意見,但我們還是必須先徹底地分析一下這個情況。在那之前我們必須回應一點,有些抱怨認為開發者理當要將手續費直接修改降低後釋出新版本,但這樣的作法是因小失大的,因為 1. 這個方法只是把問題向後拖延;2. 改變參數與公式需要進行硬分叉,而這需要全面的共識;3. 每當價格變化後就得介入調整手續費的作法與去中心化的生態是矛盾的。

這就讓我們拿幾個同是使用工作證明(POW)的區塊鏈貨幣來做個每單位容量(kB)手續費比較:

  • 比特幣 Bitcoin: ~$26.90
  • 乙太幣 Ethereum: ~$2.91
  • 萊特幣 Litecoin: ~$0.10
  • 達世幣 Dash: ~$0.07
  • 門羅幣 Monero: ~$0.24

比較起來,Monero的每單位容量手續費其實並不算高。但是由於每筆交易所需的容量較大,實質的費用就因此變得相當高。但必須注意的是,Monero較大的交易容量是來自於預設的隱私保護功能。例如隱藏交易金額功能RingCT中的Range proofs可以佔到12kB的容量;但RingCT在強化交易隱私上是絕對必要的,當這功能還沒有啟用時,讓許多交易洩漏了隱私。 不過有個好消息是,未來Bulletproofs協定的啟用將會降低Monero至少80%的交易容量。

閱讀更多

防彈協定(Bulletproofs)將為Monero帶來更低的手續費

這是一篇關於防彈協定(Bulletproofs)的進度簡述與其在Monero上的應用介紹。簡單來說: 這協定令人驚艷,有效地降低了手續費,且已準備好要在測試網路(testnet)上開始測試。

現行的保密交易技術(confidential transactions, CT)可將Monero的交易金額隱藏,但為了確保所有人都可以驗證交易輸入和輸出的總和為零,我們使用具有代數性質的承諾協議(commitment),此外,我們還需要確保所有數值為正值以免造成溢位(overflow)的風險,此時範圍保護(range proofs)就發揮了作用。範圍保護可以讓每個人得以將承諾協議限制在一個特定的範圍內進行驗證,並完全不洩漏其他的交易資訊。我們現行的範圍保護協定會因交易輸出增加與範圍長度(目前為64bit)而使得容量大小呈現線性成長,這就造成了肥大的交易容量。不僅如此,若是交易中有多筆輸出,每筆輸出都需要分別有各自獨立的範圍保護,更會大幅增加交易容量,這並不是一件好事。

感謝Bünz、Bootle 與其他作者近期發表的一篇論文 (原文在此),他們在論文中提出了一個更有效率的範圍保護協定,稱為防彈協定。

閱讀更多

將MyMonero網頁版錢包匯入至GUI錢包

MyMonero是許多人使用的熱門網頁版錢包,使用上方便不須煩惱同步問題,但畢竟是線上服務,偶爾會發生服務中斷或延遲等狀況,這篇要來教你怎麼把MyMonero的金鑰匯入到官方的GUI錢包。

首先必須說明一點,Mymonero用的種子碼是舊式的13字記憶種子碼(seed),而官方的錢包是25字種子碼,所以MyMonero的13字並無法適用一般的25字種子碼的回復方法,必須從MyMonero網站上取得個別的金鑰來匯入GUI錢包。

閱讀更多

更改錢包/節點的區塊資料庫位置教學

目前Monero的區塊鏈大小約為34GB,雖然不是非常巨大但也不算個小數字。在運行GUI錢包或是架設獨立節點時,從網路上同步下載的資料庫預設都是儲存在C:\ProgramData\bitmonero之中,對於許多C槽空間緊迫的人往往會想要把它移至其他位置,以下介紹如何更改預設區塊鏈資料庫儲存位置。

閱讀更多

開發者會議紀錄 DevMeeting 20171203

  • MRL 已有可運作的多筆交易輸出的bulletproofs的java測試程式碼了
    • 目前正在轉換為C++的版本(不包含多筆輸出的部分)
    • 此技術對於手續費架構的影響也在研究中(輸出筆數若很大量可能會造成DoS)
    • 單筆輸出的bulletproofs大小約略是704bytes,雙筆輸出則是768bytes左右。而依照目前門羅幣現行的版本,單筆輸出的大小是6k,雙筆輸出則是12k。
    • 多數的bulletproofs在測試時平均大小約為2.2k
    • bulletproofs可能會包含於門羅幣的2018九月硬分叉
    • 供測試網路使用的版本可能會在一周內完成
  • 為了準備發布新版本,程式碼將會在本月(2017十二月)底凍結
  • Surae Noether 的multiSig植入工作已經差不多完成檢查
  • 程式碼凍結時預計會包含到multiSig (因此multisig也會出現在下一發布版本中)
    • 若有開發者對multiSig的開發方向和程式碼有興趣,現在是最好的時機到github上看看
  • ZeroMQ(0MQ) 也預計會出現在下一個版本中,但此刻還有缺一些功能
  • 依然在研究是否可以把門羅幣的亂數生產器(Random Number Generator)換成比特幣用的版本

閱讀更多

架設Monero獨立節點教學

本篇文章將帶領你建架設獨立的完整節點(Full-node)或是遠端節點(Remote-node)

錢包跟節點的關係?

一個完整的Monero錢包 = 區塊鏈同步程式 (節點) + 錢包工具程式

以上就是Monero錢包的基本架構,這就也是為什麼每次打開GUI錢包時會自動出現區塊鏈同步程式啟動的原因。

因為錢包的運作需要依賴區塊鏈同步程式將區塊鏈的資料經由點對點(P2P)的方式下載到電腦上,再經由錢包工具程式掃描在區塊鏈中屬於自己的可用餘額;而每當你需要發送交易時,則是透過錢包工具程式利用私鑰簽署完交易之後,再經由區塊鏈同步程式透過P2P的方式將交易廣播到網路上。因此,運作中的區塊鏈同步程式在Monero點對點的網路中就是扮演一個節點(node)的角色。

節點、完整節點、遠端節點 有什麼不一樣?

前一段提到的錢包節點,它所負擔的工作只有下載區塊鏈資料和廣播錢包發出的交易,這樣可以確保區塊鏈資料是經過自己驗證的,但是,這些區塊鏈資料是從哪裡來的呢?

閱讀更多

開發者會議紀錄 DevMeeting 20171119

  • MRL小組已對BulletProofs做了徹底的研究
    • 可直接替代原先的range-proofs功能,容量大小約略是原先的10%
    • 速度基本上是一樣的… 或許可以變快一點點
    • 近期會把程式碼從Java test code 改寫成C/C++
  • MultiSig的開發持續進行中
  • 許多錯誤修正的程式碼已陸續被併入專案 (hyc 算過了, 一共72個)
    • 掩飾使用者輸入密碼時的密碼長度
    • 資料庫鎖定資料機制的更新
    • BSD的版本問題修復
    • 修正了show_transfers的多筆交易input顯示不全的問題
  • 硬體錢包
    • 團隊成員有二十位了
    • 第一個里程碑已完成
    • 原型會在本周的慕尼黑門羅幣會議展出
  • monero-core 的GitHub專案被正名為 monero-gui
  • Monero 整合小組已準備好發佈 Magento 電子商務插件下一個正在朝OpenCart電子商務插件進行整合。

閱讀更多

Monero發布新版本v0.11.1.0更新

更新總覽

此次發布的版本 v0.11.1.0為小幅度的問題修正更新。

此項更新是基於v0.11主版本的更新修正而來,主版本v0.11為因應先前九月十五號硬分叉的必要更新。該次分叉將提高了環狀簽名的大小限制為5,並踢除在環狀簽名中重複的交易輸入。這次釋出的新版本提供了許多改進並及大量的bug修復。

閱讀更多

開發者會議紀錄 DevMeeting 20171022

  • 最近已合併進主程式碼的新功能
    • 支援輕量化錢包的新API
    • 子地址功能 (Sub-addresses)
  • 一個新的發布版本(0.11.0.1)將帶來數項問題修正,最早可能會在2017年10月23日禮拜一發布。(但還會啟動上面的兩項新功能)
  • 有關dotnetrussel’s(Verge)的推特機器人的討論
    • 這真的不值得花力氣討論,因為這根本不是漏洞。
    • 它只是透過”nestat”的指令監測該IP的port連線狀況。並不代表任何Monero的使用者或任何一筆交易。
    • dEBRUYNE可能會寫一些正式的文案出來闢謠。
  • 日後有關Monero硬體錢包的討論很可能會轉移到Monero社群會議(Monero Community meeting)
  • redfish 和hyc 正在著手處理資料庫同步和損毀的問題

閱讀更多

開發者會議紀錄 DevMeeting 20171001

  • 一款名為Monerujo的Android錢包APP已在google play商店正式發佈
  • vtnerd 公佈了一個用於測試錢包掃描速度的工具,並比較了各種不同密碼學函式庫與方法(方法大多來自MRL提供)造成的差異
  • MRL 打算在今天要釋出一份有關subaddresses的資料,但必須先將格式整理好
  • Sarang 繼續埋首研究聚合簽名(aggregate signature)
  • FFS(論壇資助系統)正在重新設計成可以直接植入getmonero.org網頁中的形式
    • 模擬畫面
    • 可能會重新命名。CFS(Community funding system-社群資助系統)?
  • Monero專案的授權問題極度需要討論
  • Purism(https://puri.sm)目前對於將Monero預設直接植入他們的Debian(PureOS) 版本中十分感興趣
    • 這也意味著可能可以推廣到Debain的上游程式碼中
    • 如果有任何人正在運行PureOS (https://pureos.net/),Monero開發團隊希望可以得到一些Monero在上面運行狀況的意見回饋
  • 十二月將會有個”Monero月”的計畫
    • Monero 將會出席CCC(34C3)-跟BTC團隊與riat團隊一同出席。討論串位於 #monero-ccc
    • 將舉辦 Monero 維也納見面會

閱讀更多