区块链

(什么是区块链?)区块链提供了一种无需可信的参与方,能够让多个参与方实现合作的方式(若存在可信的第三方,则不需要区块链;但是金融系统中往往没有可信的第三方)

终端用户工具:user interface

应用:program

计算层:编译

共识层:数据结构

共识层 Consensus layer (了解即可,不是本门课重点)

A public append-only data structure:

• Persistence: once added, data can never be removed*

• Safety: all honest participants have the same data**

• Liveness: honest participants can add new transactions

• Open(?): anyone can add data (no authentication)

应用层:去中心化应用 (DAPPS)

DAPP: Decentralized APP

  • 透明性: 规则编写在公开的程序中(任何人不能操纵),源代码公开(没有可信的第三方),
  • 公开可验证性:DAPP程序是由床在新区块的参与方执行的,任何人都能够验证状态的转换

加密学背景

Hash function

\(H: \quad M \rightarrow T\), 其中 \(|M| >> |T|\)

注意,在这里 hash value (哈希值)是32字节的

抗碰撞性 (Collision resistance)

定义: 碰撞是指对于\(H: \quad M \rightarrow T\)使, 存在一对 \(x \ne y\) 使得 \(H(x) = H(y)\),因为定义域 \(|M|\) ≫ 值域 \(|T|\) 说明存在很多碰撞

定义:对于方程\(H: \quad M \rightarrow T\) ,如果很难找到H 的一对碰撞,那么我们说它是抗碰撞的 (collision resistant) (\(H\) 是一个

\(CRH\))

举例:SHA256:\(\{x : len(x)<264 bytes\} ⇾ \{0,1\}^{256}\)

Merkle tree 默克尔树

Merkle tree 的生成是从下到上两两一起Hash,直到根。



验证需要sibling的信息

密码学背景

数字化签名

签名是由待签名的文档内容决定的

数字化签名: 语法

定义: 一个签名的方案由三个算法构成

Gen(): 产出一对秘钥 (pk, sk)

Sign(sk, msg) 产出sigs/σ

Verify(pk, msg, σ)产出‘接受’或‘拒绝’

pk是公钥,sk是私钥

签名方案的种类

  1. RSA签名 (不会用在区块链上):

    sigs和公钥太大 (≥256 字节),可以很快速地验证
  2. 离散型对数签名: Schnorr 和ECDSA(比特币, 以太坊)

    sigs短 (48 或 64 字节) 且 公钥也短 (32 字节)
  3. BLS 签名: 48 字节,可聚合,低门槛 (以太坊 2.0, Chia)
  4. 后量子(post-quantum) 签名:长(≥768 字节)

区块链上签名的使用场景

  • 确保Tx被授权
  • 社区治理投票
  • 共识协议投票

区块链的分片

交易率 (Tx/sec):

  • 比特币: 可以处理大约 5-10 (Tx/sec)
  • 以太坊: 可以处理大约 20-30 (Tx/sec)
  • visa交易网络:可以处理高达24000(Tx/sec)

    交易费率:2 dollar to 60 dollar (简单交易)

分片方法

  • 更快的共识: 现在的区块链 (e.g., Solana, Polkadot, Avalanche, ...)
  • 支付渠道: 大多数交易为离线的点对点 (e.g., 闪电网络)
  • Layer 2 方法:zkRollup, optimistic Rollup:打包多比交易为一笔交易
  • 侧链:Polygon 等等

支付渠道(闪电网络)

多个双向支付渠道的存在,使得总交易的交易费降低了。

以太坊Rollup(卷叠)扩容

主要工具: SNARK

C: C程序将在<=B个步骤内终止所有的信息输入

x: C的公共输入

w: C的私有输入

从第一层向第二层转移财产

  • 在同一个Rollup 系统中交易非常容易: 在第1层网络批量结算(例如, 以太坊)
  • 将资金转入或转出Rollup系统 (L1 ⟺ L2) 的费用要贵一些: 需要在第1层网络上发布更多数据⟹更高的交易费用.
  • 将资金从一个Rollup系统转移到另一个 (L2 ⟺ L2) 要么通过第1层网络(费用昂贵),要么直接通过L2⟺ L2网络链桥(费用低廉)
