初識(shí)Clef

以太坊版本1.8.4開(kāi)始欺缘,增加了獨(dú)立簽名人Clef功能栋豫,該功能目前尚處在alpha階段。它主要實(shí)現(xiàn)了簽署交易谚殊、簽署數(shù)據(jù)和管理賬戶丧鸯。它的README中是這樣描述的:

Clef可以用來(lái)簽署交易和數(shù)據(jù),并且可以代替geth的賬戶管理嫩絮。

這使DApps不依賴于geth的賬戶管理丛肢。 當(dāng)DApp想要簽署數(shù)據(jù)時(shí),它可以將數(shù)據(jù)發(fā)送給簽名者絮记,然后簽名者將向用戶提供上下文并要求用戶簽署數(shù)據(jù)摔踱。 如果用戶授予簽名請(qǐng)求,簽名者將簽名發(fā)送回DApp怨愤。

此設(shè)置允許DApp連接到遠(yuǎn)程以太坊節(jié)點(diǎn)并發(fā)送本地簽名的事務(wù)派敷。 這可以在DApp連接到遠(yuǎn)程節(jié)點(diǎn)的情況下提供幫助,因?yàn)楸镜匾蕴还?jié)點(diǎn)不可用撰洗,不與同步鏈或沒(méi)有內(nèi)置(或有限)帳戶管理的特定以太坊節(jié)點(diǎn)同步篮愉。

Clef可以在同一臺(tái)機(jī)器上作為守護(hù)進(jìn)程運(yùn)行,也可以在usb-stick(如usb armory)中運(yùn)行差导,或者在QubesOS類型的os設(shè)置中運(yùn)行單獨(dú)的虛擬機(jī)试躏。

乍聽(tīng)起來(lái)好像沒(méi)什么新鮮的,目前以太坊DApp通過(guò)web3接口就可以完成的功能设褐。通過(guò)通讀代碼和文檔說(shuō)明后發(fā)現(xiàn)颠蕴,其實(shí)它最大的亮點(diǎn)有兩個(gè):

  1. 人機(jī)交互,實(shí)現(xiàn)對(duì)一筆發(fā)起的交易進(jìn)行另一方批準(zhǔn)確認(rèn)助析;
  2. 規(guī)則引擎犀被,實(shí)現(xiàn)自動(dòng)化交易確認(rèn)。

Clef內(nèi)置了一個(gè)JS解釋器引擎外冀,使用JS編寫(xiě)自動(dòng)化批準(zhǔn)規(guī)則寡键,來(lái)達(dá)到自動(dòng)化交易確認(rèn)的目的。以下是我對(duì)Clef服務(wù)的理解:

clef_ structure.png

Clef命令行做三件事:

  1. 初始化一個(gè)密碼雪隧,用以后續(xù)加密以太坊賬戶密碼西轩、加密規(guī)則集文件信息摘要值,以及其他需要加密的信息脑沿;
  2. 添加一個(gè)規(guī)則集文件摘要信息藕畔,并保存規(guī)則集文件;
  3. 添加一個(gè)以太坊賬戶和密碼庄拇,信息會(huì)以加密方式保存注服;

之后啟動(dòng)Clef,它會(huì)提供HTTP RPC服務(wù),調(diào)用它的接口祠汇,發(fā)起交易;經(jīng)過(guò)規(guī)則引擎確認(rèn)熄诡,使用以上第三步保存的以太坊賬戶可很,從keystore中用密碼解開(kāi)賬戶私鑰,對(duì)交易進(jìn)行離線打包凰浮,并返回打包后的結(jié)果我抠。這里的初始化密碼很重要,它是一切加密存儲(chǔ)的源頭袜茧,Clef文檔中提到該密碼需要由用戶自行保管菜拓,就像是用戶保管ssh key一樣。

