建议和反馈

请填写你的反馈内容

区块链有技术吗?

2021-04-09 ·817次阅读 ·读完需要8分钟

区块链当然有技术,而且区块链是个复杂的交叉学科。先不谈,区块链的人文,社会,经济方面的技术,我不太专业。就纯粹从计算机技术来看,区块链的技术也非常的庞杂和专业。

先从编程语言开始。2018年,go语言在区块链流行,几乎大点的公链都是用go进行开发,确实简洁好用,网络处理,命令行处理,都有非常丰富的库。2019年,rust语言慢慢流行起来。Facebook的libra项目全部采用rust语言开发。零知识证明的一些库也是由rust语言开发。Rust语言类型预先定义,避免安全隐患;数组定长,防止溢出攻击。Rust语言有个新的概念,所有权(Ownership)的内存管理方式。内存的所有权管理方式,能让编译器在编译的时候检查。所有权是管理堆上数据。通过所有权的设计,Rust在编译的时候,能检查和避免 数据竞争情况(多个地址访问同一数据,数据写入的时候必须有效等等)。区块链开发,经常在多种开发语言之间切换:go,rust,C++,python。有的时候,代码开发有点恍惚:变量类型的定义在变量的前面还是后面?表达式后面需不需要分号?表达式后面是否要加冒号?

数据结构,区块链中有两个比较重要的数据结构:Merkle树和DAG结构。Merkle树,通过叶子节点两两计算hash结果,生成上一层的节点,直至树根。Merkle树数据结构,有很明显的好处,叶子节点的任何改动,都会改动树根。Merkle树还有个优点,在给定某个Merkle path,能证明某个叶子节点确实在以某个树根的merkle树上。Merkle树,也有很多变种。以太坊管理账户信息(世界状态),使用的是MPT树。MPT树通过增加或者合并节点,优化了Merkle树的深度。Merkle树一般是两叉树,其实还可以扩展为多叉树。

DAG,有向无环图。传统的区块链(比如,比特币,以太坊),使用的单序的区块链接方式,也就是后一个区块依赖前一个区块。这种传统的区块链组织方式,限制了交易的性能(TPS)。为了提高TPS,DAG是一种新的区块组织的方式。如何在DAG的区块结构方式下,确定区块/交易的顺序,有很多相关的研究和算法。

虚拟机和智能合约,虚拟机是在区块链上安全执行“程序”的环境。智能合约,就是在虚拟机中执行的程序。不同的公链提供了不同类型的虚拟机,比如以太坊的EVM,星云链的JVM,EOS的基于WASM的虚拟机等等。不同的虚拟机有不同的编程规范。

共识算法,共识算法让数据在一定的网络环境下达成共识。最传统的是BFT/PBFT共识算法,基于投票以及少数服从多数的原则,只要超过2/3的节点签名的数据就是达成共识的数据。PBFT共识算法,需要有几个阶段,每个阶段都需要收集超过2/3的节点签名。这种方式,安全可靠,不会有区块分叉,但是效率比较低。PBFT共识算法的复杂度是O(N^2)。为了提高共识算法的性能,提出了其他很多基于BFT思想的共识算法,比如HoneyBadgerBFT算法,LBFT算法。Algorand也是PBFT算法中的一种变种,先随机抽取节点,然后让这些抽取的节点用PBFT算法形成共识。POS/DPOS共识算法,采用和PBFT算法完全不一样的共识原理。POS/DPOS共识算法,采用谁抵押多,谁出块概率高的思想,简单粗暴。抵押越多,贡献越大,也有相应的出块奖励。

加密算法,区块链中的加密算法比较多。椭圆曲线加密,各种签名算法(BLS,盲签,环签等等)。

零知识证明,零知识证明的理论基础就更多了:椭圆曲线,大数计算,群论,同态加密,配对函数,零知识证明的各种算法(zkSNARK,zkSTARK,BulletProof等等)。零知识证明的理论可以追溯到1985年。目前有两个方向的应用:隐私和数据压缩。Zcash就是利用零知识证明实现交易隐私,交易的双方信息以及交易金额只有交易双方可知。Loopring的去中心化交易协议3.0,就是利用零知识证明实现了链下计算,链上验证的思想。Filecoin利用零知识证明实现”数据的压缩“,用户存储的数据(数据量很大)不需要直接上链,只需要将数据证明(数据量比较小,几百个字节)存储在链上。在零知识证明技术之前,区块链世界是区块链世界,现实世界是现实世界。零知识证明的技术,提供了一种方式,将现实世界,部分映射到了区块链世界。


声明:作为区块链技术信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与链客社区官方立场无关。
评论(0)问答(0)
请先登录或注册

请先登陆或注册

相关推荐

区块链Defi-去中心化金融开发运用

DeFi,全称DecentralizedFinance,又称“去中心化金融”。以区块链为动力,目前尚处于萌芽状态,但却已经拥有足以引人关注的价值主张。DeFi无需受信任的中介机构,受益者包括了从前无法......
链客 · 2021-05-17
113阅读 · 0赞赏 · 0问答

DeFi流动性挖矿系统开发技术

DeFi流动性挖矿DeFi流动性挖矿是指通过具有挖矿机制的DeFi产品,按照要求存入或者借出指定的代币资产,为产品的资金池提供流动性而获取收益的过程。收益可能是项目的原生代币,也可能是其代表的治理权力......
链客 · 2021-05-17
121阅读 · 0赞赏 · 0问答

为什么选择区块链

选择区块链作为实践学习的案例,原因有三:第一,区块链是我最近两三个月刚学习的领域,对我来说也是一门从零开始学习的领域,这样的学习案例最具有指导作用。因为时间没有隔太久,很多学习过程中的细节我也还记得,......
链客 · 2021-05-17
117阅读 · 0赞赏 · 0问答

什么是挖矿?

挖矿是是一种用户利用电脑CPU或者GPU进行哈希运算存贮,传递,解密与其他矿工相互竞争,为网络提供所需的数字,如果用户的电脑成功地创造出一组数字,计算出指定币的位置,当计算出特定的哈希值之后便拥有了打......
链客 · 2021-05-13
222阅读 · 0赞赏 · 0问答

新的Chia加密货币有望比比特币更环保,推高硬盘价格

对于加密货币来说,这已经是重要的一年了。比特币的价值是12个月前的六倍,笑话货币Dogecoin的价格上涨了一百倍。一中“不可替代令牌”,或NFTs的热潮基于相同的技术,cryptocurrency流......
链客 · 2021-05-13
245阅读 · 0赞赏 · 0问答

区块链的去中心化是什么意思?

区块链的去中心化是指区块链发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技......
链客 · 2021-05-12
363阅读 · 0赞赏 · 0问答

链客

332010.0

LK币

-2

粉丝

552

笔记

感谢"链客"

这篇精彩的笔记,目前已经帮助

  • 0
  • 0
  • 8
  • 1
  • 7
喜欢0
链客社群 加入

微博进入

商务合作>

广告投放>

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

感谢您的提问,问题被社区永久收入以便新人查看。一定要记得采纳最佳答案哦!加油!

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!