zero knowledge 将项目从L1以太坊迁移到L2 zkRollup

即将到来的开发进展:ZKEVM(例如,MatterLabs等)。

Solidity智能合约的兼容性: 协调者可以为短的Solidity程序的执行生成SNARK证明

⟹ 将DAPP从L1以太坊迁移到L2 zkRollup很容易。

⟹ 与L1相比,降低了交易费用,增加了交易效率

Optimistic Rollup [例如 Optimism, Arbitrum]

原理与zkRollup相同,但是没有SNARK 证明。

相反:协调者在链上发送交易数据而不需要证明,然后给验证者几天时间来审核: 如果发送的交易无效 ⟹ 任何人都可以提交欺诈证明并赢得奖励,Rollup协调者将被惩罚。

优点:简单的完整以太坊虚拟机(EVM)兼容性,协调者工作量少。

数据可用性:zkSync和zkPorter对比

Q:协调者是中心化的?(中心化恐惧? ?)

答案是:不!协调者停止工作⟹用户可以找到另一个协调者来生成证明

Q:使复杂化的难题:新的协调者需要所有的当前账户信息.如果旧的协调者已停止运行,如何获取数据?

两个解决方案:zksync和zkporter。他们同时并行工作。

zkSync:将所有交易摘要存储在L1区块链(以太坊)上

  • L1链只接受批量交易处理,如果它包括所有交易的

    摘要信息
  • 其他协调者可以根据L1区块链数据重构L2的状态
  • 缺点:更高的以太坊交易费用。适用于高价值资产

zkPorter: 将交易数据存储在一个新的区块链上

  • 由一组协调者维护储存
  • 廉价的链外存储,但比zkSync更低的费用
  • 客户可以选择协调者如何存储其账户资产。

互通性(如何将资产从一个链转到另一个链)

  • 交互性:使用户能够把资产和储备移动到另一个区块链生态上.
  • 可组合性:使在某一区块链的Dapp能调动另一个区块链上的Dapp

跨链交易(block chain bridge)

一些跨链协议: XCMP,IBC,…

这里的校验者和矿工的功能是类似的。(都能在Tx结束后拿到钱。。)

Q : 为什么需要外部的校验者?链桥合约不能用于储存用来签名的秘钥

Web 3 game

NFT游戏

去中心化金融-Lec3的更多相关文章

  1. 比特股-去中心化交易所, STEEM - 去中心化社区, EOS - 下一代智能合约

    libsnark 是实现了 zkSNARK 模式的 C++ 库.zkSNARK 是一个证明/验证计算完整性的加密方法,也即零知识验证的算法, https://github.com/scipr-lab/ ...

  2. NGK的去中心化自治实践,更人性化的DAO

    2020年,DeFi市场市场火爆的同时,引爆了流动性挖矿的市场.行业内对DAO的思考也在源源不断进行,特别项目治理通证发行之前,DAO的去中心化的治理理念,是区块链属性中的重要的一环,也已引发了不同项 ...

  3. 理解去中心化 稳定币 DAI

    本文转载于深入浅出区块链, 原文链接 随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器. 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机 ...

  4. 谈互联网开放平台:“去中心化”大势所趋 zz

    文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...

  5. 人物传记STEPHEN LITAN:去中心化存储是Web3.0生态重要组成

    近期,NGK.IO的开发团队首席技术官STEPHEN LITAN分享了自己对去中心化储存的观点,以下为分享内容. 目前的存储方式主要是集中式存储,随着数据规模和复杂度的迅速增加,集中存储的数据对于系统 ...

  6. Baccarat是如何运用去中心化治理模式的?

    区块链的出现,让大家看到了去中心化的可能.去中心化的数字资产从最初的默默无闻,一路起起伏伏发展了十年,逐渐成为了大众认可的价值存储方式.去中心化的金融,使数字资产的生态建设者意识到,即使没有中心化的金 ...

  7. 去中心化预言机如何助力NGK DeFi 项目发展?

    早在 2014 年前后,协议智能合约就已经出现了,最初协议很笨重,包含了许多不同的部分,每个部分都是一个单独的智能合约,你需要在区块链本身的协议中添加不同的智能合约,这需要几个月甚至几年的时间,而之后 ...

  8. NGK公链:去中心化交易+挖矿生态体系共舞

    NGK生态公链是一个安全.透明.专业的去中心化商业应用平台.作为一条具有技术信任甚至是公众信任的公链,NGK以区块链技术为支撑,利用区块链透明.公正.公开.数据不可篡改.分布式存储.可追溯等技术优势, ...

  9. IM 去中心化概念模型与架构设计

    今天打算写写关于 IM 去中心化涉及的架构模型变化和设计思路,去中心化的概念就是说用户的访问不是集中在一个数据中心,这里的去中心是针对数据中心而言的. 站在这个角度而言,实际上并非所有的业务都能做去中 ...

  10. 小众Tox——大众的“去中心化”聊天软件

    ★Tox是什么 一个反窥探的开源项目:一种基于DHT(BitTorrent)技术的即时通讯协议:一个为安全而生的加密通讯系统 .美国棱镜计划曝光后,一个名为 irungentoo 的牛人于17天后的2 ...