每一個(gè)Clef RPC請(qǐng)求都會(huì)用單獨(dú)的JS解釋器引擎處理笛厦,因此全局變量在規(guī)則集文件中是沒(méi)有作用的纳鼎。可以通過(guò)磁盤(pán)存儲(chǔ)文件的方式共享變量裳凸。

規(guī)則引擎很強(qiáng)大贱鄙,可以做一些智能合約做不到的事情,比如定時(shí)轉(zhuǎn)賬姨谷、24小時(shí)內(nèi)轉(zhuǎn)賬限額等等逗宁。可以說(shuō)彌補(bǔ)了智能合約的不足梦湘,并且可想象的空間有很多瞎颗。目前Clef和以太坊并未完全打通,Clef返回值只會(huì)吐出離線簽名后的原始數(shù)據(jù)捌议,還需要客戶端自行將原始數(shù)據(jù)發(fā)送給以太坊節(jié)點(diǎn)哼拔;并且Clef安全性也有待考證,一旦初始化密碼被竊取禁灼,用戶的以太坊賬戶就有被盜走的風(fēng)險(xiǎn)管挟。

BOX (A business wallet solution)在保護(hù)企業(yè)私鑰方面考慮得比較多,企業(yè)的私鑰由多人共管弄捕,缺少任何一個(gè)人的口令都無(wú)法還原私鑰僻孝。并且BOX的私鑰保存在簽名機(jī)內(nèi)存中,受到守護(hù)程序的保護(hù)守谓,一旦檢測(cè)到異常情況穿铆,守護(hù)程序會(huì)將簽名機(jī)殺死,簽名機(jī)在停機(jī)前會(huì)清零私鑰所在內(nèi)存數(shù)據(jù)斋荞。

BOX對(duì)簽名機(jī)私鑰所在內(nèi)存也做了防護(hù)荞雏,在私鑰所在內(nèi)存段前后設(shè)置內(nèi)存守護(hù)頁(yè),所以如果任何操作嘗試讀寫(xiě)這些頁(yè)的話,SIGSEGV就會(huì)拋出一個(gè)訪問(wèn)沖突凤优,進(jìn)而保護(hù)私鑰不被竊取悦陋。

Clef的規(guī)則引擎很好,BOX或許將借鑒Clef的優(yōu)秀思想筑辨,擴(kuò)充基礎(chǔ)功能俺驶。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市棍辕,隨后出現(xiàn)的幾起案子暮现,更是在濱河造成了極大的恐慌,老刑警劉巖楚昭,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栖袋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抚太,警方通過(guò)查閱死者的電腦和手機(jī)塘幅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)尿贫,“玉大人晌块,你說(shuō)我怎么就攤上這事∷” “怎么了匆背?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)身冀。 經(jīng)常有香客問(wèn)我钝尸,道長(zhǎng),這世上最難降的妖魔是什么搂根? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任珍促,我火速辦了婚禮,結(jié)果婚禮上剩愧,老公的妹妹穿的比我還像新娘猪叙。我一直安慰自己,他們只是感情好仁卷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布穴翩。 她就那樣靜靜地躺著,像睡著了一般锦积。 火紅的嫁衣襯著肌膚如雪芒帕。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天丰介,我揣著相機(jī)與錄音背蟆,去河邊找鬼鉴分。 笑死,一個(gè)胖子當(dāng)著我的面吹牛带膀,可吹牛的內(nèi)容都是我干的志珍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼垛叨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碴裙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起点额,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莺琳,沒(méi)想到半個(gè)月后还棱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惭等,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年珍手,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辞做。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡琳要,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秤茅,到底是詐尸還是另有隱情稚补,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布框喳,位于F島的核電站课幕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏五垮。R本人自食惡果不足惜乍惊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望放仗。 院中可真熱鬧润绎,春花似錦、人聲如沸诞挨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惶傻。三九已至稼钩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間达罗,已是汗流浹背坝撑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工静秆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巡李。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓抚笔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親侨拦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殊橙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容