区块链学习笔记6

区块链的扩展:

1.比特币的区块扩容

首先我们要解释什么是比特币的扩容问题,为什么比特币要扩容。 比特币的扩容问题来自一个很直接的现实,那就是保存在比特币区块链 上的数据块的物理大小限制是1MB。任何大于1MB的区块都会被比特币 网络当作攻击而被拒绝接受,这是当初由中本聪对比特币核心的设计决 定的,逻辑规则都写在了源码中。
而现在这样的容量限制问题已经发生,比特币网络已经由于交易缓 慢而变得拥挤不堪。由于区块大小1MB的限制,单个区块只能容纳很有 限的交易事务,每条交易事务平均在200字节左右,往多了算,假设区块中的交易都是一对一的简单交易,单个区块能够容纳的交易数也就8000左右,而实际上根据目前的使用统计,单个区块容纳的交易数才 1700多,就这还得要等上间隔10分钟的打包确认,因此算下来,交易速 度最高大概1秒钟只能处理3笔交易。

 扩大区块容量有两种方法:一是扩大区块本身,二是缩小交易数据的大小。

“隔离见证”,英文是Segregated Witness,我们知道在比特币的交易 数据结构中,是通过发起者签署自己的UTXO(未花费交易输出,这个我之前的笔记有记过),然 后填上接收者的地址而建立起来的,过程类似于签署支票,一张支票就 相当于一条比特币的交易事务,签署UTXO就相当于支票签名,也就是 所谓的“见证”,这是用来确认支票合法性的。我们知道,支票上的关键 内容无非就是签名和接收方以及支付金额,那么如何来确定这张支票数 据的唯一性或者说完整性呢?在比特币中会对每一条交易事务数据进行 一次哈希计算,得到一个事务ID,在计算这个事务ID的过程中,都有哪些数据参与了计算呢?答案是整条交易事务,包括那个签名。
签名信息占据的空间是不少的,如果能够把这块签 名信息从交易事务中隔离开,存储在另外一边,那就能省出一块空间来 容纳更多的交易数据。这些签名信息的主要作用就是见证交易数据的来 源合法性,而实际上见证的过程只需要进行一次就行了,矿工负责见证 交易数据是否得到了合法的授权,其他普通的节点只关心接收的结果, 见证过后这些签名数据实际上没多大用处,节点在接收时可以丢弃这部 分数据。这种将见证信息与交易数据隔离开的设想也就是“隔离见证”的 意思。

2.侧链技术

引例:

Alice:我有两个不同的数字货币钱包:比特币和以太币,我可以将 比特币从比特币钱包地址转到以太币钱包地址吗?
Bob:一般情况下当然不可以啦,比特币和以太币是两个完全不同 技术和构架的区块链,它们的价值不能直接转换。
Alice:那有什么办法可以做到两个不同的区块链数字货币之间直接 做价值转换?
Bob:那就必须引入侧链,侧链协议可以将比特币从主链上转移到 侧链上来。但是需要在比特币主链上先冻结,然后在别的链上激活。

传统意义上的侧链就是指将比特币(价值)从比特币主链上来回转 移到与比特币完全不同特征和技术构架的区块链上。所以侧链不是指比 特币(区块链)主链上的某个部分,而是指遵循侧链协议的所有区块 链,侧链这个名词是相对于比特币主链而言的。侧链协议是指可以让比 特币和其他区块链账本资产在多个区块链之间来回转移的协议。大家需 要注意的是,主侧是相对的,没有说哪种链必须是主链或者是侧链,根 据需要,任何一种链都可以成为另外一种链的侧链或者是主链,比如比 特币可以成为莱特币的侧链,以太坊可以成为比特币的侧链等,侧链可 以是完全独立的链,也可以是必须依赖主链生存的链。


站在软件的角度,其实就是两种不同的软件进行数据交 互,一方以另一方的功能和数据作为依托来开展其他的业务功能。

侧链的工作方式:

2.1.单一托管

为了将比特币从主链上移动到侧链,比特币区块链上的比特币必须 首先在主链上被冻结,然后在侧链上激活,这叫双向锚定。最简单的实 现双向锚定的侧链就是将比特币主链上的资产发送到一个单一托管方, 并在侧链上激活。其实,这样单一托管的方式,由一个机构去主链上冻 结资产的侧链跟一家现实中的数字资产交易所的方式都很类似,所以这 样最明显的问题就是:这是完完全全的中心化的解决方案。

2.2.合约联盟

简单地说,就是比特币主链上冻结的资产通过一个多重签名的地址 控制,这个类似于一份智能合约,双方或者多方约定一个公证保管规 则。比起第一种单一托管,这种方式更加增强了安全性,也使得侧链协 议实现得更加顺畅。
 

侧链双向锚定

 

 

3.闪电网络的设计(明天再看)