比特幣Lightning網(wǎng)絡(luò)技術(shù)分析(一)

比特幣Lightning網(wǎng)絡(luò)技術(shù)本身提出來比較早虐唠,但是最近才興起起來确徙,因?yàn)楸忍貛啪W(wǎng)絡(luò)實(shí)在是太不堪重負(fù)了氢烘,大量的交易等待被打包叛复,高昂的交易費(fèi)用使得比特幣擴(kuò)容方案的選擇越來越緊迫仔引。Lightning網(wǎng)絡(luò)就是擴(kuò)容方案的一種,采用鏈下交易的形式褐奥,只是開始和結(jié)束需要在鏈上廣播交易咖耘,其他的交易完全在鏈下實(shí)現(xiàn),避免了主鏈上交易確認(rèn)的擁堵撬码,可以實(shí)現(xiàn)快速確認(rèn)儿倒,這也就是閃電網(wǎng)絡(luò)名稱的由來,非常適合于大量小額交易的場(chǎng)景呜笑。
現(xiàn)在來聊聊Lightning網(wǎng)絡(luò)的技術(shù)實(shí)現(xiàn)夫否,先請(qǐng)出我們的主人公Alice和Bob,大家都喜歡用這兩個(gè)人名叫胁,我也不免俗了凰慈。

第一步

Alice和Bob在需要交易之前先要各自拿出一筆錢來放進(jìn)一個(gè)共同的多重簽名賬戶,這個(gè)賬戶一般的說法叫channel(通道)驼鹅,通道里是交易保證金微谓,保證雙方都有錢進(jìn)行交易,不會(huì)開空頭支票输钩,另外還約束了交易金額的范圍豺型。這個(gè)多重簽名是2/2多重簽名賬戶,也就是必須Alice和Bob兩個(gè)人同時(shí)簽名才可以動(dòng)用這筆賬戶的錢买乃。后面所用到的賬戶很多都是這樣的2/2多重簽名賬戶姻氨,我在這里叫聯(lián)名賬戶。


初始狀態(tài)

這里假設(shè)Alice和Bob各出0.5個(gè)BTC放進(jìn)這個(gè)聯(lián)名賬戶剪验,當(dāng)然不一定是各0.5肴焊,金額可以雙方協(xié)商而定。
這個(gè)過程是需要在比特幣主鏈上做的碉咆,相當(dāng)于雙方先放了一部分押金在那里。

第二步

Alice和Bob各拿出一張白紙來擬定鏈下交易的合約蛀恩,內(nèi)容是什么呢疫铜?先來看Alice寫的:


Alice的合約1

