丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
金融科技 正文
發(fā)私信給嫣然
發(fā)送

0

以德跑路、被攻擊?一文詳解去中心化交易所以德的底層運(yùn)作協(xié)議

本文作者: 嫣然 編輯:溫曉樺 2018-02-22 02:00
導(dǎo)語(yǔ):中心化交易所存在一些顯著的風(fēng)險(xiǎn)和問題,那么當(dāng)下的去中心化交易所呢?

雷鋒網(wǎng)AI金融評(píng)論按:加密貨幣市場(chǎng)的繁榮離不開蓬勃發(fā)展的交易所的支撐,Poloniex、Bittrex、Bitfinex、Yunbi、Okcoin、Kraken、Liqui等等,它們?yōu)閰^(qū)塊鏈?zhǔn)袌?chǎng)的資產(chǎn)代幣化發(fā)展提供了全球化全天候的充足流動(dòng)性。然而這些中心化交易所存在一些顯著的風(fēng)險(xiǎn)和問題。因此基于區(qū)塊鏈去中心的特性在區(qū)塊鏈網(wǎng)絡(luò)上來(lái)搭建去中心化交易所的嘗試,看起來(lái)就順理成章了。

然而去中心化交易所目前還屬于比較年輕的技術(shù),對(duì)很多人來(lái)說(shuō)都有些陌生。日前hackernoon知名博主Dominiek Ter Heide發(fā)布博文,簡(jiǎn)單探討了去中心化交易所的內(nèi)部運(yùn)作。雷鋒網(wǎng)為您做如下編譯:

以德跑路、被攻擊?一文詳解去中心化交易所以德的底層運(yùn)作協(xié)議

世界上大多數(shù)的加密貨幣交易都是通過(guò)Coinbase / GDax,Binance,Bittrex等中心化交易所完成的。這些交易所管理著人們的資本(和私人密鑰)并幫助交易。在過(guò)去的幾年乃至幾周中,發(fā)生過(guò)一些高調(diào)的黑客事件,竊取了大量的資金。我認(rèn)為,在短期內(nèi)這個(gè)問題不太可能得到解決,且只會(huì)變得更糟。軟件和硬件越來(lái)越復(fù)雜,這將導(dǎo)致更嚴(yán)重的安全漏洞,例如英特爾CPU固件中最近發(fā)生的熔斷和幽靈漏洞。

去中心化交易所也被稱為DEX,是一種促使在分布式賬本上進(jìn)行加密貨幣交易的新技術(shù)。這些交易所將資金和交易的控制權(quán)交還給用戶,消除了單個(gè)故障點(diǎn)。其次,政府征稅或資金沒收幾乎不可能再發(fā)生。這對(duì)宏觀經(jīng)濟(jì)和地緣政治格局可以說(shuō)具有深遠(yuǎn)的長(zhǎng)期影響。

然而,DEX技術(shù)仍然年輕,仍然有相當(dāng)多不足之處,包括某些攻擊途經(jīng)。在這篇文章中,我們將研究去中心化交易所的內(nèi)部運(yùn)作。

EtherDelta和0x

有一個(gè)叫做0x(Zero X)的流行項(xiàng)目。該項(xiàng)目的目標(biāo)是為基于以太坊的去中心化交易所提供開放協(xié)議。該項(xiàng)目還出售$ ZRX代幣,目前交易市值 5.42億美元。(順便說(shuō)一句,我持有其中一些)。該代幣的目的是為智能合約和協(xié)議提供治理機(jī)制。

0x有一些很好的想法,開源代碼應(yīng)用現(xiàn)象和文件記錄。然而,我不確定0x要如何通過(guò)去中心化交易來(lái)盈利,以及如何維持5.42億美元的市值。 

基本上來(lái)說(shuō),0x白皮書很好的描述了EtherDelta去中心化交易所。EtherDelta是首批具備吸引力的去中心化交易所之一。它主要基于以太坊運(yùn)行,其最近的智能合約價(jià)值約為1.4億美元。即使是最懂技術(shù)的用戶,也覺得它們的用戶界面很難使用,因此這個(gè)數(shù)額可以說(shuō)是相當(dāng)驚人的。 

EtherDelta UI

