從5月15日比特幣現金順利完成硬分叉升級到如今已經有一個多星期的時間。咱們都知道在比特幣現金的此次升級中有一個改動就是將OP_RETURN的大小擴充到220字節。這一改動已經給一些應用如Memo、Blockpress等帶來了好處。經過這一改變用戶可以在上面發佈更長的內容。並且如今用戶在Memo和Blockpress發佈的內容已經可以在blockchair.com區塊瀏覽器中經過搜索文本查找出來。瀏覽器
雖然OP_RETURN容量的增長給比特幣現金帶來了不少活力,可是Lokad的創始人也就是比特幣現金Terab項目的主要負責人Joannes Vermorel 卻爲了比特幣現金的長遠發展提出了「OP_RETURN的4字節前綴指南」。他認爲,區塊鏈是共享資源,雖然BCH的可擴展性是一個能夠解決的問題,可是社區須要一些原則來避免一些沒必要要的複雜狀況。因爲OP_RETURN數據在全部的參與者之間都是共享的,但這並不能保證每個參與者都會默認保留這些數據。所以OP_RETURN的4字節前綴指南的存在將可以幫助用戶根據指定的4字節前綴選擇性地保留消息。性能
OP_RETURN的4字節前綴指南是什麼?區塊鏈
OP_RETURN的4字節前綴指南又稱爲協議標識符(或協議ID)。主要內容是:全部使用Bitcoin Cash實現的協議在使用OP_RETURN時應該首先指定一個惟一的4字節前綴,做爲本身協議的ID,之後全部與本身的協議相關的消息中都會被預先添加這4字節前綴。經過這個方案能夠根據協議的不一樣對OP_RETURN上的信息進行分類,並且還能夠簡化協議之間的可操做性。隨着OP_RETURN使用的增加,協議之間的衝突將會增長。雖然這些衝突不會危及BCH自己,可是能夠避免由於協議覆蓋而進行的一些沒必要要的操做。blog
詳細的4字節前綴:資源
OP_RETURN操做碼配合OP_PUSHDATA序列:it
OP_RETURN社區
OP_PUSHDATA [data]比特幣
...擴展
OP_PUSHDATA [data]搜索
在BCH中,多個OP_PUSHDATA被視爲標準交易。
這個指南建議插入0x04 [protocol ID]做爲指定協議標識符的第一個元素。即:
OP_RETURN
0x04 [protocol ID]
OP_PUSHDATA [data]
...
OP_PUSHDATA [data]
爲了提升區塊鏈上的過濾性能,協議ID將出如今前面:首先選擇協議ID將可以儘快的跳過數據。
此外,協議ID值的位數必須高於0x00 00 00 0F且低於0x10 00 00 00。保留較低的範圍是由於標識符會與特殊的推送代碼相沖突,而且會對一小段協議提供有利的處理。保留較高的範圍是爲了將來這個指南調整以後可以兼容現行指南。
爲何前綴要用4字節?該指南表示選擇4字節做爲前綴一是由於4字節可以容許比特幣現金擁有超過2.6億個不一樣的協議,這個數量已是足夠的,二是4字節佔用的空間較小,對OP_RETURN的總體可用性影響小。
最後要強調的一點是OP_RETURN的4字節前綴指南並非一個強制性的方案,而是可選擇的,能夠遵循也能夠不遵循。若是使用該方案,還將會得到來自Terab項目的某種支持。