随机推荐

  1. html超链接相关代码

    1. <IDOCTYPE html>< html><head><title>图像和超链接</title><meta http-equi ...

  2. [Cisco] Policy Based Routing

    在某些情況下,會希望指定特定的來源及目的走特定的出口,卻又不是全部的網段都希望套用,這時就可以透過PBR來達成這個需求. 如以下拓樸 1.1.1.0/24的網路往5.5.5.0的封包需要指定e0/1當 ...

  3. nhrhrhr

    每名学生按规定时间进行答辩,答辩总时间控制在12分钟,其中包括学生报告7分钟.提问以及回答问题5分钟. 1.答辩开始前由答辩委员会组长宣布答辩程序:学生的答辩顺序由教师确定,前一名学生答辩时,下一名答 ...

  4. 面试题:int[] arr 和 int... arr在参数列表中是一回事儿吗?

    public class Exer { public static void main(String[] args) { Base1 b1 = new Sub1(); b1.add(1,2,3); } ...

  5. 2020.11.24 typeScript命名空间

    命名空间:定义了标识符的可见范围,一个标识符可以在多个命名空间中定义,它在不同命名空间的含义是互不相干的.在一个新的命名空间可以定义任何新的标识符,它不会与已有的任何标识符发生冲突. 使用: 这个时候 ...

  6. ideal中热部署JRebal的设置

    1.ideal中安装插件: 2.打开网址:https://www.guidgen.com/   打开链接获取新的GUID码 3.网址和UUID码拼接:http://127.0.0.1:8888/ca3 ...

  7. 【LuckyFrame研究】下载安装包

    下载安装包,可以快速部署 百度网盘链接: https://pan.baidu.com/s/1SNUhzoKFgH2TRQN2Rx711A   提取码: u845 服务端压缩包 V3.X版本:Lucky ...

  8. 给jui(dwz)的toolbar添加漂亮的图标

    前面两篇把菜单树和navTab的图标都换了.今天来添加toolbar的图标. 因为JUI(DWZ)自带的toolbar图标就三四个,根本不够用.于是只能是进行自定义添加 这是系统自带的图标,也就4个. ...

  9. 报错的大怨种来了--java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    频繁爆出这样的错误:java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual t ...

  10. 纠删码在实时视频流中的应用丨Dev for Dev 专栏

    本文为「Dev for Dev 专栏」系列内容,作者为声网网络体验团队王瑞. 01 背景 在实时音视频通话中,音视频质量受网络丢包影响较大,特别是对于视频. 为什么视频对丢包更敏感呢?通常来说,音频的 ...