這張紙上寫了兩筆交易

  • 第一筆是從Alice & Bob聯(lián)名賬戶轉(zhuǎn)到 1. Alice2 & Bob聯(lián)名賬戶和2. Bob賬戶。注意這里出現(xiàn)了個(gè)Alice2双谆,其實(shí)這也是Alice本人壳咕,只是她新創(chuàng)建了個(gè)賬號(hào)席揽,以后每個(gè)合約都會(huì)創(chuàng)建一個(gè)新的賬號(hào)。Alice2 & Bob聯(lián)名賬戶是個(gè)臨時(shí)賬戶谓厘,這個(gè)賬戶的錢最終是要轉(zhuǎn)給Alice本人的幌羞,這個(gè)可以從第二筆交易中看到。
  • 第二筆交易是從Alice2 & Bob聯(lián)名賬戶轉(zhuǎn)到Alice賬戶竟稳,但是下面有個(gè)sequence 1000是什么属桦?這個(gè)是表示延遲1000個(gè)塊才打包這筆交易,也就是Alice這筆0.5BTC的到賬相對(duì)于第一步交易中Bob的到賬要晚得多他爸。為什么會(huì)有這么奇怪的交易呢聂宾?因?yàn)長(zhǎng)ightning網(wǎng)絡(luò)為了鼓勵(lì)大家多用這種方式交易,約定誰先終止通道诊笤,也就是集齊兩個(gè)簽名系谐,誰的錢就要后到賬,另外還有一個(gè)原因是防止一方作弊讨跟,這個(gè)后面會(huì)談到纪他。
    從這個(gè)合約上來看都是對(duì)方占好處,我方吃虧晾匠,為什么要這樣呢茶袒?因?yàn)榈认乱媒o對(duì)方簽名的,沒有好處對(duì)方怎么肯簽名混聊?不過也問題不大弹谁,因?yàn)閷?duì)方也要擬定一個(gè)相反的合約給我來簽名。
    Alice擬定好這個(gè)合約以后將這份合約交給Bob簽名句喜,Bob簽好名以后再還給Alice预愤,現(xiàn)在這份合約變成了:


    Alice的合約1(Bob簽名后)

    Alice簽名仍然空著,因?yàn)樗坏┖灻鸵馕吨鴥蓚€(gè)簽名被集齊咳胃,通道被關(guān)閉植康,交易會(huì)在主鏈上廣播,這個(gè)應(yīng)該是最后一步做的展懈,也就是全部交易都做完的情況下销睁,一方簽名來關(guān)閉通道。
    而Bob也會(huì)擬定一份合約存崖,不過和Alice正好相反冻记,并給Alice簽名,簽好名的合約為:


    Bob的合約1(Alice簽名后)

第三步

以上是初始狀態(tài)来惧,下面開始正式交易冗栗,交易前還需要做一件事,那就是Alice把Alice2密鑰交給Bob,Bob將Bob2的密鑰交給Alice隅居,以后每次交易前都需要這么做钠至!
這個(gè)是防止一方作弊的!很重要胎源!
假設(shè)Bob賣給Alice一部iphone棉钧,Alice付給Bob0.1BTC,那么兩人又各拿出一張白紙來擬定新的合約涕蚤,Alice擬好合約以后交給Bob簽名宪卿,新合約如下:


Alice的合約2(Bob簽名后)

看起來和合約1差不多,只是金額有變化赞季。Bob也會(huì)擬定一份合約2愧捕,并給Alice簽名。
既然合約2出現(xiàn)了申钩,那么合約1就要給廢止了次绘,因?yàn)楹霞s2比合約1新,而且相互沖突撒遣。試想一下Alice拿著新iphone邮偎,又拿著合約1去主鏈上廣播,那么她賬戶的錢沒變义黎,還白得一部iphone禾进,Bob豈不是虧死?
那么怎么廢止合約1呢廉涕?不要告訴我當(dāng)場(chǎng)撕掉合約1那張紙泻云,現(xiàn)在是高科技時(shí)代,復(fù)制備份一份又有何難狐蜕。
從技術(shù)角度要怎么解決這個(gè)問題宠纯?那就需要用到上面交換的密鑰了。
如果Alice拿到iphone后拿著合約1來簽名层释,那么合約1變成這樣:


Alice的合約1(雙方都簽名)

Alice簽名了第一筆交易后婆瓜,順便也把第二筆交易用Alice2密鑰簽名了,因?yàn)榈诙P交易不簽名的話她拿不到錢贡羔,但是第二筆交易有個(gè)sequence廉白,所以Alice只好等。但是因?yàn)榈谝还P交易很快確認(rèn)乖寒,Bob賬戶里得到了0.5BTC猴蹂,Bob一看不對(duì)啊,我應(yīng)該得0.6BTC啊楣嘁,所以Alice一定是作弊了磅轻!Bob有什么辦法追回?fù)p失覆获?別忘了Bob手里還握有Alice2的密鑰呢,該是它發(fā)揮作用的時(shí)候了瓢省!仔細(xì)看合約1第一筆交易的第一個(gè)輸出賬戶,那是Alice2 & Bob聯(lián)名賬戶痊班,現(xiàn)在Bob兩個(gè)密鑰都有了勤婚,那就成Bob個(gè)人賬戶了,于是Bob趕緊創(chuàng)建一筆新的交易涤伐,將這個(gè)聯(lián)名賬戶的錢都轉(zhuǎn)給自己:
Bob的反攻交易