了解EtherDelta交易所如何工作,就能讓我們透徹的了解去中心化交易所的當(dāng)前狀態(tài),以及0x將如何運(yùn)行。0x的本質(zhì)是具有更好的代碼和附加功能的EtherDelta。

下面我們將分析合同中最重要的兩個(gè)方面:資金管理和交易邏輯。 

EtherDelta智能合約

以太坊智能合約是能夠以分布式和不可變的方式在以太坊區(qū)塊鏈上執(zhí)行的代碼塊。EtherDelta和基于以太坊的交易所的核心邏輯就在于這些智能合約。與傳統(tǒng)的編程相比,實(shí)施這些智能合約就像是發(fā)射火箭。需要超級(jí)安全和強(qiáng)大,因?yàn)槿魏五e(cuò)誤都可能導(dǎo)致巨額的資金損失。

智能合同通常是用人類可讀的語(yǔ)言(稱為Solidity)編寫的,被編譯成以太坊虛擬計(jì)算機(jī)指令(Ethereum Virtual Machine instructions,簡(jiǎn)稱EVM指令)。這些EVM指令實(shí)際上是人類無(wú)法讀取的。有些項(xiàng)目選擇永遠(yuǎn)不共享智能合約的“Solidity”代碼,通過(guò)隱匿實(shí)現(xiàn)安全性。例如,Crypto Kitties(加密貓咪)遺傳多樣性智能合約就是“閉源”的。即便如此,從理論上講,我們通常都能夠把智能合約的原始結(jié)構(gòu)拼湊起來(lái),所以閉源智能合約總讓人感到厭倦。

EtherDelta合同的Solidity代碼可以在Etherscan這里免費(fèi)獲得:https://etherscan.io/address/0x8d12a197cb00d4747a1fe03395095ce2a5cc6819

資金管理

EtherDelta將資金控制權(quán)完全給了用戶。即便如此,要使用EtherDelta資金,需要將其轉(zhuǎn)移到智能合約中。資金基本上集中在智能合約中,但全部在分布式賬本上完成。我知道這令人困惑。歸根到底,在任何時(shí)候用戶都可以在沒有任何第三方介入的情況下提取或存入資金。 

EtherDelta資金管理Solidity代碼

正如你在上面的摘要中所看到的,有兩種移動(dòng)資金的機(jī)制。一個(gè)是針對(duì)移動(dòng)ETH——也就是以太坊的本幣。另一個(gè)是移動(dòng)代幣ERC20。事實(shí)上,現(xiàn)在大多數(shù)ICO和可交易代幣實(shí)際上就是基于太坊區(qū)塊鏈的ERC20代幣。以太坊提供了處理這些標(biāo)準(zhǔn)代幣的特殊機(jī)制。

您可能會(huì)注意到,在上面的代碼中,只有一種方法被標(biāo)記為“應(yīng)付”。這是Solidity的一個(gè)安全機(jī)制,明確允許將ETH資金發(fā)給該調(diào)用。任何客戶要存儲(chǔ)代幣都需要執(zhí)行額外的步驟,來(lái)授權(quán)ERC20代幣的轉(zhuǎn)移。

EtherDelta的資金管理看起來(lái)非常穩(wěn)固。一些智能合同有管理員用戶吸取資金的機(jī)制。IDEX分散交易智能合約就是這種情況。人們對(duì)這樣的機(jī)制應(yīng)該是很不耐煩的。 

交易邏輯

在EtherDelta中,新的市場(chǎng)訂單可以“鏈上”或“鏈下”存儲(chǔ)。鏈上存儲(chǔ)意味著它們被存儲(chǔ)在智能合約中,鏈下則意味著存儲(chǔ)在第三方如中央服務(wù)器中。在實(shí)踐中,由于成本和速度的影響,EtherDelta沒有鏈上存儲(chǔ)訂單。相反,它們使用以下機(jī)制。

人們可以為給定的ERC20代幣提交一個(gè)公開的買入或賣出定單——用交換術(shù)語(yǔ)來(lái)說(shuō),這個(gè)人就是Maker。另一個(gè)交易者可以瀏覽這些訂單,并選擇執(zhí)行它們——這個(gè)人被稱為Taker。 

