Py学习  »  区块链

运行在区块链上的交易所(上)

Unitimes • 6 年前 • 232 次点击  

unitimes.media

全球视角,独到见解


“这段时间跟几个朋友解释过在区块链上运行的交易所的基础原理,这篇文章整理了我对交易所的理解,并且简单介绍三间去中心化交易所EtherDelta、Kyber Network以及JOYSO的技术。”



买过加密货币的人大多都用过加密货币的交易所,相信大家对此也不陌生。目前热门的交易所大多都是采用中心化技术的交易所,而也因为储存了大量的加密货币而成为骇客的觊觎目标。


在此同时也有许多专案开始研发运行在区块链的去中心化交易所。比起中心化的技术,运行在区块链上的去中心化交易所是利用区块链的三个特性:分布式、透明、不可篡改的特性来加强交易所的安全性与透明度,而许多解决方案也逐渐地浮出台面。


这阵子跟几个朋友解释过在区块链上运行的交易所的基础原理,这篇文章整理了我对交易所的理解,并且简介三间去中心化交易所EtherDelta、Kyber Network以及JOYSO的技术。


这篇文章会分成上下两部分,上半部分(也就是本文)讲解基础概念与中心化交易所,下半部分讲解去中心化交易所以及结论。


另外这边讨论的去中心化交易所仅讨论以太坊(Ethereum) 上与所有相容于ERC20 的加密货币如EOS, OMG, BNB 等的交换,并没有讨论到跨区块链如BTC, XRP 等的货币交换。


资讯揭露:我认识几位开发JOYSO 交易所的朋友,毕竟对他们的技术了解比较多,所以也不能保证本文观点是完全客观,阅读文章时请务必考虑这个因素。


基础概念


在开始前我们先讲解一些区块链上的基础概念,接下来解释交易所时会比较容易进入状况。


1.钱包(Wallet)


当使用加密货币时,都需要建立一个钱包(Wallet),钱包是一个私钥搭配上对应软体/硬体的组合,透过钱包可以让使用者发送与接收加密货币。而私钥就是一把可以动用钱包里面的加密货币的钥匙,任何人只要拥有了某个钱包里面的私钥,他就可以动用钱包里面的加密货币。


2.签名(Signature)


上面有提到钱包里面内含了一组私钥,这组私钥会由使用者自己保存,但是这个钱包的公钥则会提供给区块链上的任何使用者与智能合约。公钥有个很大的用处就是任何文件都可以利用私钥签帐后得到一个签名,而这个文件加上签名可以用公钥来验证这份文件是不是由特定私钥的拥有者所发出。如果这份文件或是公钥被变更过了,其他使用者(或智能合约)就可以验证出这个窜改。


3.智能合约(Smart Contract)


智能合约(Smart Contract),是一种存在于区块链上的程式。就如同区块链上的分布式帐本一样,智能合约也拥有去中心化、透明、不可篡改的特性,另外智能合约也跟一般钱包一样,可以接受/发送虚拟货币,而执行的细节则可以在合约里面定义。


比如说我今天发布了一个智能合约到区块链上,里面放了1 ETH,并且撰写程式码指定如果有人呼叫了trade()函式并且带入10 BAT (这是另外一种加密货币),我就把1 ETH跟他交换,这样我就可以用1 ETH换得10 BAT。



重要的智能合约通常会公开其源码让所有人都可以检视这份合约,确认其运作是否安全与合理。


当然智能合约还可以做很多其他的应用不限于交换货币。而上述的交换加密货币是一个简化过的例子。


讲解完这两个基础概念,让我们来谈谈一般大众平常使用的加密货币交易所,也就是中心化交易所。


4.中心化交易所(Centralized Exchange)


中心化交易所其实就是大家主流使用的交易所,无论是Bitfinex, Poloniex, coincheck 等都是中心化交易所。大家使用这些交易所的方式,通常就是到网站上注册,根据不同国家的法规经过一连串的认证程序后,就可以开始把加密货币转入他们指定的钱包地址后,就可以开始在上面交易加密货币。


拿刚刚的例子来说,如果使用者 A要拿1 ETH交换10 BAT,中心化交易所会在他们的系统的资料库当中,建立一笔卖单,内容是1 ETH交换10 BAT。如果有另外一位使用者 B也建立了一笔买单,愿意用10 BAT买1 ETH,系统就会自动搓合这笔交易,在使用者 A的资产清单中扣掉1 ETH,增加10 BAT,使用者 B反之亦然。


这样的交易不见得会发生在区块链上真正的货币交换,取而代之的可能仅是修改交易所资料库内的资产数字,使用者看到的只是帐面上数字的变化,交易所只要在使用者提款时准备了充足的加密货币汇出即可。



当使用者把加密货币转到他们提供的钱包地址后,交易所就拥有了操作这些加密货币的权利,使用者必须要「信任」这个网站会保证货币安全,才能把加密货币转给交易所操作。


正因为中心化交易所拥有了存放大量加密货币的私钥,中心化交易非常容易吸引骇客(Cracker) 的攻击,而他们的目标绝大部分就是这些存放大量加密货币的私钥,偷走了这些私钥就代表黑客盗走这些加密货币。



根据撰文时的统计,在Bitfinex的统计资讯过去24小时内光BTC/USD的交易量就有43,837.31 BTC,依照今天的汇率大概是120亿台币的交易量,自然也很容易受到骇客觊觎。近日coincheck因为NEM加密货币盗领事件总共损失了约150亿台币,可见交易所的安全有多么的重要,而保存巨额加密货币的私钥有多么需要好好的保管。


以上就是基础概念以及中心化交易所简介,下半部分则会讲解去中心化交易所以及结论。


作者: Yuren Ju


来源:medium


原文链接: http://t.cn/REhre4c


著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


国际金融科技新媒体和社区平台

UNITIMES

网址 : unitimes.media

新浪微博:@Unitimes



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/BglyFeZC8G
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/10414
 
232 次点击