最后Bob得到了0.5BTC+0.5BTC=1.0BTC馒胆,Alice得到了一部iphone,但損失了初始聯(lián)名賬戶里的0.5BTC凝果,等于用0.5BTC買了個(gè)iphone祝迂,按目前的行情是接近3500美刀,真是虧大發(fā)了器净,得不償失靶亡ā!
由此可見山害,雙方還是要規(guī)規(guī)矩矩的纠俭,作弊要付出太大的代價(jià),Lighting網(wǎng)絡(luò)在這方面做得不錯(cuò)浪慌。

對(duì)了這種技術(shù)官方名稱叫RSMC(序列到期可撤銷合約)冤荆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市权纤,隨后出現(xiàn)的幾起案子钓简,更是在濱河造成了極大的恐慌,老刑警劉巖汹想,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件外邓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡欧宜,警方通過查閱死者的電腦和手機(jī)坐榆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冗茸,“玉大人席镀,你說我怎么就攤上這事∠氖” “怎么了豪诲?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)挂绰。 經(jīng)常有香客問我屎篱,道長(zhǎng)服赎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任交播,我火速辦了婚禮重虑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秦士。我一直安慰自己缺厉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布隧土。 她就那樣靜靜地躺著提针,像睡著了一般。 火紅的嫁衣襯著肌膚如雪曹傀。 梳的紋絲不亂的頭發(fā)上辐脖,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音皆愉,去河邊找鬼嗜价。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幕庐,可吹牛的內(nèi)容都是我干的炭剪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼翔脱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奴拦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起届吁,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤错妖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疚沐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暂氯,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年亮蛔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痴施。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡究流,死狀恐怖辣吃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芬探,我是刑警寧澤神得,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站偷仿,受9級(jí)特大地震影響哩簿,放射性物質(zhì)發(fā)生泄漏宵蕉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一节榜、第九天 我趴在偏房一處隱蔽的房頂上張望羡玛。 院中可真熱鬧,春花似錦宗苍、人聲如沸缝左。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛇数,卻和暖如春挪钓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耳舅。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工碌上, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浦徊。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓馏予,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親盔性。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霞丧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 比特幣的成長(zhǎng)煩惱 比特幣的發(fā)明者中本聰也許沒有想到若干年后比特幣會(huì)這么火,設(shè)計(jì)中存在的兩個(gè)限制已經(jīng)不能適應(yīng)如今火爆...
    逐舞傳歌閱讀 645評(píng)論 0 1
  • 以太坊(Ethereum ):下一代智能合約和去中心化應(yīng)用平臺(tái) 翻譯:巨蟹 冕香、少平 譯者注:中文讀者可以到以太坊愛...
    車圣閱讀 3,729評(píng)論 1 7
  • 有時(shí)候親情也需要說NO蛹尝! 怡欣離職了,她是我們一個(gè)事務(wù)所的小妹子悉尾,她的離職讓我很意外突那,因?yàn)樗且粋€(gè)很安靜很踏實(shí)的女...
    心桃楊閱讀 182評(píng)論 0 0
  • 秋風(fēng)涼, 葉枯黃构眯, 野艾凄凄在洲上愕难。 果實(shí)壓枝頭, 枝條晃惫霸。 歸雁聲聲亮猫缭。 落葉隨波飄蕩。 后山出壹店,前川別饵骨, 一步...
    Z0001閱讀 396評(píng)論 7 15
  • I 是什么? 你有沒有經(jīng)常反思自己的習(xí)慣茫打?周期是每天居触?每周妖混?每月,還是其他轮洋?那又是具體如何做反思的呢制市?如果你說你從...
    墨_石閱讀 195評(píng)論 6 3