接下來(lái),使鏈下訂單開始運(yùn)轉(zhuǎn)的關(guān)鍵因素來(lái)自區(qū)塊鏈的核心——橢圓曲線數(shù)字簽名算法 ,也可以簡(jiǎn)稱為ECDSA。這是不對(duì)稱密碼的一個(gè)特殊變體,它允許公鑰和私鑰加密以及簽名驗(yàn)證——所有這些都以有利于計(jì)算的方式進(jìn)行。

以德跑路、被攻擊?一文詳解去中心化交易所以德的底層運(yùn)作協(xié)議

在較高層面來(lái)說(shuō),這是它在EtherDelta中的工作原理:

  • Maker創(chuàng)建一個(gè)新的訂單:ERC20代幣,它的數(shù)額,它的ETH金額,以及是買入還是賣出訂單。

  • Maker創(chuàng)建該訂單的密碼散列(使用SHA3)

  • 然后Maker使用以太坊私鑰為訂單散列簽名(使用ECDSA,還有特別是在比特幣中也使用的Secp256k1來(lái)實(shí)現(xiàn))

  • Maker在鏈下發(fā)送訂單以及簽名(在EtherDelta中,這一個(gè)步驟通過(guò)一組服務(wù)器用WebSockets傳遞JSON消息來(lái)完成)

  • 當(dāng)Taker想要與該訂單進(jìn)行交易時(shí),簽名和訂單信息被發(fā)送到智能合約的交易功能。

  • 智能合約驗(yàn)證簽名來(lái)源于Maker

  • 智能合約確認(rèn)訂單沒有過(guò)期或已經(jīng)履行

  • 資金轉(zhuǎn)移并收取費(fèi)用。

步驟5到7發(fā)生在合同代碼的以下關(guān)鍵位置:

代碼的第5行中,訂單的金額、價(jià)格、到期日期和被稱為nonce的一次隨機(jī)數(shù),一起生成一個(gè)散列。這個(gè)散列是一個(gè)32字節(jié)的序列,代表一個(gè)獨(dú)一無(wú)二的市場(chǎng)訂單。

第7行首先檢查鏈上訂單簿(是未使用過(guò)的訂單簿),如果沒有鏈上訂單,則對(duì)簽名進(jìn)行驗(yàn)證。

此簽名驗(yàn)證采用由Maker簽署的訂單——并驗(yàn)證是否源自Maker的帳戶地址。如果訂單參數(shù)有任何更改,該散列將需要不同的簽名。 

一旦驗(yàn)證完成,tradeBalances功能將圍繞金錢并收費(fèi)。

以德跑路、被攻擊?一文詳解去中心化交易所以德的底層運(yùn)作協(xié)議

必須指出的是,首先是從(活躍的)Taker處收錢,最后只記入Taker借方。我認(rèn)為這對(duì)合同的安全至關(guān)重要,因?yàn)橛锌赡軙?huì)發(fā)送(并驗(yàn)證)一個(gè)錯(cuò)誤的用戶地址。如果這是有意為之,會(huì)很容易讓Taker賠錢??梢姡Wo(hù)這樣的軟件安全是多么棘手和具有挑戰(zhàn)性。

結(jié)論

我們現(xiàn)在已經(jīng)簡(jiǎn)單的回顧了基于以太坊的DEX的本質(zhì)。0x項(xiàng)目還有很多的內(nèi)容,比如鏈下訂單管理的開放標(biāo)準(zhǔn),經(jīng)過(guò)充分測(cè)試和記錄的智能合約,更多類型的交易機(jī)制等等。但是在DEX的核心,都使用了相同的基本流程和密碼原則。

但據(jù)目前以德的表現(xiàn)來(lái)說(shuō),在安全、可信方面,協(xié)議仍有許多待完善之處。

在以后的文章中,雷鋒網(wǎng)將繼續(xù)為您編譯一些關(guān)于DEX以及以太坊智能合約的內(nèi)容,敬請(qǐng)期待。

以德跑路、被攻擊?一文詳解去中心化交易所以德的底層運(yùn)作協(xié)議

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章

編輯

專注區(qū)塊鏈與幣圈。微信號(hào):742603835
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)