区块链安全入门(二)

公链 Public Blockchain

公有链(Public Blockchain),指的是全世界任何人都可以随时读取,任何人都能发送交易且能获得有效确认的共识区块链。公链是完全去中心化的,链上数据都是公开透明且不可更改的,任何都能通过交易或者挖矿读取和写入数据;常用代币机制(Token)来鼓励参与者竞争记账,以此确保数据的安全性。

也正是因为公链的完全公开透明,记录公链的工作量非常大,单靠个人或者一家公司不可能检测整个区块链的生态安全问题,这就导致了黑客极有可能在众多公链中找到漏洞进行攻击。

交易所 Exchange

区块链交易所即数字货币买卖交易的平台,数字货币交易所又分为中心化交易所和去中心化交易所。

去中心化交易所

交易行为直接发生在区块链上,数字货币会直接发回使用者的钱包,或者保存在区块链的智能合约,这样直接在链上交易的好处在于交易所不会持有用户大量的数字货币,所有的数字货币会存储在用户的钱包或平台的智能合约上。去中心化交易通过技术手段在信任层面去中心化,也就是说无需信息中间人,每笔交易都通过区块链进行公开,交易所不负责保管用户的资产和私钥等信息,用户的资产的所有权完全掌握在自己的手上,具有非常好的个人数据安全和隐私性。目前去中心化的交易所有 : WhaleEx、Bancor、dYdX等。

中心化交易所

目前热门的交易大都采用中心化技术的交易所,使用者通常是到平台上注册,并经过一连串的身份认证程序(KYC)后,可以在上面进行数字货币交易。用户在使用中心化交易所时,其数字货币的交易不见得会发生在区块链上,而是仅修改交易所数据库内的资产数字,用户看到的只是账面上的数字变化,交易所只需在用户提款时准备充足的数字货币即可,当前主流的交易大部分是在中心化交易所中完成,例如币安、火币等。
黑客往往会对数字货币交易所进行定向打击。
通过上述两种交易所的理解,可以大概猜测,我国即将发行的数字货币应该采用“中心化交易所”,由中国人民银行直接发行,向下走商业银行代理,老百姓使用的数字货币只是钱包中明面上数字的变化,其区块链的走向是透明的。

节点 Node

传统互联网,企业所有的数据运行在一个中心化的服务器中,那么这个服务器就是一个节点,由于区块链是去中心化的分布式数据库,是成千上万个“小服务器”组成,区块链网络中的每一个节点,就相当于存储所有区块数据的每一台计算机或服务器,所有区块链的生产以及交易的验证与记账,并将其消息广播给全网节点同步。节点又为“全节点”和“轻节点”。

全节点

全节点就是拥有全网所有交易信息数据的节点。

轻节点

轻节点就是只拥有和自己相关的交易数据节点。

由于每一个全节点都保留着全网的数据信息,就意味着,其中一个节点出现问题,整个区块链网络世界也依旧能够安全有序运行,这也是去中心化的魅力所在。

RPC (远程过程调用)

image.png

远程过程调用(Remote Proceduce Call)是一个计算机通信协议,以太坊RPC接口是以太坊节点与其他系统交易的窗口,以太坊提供了各种的RPC调用:http、ipc、websocket等。在以太坊源码中,server.go是核心逻辑,负责API服务的注入,以及请求处理、返回;http.go提供HTTP服务的调用,Websocket.go提供websock的调用,ipc.go提供IPC的调用,以太坊节点默认在8545端口提供了JSON RPC接口,数据采用JSON格式传输,可以执行Web3库的各种命令,通过JSON向前端提供区块链上的信息。

推荐阅读更多精彩内容