登录发表评论
文字内容
1. 区块链核心技术横向剖析 谢文杰 智链ChainNova CTO
3. 主讲⼈人简介 谢文杰 智链ChainNova CTO,联合创始人 原百度公有云高级产品经理,原金山云产品专家,原百度 移动事业部技术经理 IBM外部技术Champion,CSDN区块链金牌讲师 主持过多个大型系统设计,从零构建金山云云计算产品, 搜狐WebIM亿级PV技术产品创造者。
4. 01. 区块链技术基石 不不同区块链平台都依赖的⼏几个基础技术 2 智 能 合 约 及 数 据 模 型 智 能 合 约 的 发 展 历 史 及 主 流 的 两 类 数 据 模 型 3 经 典 项 目 概 览 经 典 项 ⽬目 彼 此 技 术 上 的 独 特 性
5. 01 0 基础技术概览 Hash和非对称加密等一系列密码学算法 是区块链技术体系最基础的构成 密码学算法 Merkle Tree Merkle Tree及其一系列衍生改进是区块链 数据结构的一大基础构成 01 02 04 03 链式快照 Blockchain即Block+Chain,Chain即区块 链的链式快照,链式快照的数据模型是区块 链数据结构的另一大基础构成 5! PoX 区块链保证不可篡改的核心即共识算法,简称 PoX(Proof of something)
6. 01 1 Hash算法 https://en.wikipedia.org/wiki/Hash_function • 区块链第一课,基础的基础 • 哈希又称散列算法,它是一种数据映射关系 • 任意长的数据经过哈希运算后,得到的是一个 固定长度的数据 • 特点:确定性、均匀性、不可逆…… • 应用场景:快速查找、重复检查、数据校验、 数字签名…… 6!
7. 01 2 Merkel Tree https://en.wikipedia.org/wiki/Merkle_tree • 区块链数据结构基础之一 • 以发明人Ralph Merkle命名,1979年 • 快速比对数据、快速定位变化…… • 应用场景:Blockchain、Git、BitTorrent、 Cassandra、Dynamo、ZFS、btrfs…… 7!
8. 01 3 Merkel Tree在bitcoin⾥里里的应⽤用 https://en.wikipedia.org/wiki/Blockchain • 交易数据即以此构建 https://bitcoin.org/en/developer-guide#block-chain-overview 8!
9. 01 4 应⽤用收益:SPV(轻量量化验证) • 快速验证,无需完整数据 • 轻量节点:移动端、快速初始化…… https://en.bitcoinwiki.org/wiki/Simplified_Payment_Verification 9!
10. 01 5 Trie以及Radix Tree https://en.wikipedia.org/wiki/Trie https://en.wikipedia.org/wiki/Radix_tree • 提高查询效率,减轻存储压力 • Merkle Tree也对应有相应的改进及应用 10!
11. 01 6 Ripple应⽤用: SHAMap Root 3 A B 5 7 a3f6db3cc17c8 3c6f411d345 0 be768a245275 848cdd2c7415 35f275e46ccbf e22e8a0770b 378afd5f2bdc7 2825129ea50 379c80a5be39 bac261d64320 b0af595b8592f 3e901e0ccf8 5 • Trie+Merkle Tree • 优势:快速定位数据 • 用于存储账户余额、 挂单信息等 b0523628408e 4df636add4fd b05607d8d215 d374ed7142de 11!
12. 01 7 Ethereum应⽤用: Merkle Patricia Tree • Radix Tree+Merkle Tree • 存储效率更高 https://ethereum.stackexchange.com/questions/6415/eli5-how-does-a-merkle-patricia-trie-tree-work 12!
13. 01 8 Block+Chain https://bitcoin.org/en/developer-guide#block-chain-overview • 区块链数据结构基础之二 • 链式快照,快照中存储数据(比特 币:交易、时间、随机数……) • 当前Block包含前一个Block的 hash形成链 • 最新Block的Hash即可校验所有历 史数据的任一点篡改 13!
14. 01 9 PoX:Proof of something PoW! • 参与者竞争 计算,先算 出者获得记 账权及奖励! • 俗称挖矿! • 公平! • 但效率低! • 能耗巨⼤大! PoS! • 根据权益⽐比 例例概率性获 得记账权及 奖励! • 节能! • 但依赖权益 设计! DPoS! • 权益持有者 通过投票选 举领导者代 理理记账权及 奖励! • ⾼高效! • 但有中⼼心化 倾向! BFTs! CFT! • 联盟链常⽤用, 预选定节点 记账,算法 容忍⼀一定的 恶意节点! • ⾼高效! • 但预选定节 点规模有限! • 攻击容忍度 低! • 分布式系统 常⽤用,通常 为选举模式, 算法容忍⼀一 定的故障节 点! • ⾼高效! • 但恶意节点 容忍度低! • 不同的方法,共同的目的,为每个Block提供信任支撑 14!
15. 02. 智能合约及数据模型 智能合约的发展历史及主流的两类数据模型 1 区 块 链 技 术 基 石 不不 同 区 块 链 平 台 都 依 赖 的 ⼏几 个 基 础 技 术 3 经 典 项 目 概 览 经 典 项 ⽬目 彼 此 技 术 上 的 独 特 性
16. 02 1 智能合约演进历史 1994 2008 2012 智能合约概念提出 Nick Szabo 'A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises.' Bitcoin/P2PKH Forth-like, stack based 简单脚本 非图灵完备 不支持循环体 Bitcoin/P2SH BIP 16 支持更复杂的脚本 如Multisig、Escrow 2013 2015 Ripple/NXT 内置合约模板,根据需 求选择使用,不支持定 制 Ethereum 图灵完备的智能合约, 运行在EVM虚拟机上, Solidity语言 16!
17. 02 2 Bitcoin⾥里里的合约: P2PKH, P2SH 17!
18. 02 3 Ripple⾥里里的合约: TX https://developers.ripple.com/transaction-common-fields.html 18! • 有限的交易类型 • 预置的参数字段 • 优点:简单
19. 02 4 Ethereum⾥里里的合约: EVM, Solidity https://www.slideshare.net/MartinKppelmann/build-dapps-13-dev-tools http://solidity.readthedocs.io/en/v0.4.24/solidity-by-example.html 19!
20. 02 5 两⼤大主流数据模型 UTXO • 以Bitcoin为代表 • 每一笔交易的输出作为下一 笔交易的输入 World State • 以Ripple、Ethereum、 HyperLedger Fabric为代表 • 一个全局的账户余额表 https://bitcoin.org/en/developer-guide#transaction-data https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/ 20!
21. 02 6 数据模型:UTXO • UTXO即未花费交易输出 • 以Bitcoin为代表 • 安全性强 • 扩展性高 • 保护隐私 • 存储压力较大 • 复杂度提升 • 查询性能有损失 https://bitcoin.org/en/developer-guide#transaction-data 21!
22. 02 7 数据模型:World State • 保存当前所有账户状态 • Copy on write模型 • 以Ripple、Ethereum、 HyperLedger Fabric为代表 • 结构简单 • 效率高 • 历史追溯效果较弱 • 易受双花攻击 https://ethereum.stackexchange.com/questions/268/ethereum-block-architecture/757#757 22!
23. 03. 经典项目概览 经典项⽬目彼此技术上的独特性 1 区 块 链 技 术 基 石 不不 同 区 块 链 平 台 都 依 赖 的 ⼏几 个 基 础 技 术 2 智 能 合 约 及 数 据 模 型 智 能 合 约 的 发 展 历 史 及 主 流 的 两 类 数 据 模 型
24. 03 1 项⽬目象限图 https://wiki.chainnova.com/pages/viewpage.action?pageId=3997747 24!
25. 03 2 主流项⽬目概览 ݷᑍ ݎ ᦩوฬᚆݳᕅ ਂ ᬴ؙ/TPS ᭇአ࣋ว ᔄࣳ ಘ ౮ᆧଶ ᭗አ හഝوՁ̵შ Fabric Kafka/ PBFT Go Docker/ Go LevelDB/ CouchDB 3sec/200 რ̵ᴠᓫද̵ හਁᩒԾԻ ᘶፑ᱾ ṛ Ӿ ṛ ฃ̵ᑌړ ᶋଉᥢ҅ Corda ग़ᐿ ᦩوKotlin JVM/ Kotlin ᶋقੴᨴ H2 ҅෫ဩᰁ ׀҅غଫ᱾ ᰂᣟ ᘶፑ᱾ ۸ Ӿ ṛ Ӿ Ripple Quorum C++ No RocksDB 10sec/1K ҅غහਁᩒ ԾԻฃ ํل᱾ Ӿ Ӿ Ӿ Ethereum POW Go EVM/ Solidity LevelDB 15sec/ 10+ ݄Ӿஞ۸ଫአ ํل᱾ ṛ Ӿ ṛ Bitshares DPOS C++ No LevelDB 15sec/1M හਁᩒԾԻฃ ํل᱾ Ӿ ֗ Ӿ ᚆ Ӿ ṛ Ӿ ֗ ṛ Bitcoin POW C++ No LevelDB 10min/7 ݄Ӿஞ۸ᅩ ᅩඪ՞ ํل᱾ ֗ ṛ ֗ ֗ https://wiki.chainnova.com/pages/viewpage.action?pageId=3997747 25!
-
1
BCConf 区块链技术在汽车金融的应用
blockchain
-
2
第二天3下 余珊 阿里云区块链 v2,2
blockchain
-
3
第二天3下 敖萌 腾讯云BCCon
blockchain
-
4
第二天3下 刘再耀 华为云区块链服务0
blockchain
-
5
第二天3下 肖诗源 点融区块链云服务实践与思考
blockchain
-
6
第二天3上 张大晴 风险信息共享
blockchain
-
7
第二天2上 张亮 构建更好更安全的区块链生态1
blockchain
-
8
第二天2上 荆博 百度自研超级链的安全经验分享
blockchain
-
9
第二天2下 姚平 区块链技术在智慧零售中的实践
blockchain
-
10
第二天2下 谭峰 如何打造基于区块链的金融...
blockchain
-
11
第二天2上 彭峙酿 几种挖矿攻击 BCCon
blockchain
-
12
第二天2上 于晓航 智能合约攻守道与漏洞浅析
blockchain
-
13
第二天1下 吴轶群 SPOW介绍
blockchain
-
14
胡凝 Ontology bccon2018...
blockchain
-
15
第二天1下 钟馥百 公有链实践与思考 BC...
blockchain
-
16
第二天1下 吕旭军 区块链跨链技术及实现机...
blockchain
-
17
第二天1上 杨智健 区块链与IOT在鸡只溯...
blockchain
-
18
第二天1上 张增骏 区块链在食品溯源领域的...
blockchain
-
19
第二天1上 陈钢 基因组数据区块链的机会和挑战
blockchain
-
20
第一天下 朗豫 侧链的副本
blockchain
-
21
第一天下 姜家志 虫洞协议的设计与实现
blockchain
-
22
第一天下 林添毅 美图基于以太坊框架下的+...
blockchain
-
第一天上 谢文杰 智链ChainNova
blockchain
-
24
第一天上 章乐焱 联盟链平台技术实践与策略思考
blockchain
-
25
去中心化交易技术方案
blockchain
-
第二天3下 余珊 阿里云区块链 v2,2
blockchain
-
第一天下 林添毅 美图基于以太坊框架下的+...
blockchain
-
第二天1上 杨智健 区块链与IOT在鸡只溯...
blockchain
-
第二天2上 彭峙酿 几种挖矿攻击 BCCon
blockchain
-
第二天1上 张增骏 区块链在食品溯源领域的...
blockchain
-
去中心化交易技术方案
blockchain
-
第二天1下 钟馥百 公有链实践与思考 BC...
blockchain
-
第一天下 朗豫 侧链的副本
blockchain
-
第一天上 章乐焱 联盟链平台技术实践与策略思考
blockchain
-
第一天下 姜家志 虫洞协议的设计与实现
blockchain
分享











