前言
流動(dòng)的黃金诊霹,這個(gè)比喻與谷歌的TensorFlow有點(diǎn)異曲同工,在Ulord系統(tǒng)里,就好像有很多的UTXO在流動(dòng)懂酱。要想了解Ulord區(qū)塊鏈的運(yùn)行的基本原理,UTXO是一個(gè)很好的切入點(diǎn)誊抛。
在Ulord的轉(zhuǎn)賬過程中列牺,有一個(gè)特別值得一提的概念,叫UTXO拗窃。了解過比特幣的小伙伴應(yīng)該比較清楚瞎领,UTXO是比特幣的原創(chuàng),那么對(duì)于躋身于比特幣系的Ulord公鏈來說随夸,自然免不了涉及到這個(gè)天才設(shè)計(jì)九默。前段時(shí)間,在進(jìn)行在Ulord主節(jié)點(diǎn)申請(qǐng)過程中宾毒,有一個(gè)環(huán)節(jié)就是要鎖定10000UT(UT是Ulord公鏈的通證驼修,UlordToken的縮寫),作為主節(jié)點(diǎn)的基本要求诈铛,然而乙各,這看似十分簡單的動(dòng)作,卻鬧出了不少“笑話”幢竹,一些小伙伴為了湊齊10000UT耳峦,轉(zhuǎn)入轉(zhuǎn)出,來來回回折騰了無數(shù)次焕毫,最后還是求助技術(shù)人員才把這“龐大的工程”完成蹲坷。那么驶乾,到底為什么會(huì)出現(xiàn)這種本不應(yīng)該出現(xiàn)的難題呢?仔細(xì)想來冠句,罪魁禍?zhǔn)讘?yīng)該就是這個(gè)UTXO轻掩!
賬戶余額模型
在詳細(xì)介紹UTXO之前,我們先從熟悉的東西入手懦底,看看傳統(tǒng)的賬戶余額模型是怎么工作的唇牧。在現(xiàn)實(shí)生活中,銀行卡采用的賬戶余額模型聚唐,想想下面一種場景:Cyber要給樂淘淘轉(zhuǎn)100元丐重。
首先,?Cyber有一個(gè)賬戶杆查,假設(shè)里面有余額500?元扮惦,樂淘淘也有一個(gè)賬戶,假設(shè)有余額200元亲桦。當(dāng)Cyber付給樂淘淘100元時(shí)崖蜜,系統(tǒng)會(huì)做如下操作:
1.?檢查Cyber賬戶余額為500元,大于100元客峭,將Cyber賬戶里減去100元(如果加上手續(xù)費(fèi)豫领,Cyber的賬戶的實(shí)際余額應(yīng)該小于400元);
2.?在樂淘淘的賬戶里增加100元(樂淘淘的賬戶余額為300元)舔琅。
賬戶余額模型可以通過中心化(傳統(tǒng)銀行系統(tǒng))或者去中心化(以太坊)的方式實(shí)現(xiàn)等恐,不同點(diǎn)主要是在于誰來記賬。
UTXO模型
現(xiàn)在來看看UTXO备蚓,UTXO?是?Unspent Transaction Output的縮寫课蔬,其中TX表示Transaction。相似的應(yīng)用場景郊尝,Cyber要給樂淘淘轉(zhuǎn)100UT二跋。在UTXO模型中,系統(tǒng)會(huì)有哪些流程呢流昏?
首先扎即,Cyber有一個(gè)UT錢包,錢包里面可使用的UT是500横缔。樂淘淘有一個(gè)UT錢包铺遂,錢包內(nèi)有300UT衫哥。注意了茎刚,需要敲一下桌子!Cyber的UT錢包里面的500UT撤逢,其實(shí)在Ulord區(qū)塊鏈上記錄的是一筆筆的轉(zhuǎn)賬膛锭,假設(shè)Cyber的UT來源是李雷轉(zhuǎn)入的200UT和韓梅梅轉(zhuǎn)入的300UT粮坞。這個(gè)時(shí)候,Cyber擁有兩個(gè)UTXO的使用權(quán)初狰,一個(gè)是200UT莫杈,一個(gè)是300UT。每一個(gè)UTXO是一個(gè)整體奢入,只能作為一個(gè)整體使用筝闹。好的,接下來腥光,我們再來看看关顷,Cyber給樂淘淘轉(zhuǎn)100UT時(shí),Ulord系統(tǒng)做了什么:
1.選擇一個(gè)大于100UT的UTXO武福,這里選擇200UT的這個(gè)UTXO议双;
2.創(chuàng)造一個(gè)100的UTXO給樂淘淘,同時(shí)創(chuàng)造一個(gè)99.99UT的UTXO給Cyber作為找零(這里假設(shè)系統(tǒng)收取Cyber的轉(zhuǎn)賬手續(xù)費(fèi)為0.01UT捉片,實(shí)際上沒這么高平痰,多少還可以自己調(diào)節(jié)!)伍纫。
我們再來看看轉(zhuǎn)賬結(jié)束后兩個(gè)人的UTXO變化宗雇,Cyber擁有兩個(gè)UTXO:一個(gè)99.99UT,一個(gè)100UT翻斟;樂淘淘增加了一個(gè)100UT的UTXO逾礁。
從上面的例子我們可以看到,其實(shí)UTXO就像紙幣访惜,每一個(gè)UTXO都有自己的面值嘹履,但和紙幣不同的是,在一次支付過程中有舊的UTXO被銷毀债热,新的UTXO被生成砾嫉。UTXO的面值是變化的,轉(zhuǎn)賬多少窒篱,新生成的UTXO面值就是多少焕刮。對(duì)比而言,紙幣在支付的過程中墙杯,沒有新的紙幣產(chǎn)生配并,而是把支付方的紙幣給到收款方,找零是由收款方給到支付方高镐,且紙幣的面值是固定有限的溉旋。
說到這里,大家應(yīng)該大概知道了UTXO模型的一些特性嫉髓,這里我總結(jié)一下:
1.每一個(gè)UTXO只能以一個(gè)整體使用观腊,像使用一張紙幣邑闲;
2.一個(gè)交易過程,有舊的UTXO銷毀梧油,新的UTXO產(chǎn)生苫耸,銷毀與產(chǎn)生的UTXO等值(不考慮手續(xù)費(fèi));
3.UTXO有自己的“面值”儡陨,每次支付可以用掉多個(gè)UTXO褪子,保證支付足夠多的UT。
結(jié)束語
隨著我們對(duì)UTXO的了解骗村,又產(chǎn)生了一個(gè)新的疑惑褐筛,既然每個(gè)交易都是有UTXO的銷毀與產(chǎn)生,且輸入與輸出的UTXO面值相等(不考慮手續(xù)費(fèi)的情況下)叙身,以保持系統(tǒng)內(nèi)部Token的數(shù)量恒定渔扎,那么這些Token是怎么來的呢?這好像類似于一個(gè)雞生蛋的問題信轿。其中的緣由就是coinbase?交易晃痴,關(guān)于coinbase?的相關(guān)介紹,請(qǐng)關(guān)注下一篇文章《CyberKuber白話區(qū)塊鏈系列課程2:動(dòng)力的源泉coinbase?交易》财忽。