即Qtum量子链开发者meetup——深圳站演讲实录

作者:钟文斌

今天我们将就以下几个主要的问题来进行探讨:

1. 为什么要建立Qtum量子链

2. Qtum量子链的技术基础

3. Qtum量子链的技术创新

4. Qtum量子链的生态系统

1.为什么要建立Qtum量子链

首先很多熟悉区块链的开发者朋友肯定会有这样的疑惑,我们已经有了比特币和以太坊为什么还要建立Qtum量子链呢?如果要给Qtum量子链一个定义的话,我个人的理解是:Qtum量子链是首个基于UTXO模型,并采用PoS共识机制的智能合约平台。其中包含了三个概念:UTXO模型、共识机制PoS还有智能合约平台,稍后我会对他们一一进行详解。

Qtum量子链项目从2016年3月就已经开始筹划和执行,2017年6月时发布了第一版测试网络,2017年9月时主网正式上线,所以Qtum量子链在产品的更新迭代方面还是比较快的。另外Qtum量子链也可以说是站在了巨人的肩膀上,结合一些成熟的区块链生态的优势,稍后也会解释。

先来看一下Qtum的一些基本参数,区块大小:2MB;出块时间:128秒;共识机制: MPoS;

链上理论最大TPS: 70~100 笔交易/秒;初始发行量:100,000,000 QTUM;当前挖矿奖励:4 QTUM,每四年减半;挖矿奖励总额:约 7,884,000 QTUM;基础代码框架:比特币Bitcoin core;支持以太坊虚拟机EVM。

关于Qtum的设计理念,不得不提比特币和以太坊。首先要简单解释一下这两者,比特币是点对点的电子货币系统,它主要考虑的是货币属性,因此会主要考虑安全、稳定、去中心化以及存储、传输价值的特性。此外,从安全性方面考虑,比特币脚本被设计成非图灵完备的。作为数字货币,比特币实际上是比较成功的,从2009年至今,并没有出现过任何一笔错账。但除此之外,你很难再在比特币之上建立复杂应用,因为它从设计之初就仅仅考虑了其货币属性。

而以太坊则是目前全球第二大的区块链生态,是以平台的角度去设计的。平台必须能够保证其可扩展性和TPS,从而支持成千上万种DApps。它同时也是个智能合约平台,有用于执行智能合约的环境,比如EVM, x86VM。同时以太坊也需要有合理的经济模型激励开发者,从而促进生态发展。作为平台,多样性、隐私性(不受网络中其他应用的影响)也是需要考虑的问题。以太坊有一套图灵完备的语言,简单说来就是可以支持循环,从而可以实现比较复杂的智能合约逻辑。

以太坊作为一台平台可能并不那么成功,首先它的TPS 不够高。举个简单的例子之前在以太坊上有个应用叫云撸猫,就把以太坊给搞宕机了。在安卓系统上你很难想象一个应用会因为另一个应用得影响而遭殃,但是在区块链上这种可能是存在的。就好比云撸猫,TPS都被用于撸猫,那么正常的交易就无法被保证了。以太坊作为一个智能合约平台,它得智能合约功能的确是能支持一些简单的逻辑,但是编程语言仅仅局限于Solidity(还有几种语言基本无人使用),而不是大家比较熟悉得主流编程语言,所以在这一点上有所欠缺。

比特币和以太坊各有优缺点,但作为全球最大的两个区块链生态,它们是相互独立的,没有太多交集。Qtum设计的初衷是希望打通比特币和以太坊这两大生态,使开发者既能享受到货币的稳定性和安全性,又能具备去中心化应用平台的便利。根据开源软件思想,Qtum量子链决定不重复造轮子,取比特币和以太坊的精华并在此基础上继续演进。

在此之前,在比特币上运行图灵完备的脚本语言是不可能的,所以Qtum建立了一个逻辑上的抽象层使之成为分层的结构也就是AAL账户抽象层。还有就是目前所有的公有链的通病在于治理协议比较混乱,所谓的治理协议其实就是软件的升级和迭代。在中心化的公司或者平台比如App store上面开发者只要把更新好的App上传供用户下载就可以了,但是在去中心化的系统上就不一样了。一个用户要对软件进行更新,其他人不一定会支持,那么就需要一个治理协议去决定整个生态应该如何进行治理。Qtum量子链对这个问题有自己的想法,也就是DGP分布式治理协议,能够自行对区块链参数进行动态调整而不必进行硬分叉,实现了区块链的自治。

从共识角度来说,我们知道比特币和以太坊所使用的都是PoW共识机制,优点大家很清楚就不赘述了,但是缺点同样突出那就是对能源消耗巨大。比如矿机非常耗电,这些电力也成为了比特币的挖矿成本。所以Qtum量子链使用的使PoS共识机制作为更好的替代方案,其实它已经被提出很久的时间,目前Qtum用到现在经过很多次迭代也运行良好。另外一个使用PoS的原因是移动设备和物联网设备上很难实现PoW。另外正如之前提到的以太坊虚拟机仅支持Solidity这个比较冷门、年轻的语言,有多少开发者会去为了智能合约的编程再去重新学习一门全新的语言?所以Qtum目前在研发x86虚拟机,能让大部分开发者用熟悉的主流编程语言比如C、C++更简单地开发智能合约。这样就能大大提高社区内开发者的工作效率,让更多去中心化应用能够落地。

2. Qtum量子链的技术基础

首先是UTXO模型,英文是Unspent Transaction Output(未花费的交易输出)。我们来看一下比特币和以太坊网络上的两个典型交易。以太坊上的交易对于普通人来说相对好理解,就是从一个地址到另一个地址,一笔Token的传输。而比特币交易就没那么简单了,它是由若干个input和output组成的,Output当它未被花费的时候就是UTXO,将成为下一笔交易的输入。所以所有比特币网络上的交易都是由input和output串联起来的。UTXO的可取之处在于:

l 安全性 (解决双花问题,支持原生多重签名)

l 匿名性 (拥有多个地址,找零地址)

l 可扩展性(并行,离线交易)

l 轻钱包 (SPV,支持移动端验证交易的合法性)

目前除了Qtum以外基于UTXO模型的各种币的底层脚本语言都不是图灵完备的,,所以Qtum量子链才会开发账户抽象层AAL使UTXO模型与以太坊虚拟机账户模型能够无缝交互。

再来说一下共识机制的问题,首先回顾一下什么叫区块链,刚才提到交易,接下来用户对每一笔交易进行签名以保证其安全性,拥有私钥才能花费一笔资产。每十分钟内的所有交易被打包为区块,每个区块中所有交易的组织形式为Merkle树(https://zhidao.baidu.com/question/1047592469520906459.html),它是一个二叉树,每个叶子节点都代表一笔交易,而非叶子节点均为其子节点的哈希值,任何一笔交易被篡改都会影响根节点的哈希值。最后,每个区块都有一个指向上一区块的哈希指针。所以简单来说区块链就是一个不可篡改的分布式数据库,那为什么需要挖矿呢?这里以PoW挖矿为例。首先,区块链主要分为:公有链、私有链和联盟链。它们的核心区别在于记账权,公有链是去中心化的,赋予网络上的每个节点记账的权力,而私有链和联盟链的记账节点为少数几个指定节点。只有公有链才需要挖矿,因为要维持节点不断地在网络上记账,那么挖矿就成了网络对记账节点的激励机制。依靠区块奖励鼓励节点记账,共同维护区块链网络的生态。那为什么大家挖矿用户也要去监听记录别人的交易呢?因为手续费也会作为区块奖励。挖矿的另一个原因了保证记账节点的的随机性,否则固定的记账节点很容易被DoS攻击。另外,挖矿也是一个代币分发的过程,从而把币随机地分发出去,而不是只在个别人手中。整个比特币的精髓就在于它的激励机制,但PoW共识机制也并非没有问题,比如:

l 加入网络的门槛较高,需要花费很多钱买矿机才能成为比特币的全节点进行挖矿

l 越来越趋性中心化,大部分的挖矿所得被少数几个大矿池占据

l 能源耗费巨大

基于这些问题,2012年时有人提出PoS(权益证明机制),原理很简单,只要用户拥有该网络的Token并证明这一点,就可以参与记账。另外,代币持有人也更有动力维护网络的安全。PoS机制同样也能达到比特币的随机性、安全性和Token分发等功能,而且相比于PoW来说显得更加去中心化。中本聪在设计PoW共识机制时并没有想到会有矿机的出现从而使得比特币越来越中心化,而PoS的挖矿根本不需要使用矿机,只需要一台普通电脑、树莓派就可以参与。

除此之外还有几种共识机制比如DPoS(代理权益机制)选出一些代理人来进行记账。pBFT,dBFT等则是改进后的拜占庭容错机制解决方案。上述几个共识机制都是相对比较偏中心化的,比较容易导致一些中心化的问题或者被攻击。像某些网络的计算节点比较少,一些节点挂掉就会导致整个网络瘫痪,但这些在比特币或者Qtum上都没有发生过。

第三个技术基础就是智能合约,简单来说就是可以在区块链上运行且达成共识的一段代码。以太坊是目前最流行的智能合约平台,目前以太坊虚拟机也是唯一一个可以真正意义上运行智能合约的虚拟机,但是它却有不少缺点:

l 移动端不友好

l solidity等少数语言,具有局限性

l 安全性(DAO,Parity)

第四个技术基础是去中心化网络。只有在去中心化的网络上Token才有它的价值,否则就跟Q币没什么区别,只能在腾讯的体系内使用而并不会有什么价值的提升。说了去中心化那么多好,也来谈谈它的缺点。在分布式领域有个CAP理论也就是一致性、可用性和分区容忍性不能同时满足。所以去中心化的程度与TPS是有矛盾的,去中心化程度越高越难达成共识,那就很难再很短时间内达到交易的确认。所以如果用户希望追求比较高的TPS,那必然会牺牲去中心化。但如果真的想要两者兼得,则要借助分层网络来实现,闪电网络、雷电网络这些技术都能够用来实现较高的TPS。比特币上的闪电网络和以太坊的雷电网络目前都在开发中且发布了测试版。而Qtum量子链因为能够兼容这两个生态,所以日后这两个技术开发完备之后Qtum也都能使用。

3. Qtum量子链的技术创新

首先是AAL账户抽象层,因为Qtum量子链兼容两种生态,UXTO模型不支持智能合约功能,所以我们需要账户抽象层的上层兼容以太坊虚拟机编写智能合约。这种分层设计能够让上层的应用层和底层相互解耦,Qtum设计的抽象层使上下层能够通信适配。

至于如何实现其实是在比特币脚本中增加3个新的opcode:OP_CREATE:创建智能合约、

OP_CALL:调用智能合约(向合约发送QTUM)以及OP_SPEND:花费智能合约中的QTUM。这样一来比特币底层就可以识别上述三种操作,并将他们作为信号发送给上层的以太坊虚拟机,使其在运行智能合约的同时也能将一些信息反馈回底层。

所以对于开发者来说,这还是一个比较容易理解的账户模型,而它的底层还是跑在UTXO这样一个比较安全的模型上的。账户抽象层的优势如下:

l 允许EVM在UTXO模型上运行

l 兼容多种虚拟机(不仅是以太坊虚拟机,还有目前以太坊,eos正在研发的webassembly和未来Qtum的 x86虚拟机)

l 底层具有比特币的安全性

l 智能合约开发者只需要关注“账户模型”

l 解除底层协议与上层应用的耦合

这里我想再强调一下PoS共识机制,它一共经历了3次大的迭代:

l PoS1.0:依赖“币龄”,长期不在线,双花问题

l PoS2.0:移除“币龄”,增强安全性

l PoS3.0:针对“short-range”攻击,采用区块时间和交易时间确认UTXO的年龄

想解释一下为什么Qtum没有用PoS3.0,因为它存在一个问题,攻击者可以通过支付比较昂贵的gas发起一些恶意的智能合约从而伤害到整个网络。刚刚也提到矿工是可以获得transaction中的gas作为奖励的,那也就是说这些攻击者能够将他们用于攻击的gas全部收回,那么他们就可以不断地进行攻击。

但是为何现有用PoS共识机制的区块链项目就不会有这个问题,因为它们大部分只支持非图灵完备的脚本语言,但是在Qtum上既要保证PoS,又要能够调用智能合约有可能出现这个问题。所以Qtum的解决办法就是:通过和其他节点分享收益并将收益延迟化,增加攻击的成本。换句话说,攻击的成本如果能很快还给攻击者,那么他会不断进行攻击,但如果延迟五个小时再还给他,那么势必能有效降低攻击的频率,让攻击者要花上很多倍的成本进行攻击。

接下来我再解释一下我们的MPoS机制,它基于基于PoS 3.0: 修改激励机制,每个区块所得10人平分,其余奖励延迟500区块。1/10 奖励立刻获得,其余9/10奖励在500个区块之后连续9个块中获得。挖矿奖励 = 区块所得+手续费+运行智能合约gas费用。这是Qtum在激励机制上做的一个简单的改进,但是效果还是不错的。

很多朋友肯定会比较关心如何进行Qtum的挖矿,其实非常简单,只要你拥有一定数量的Qtum,下载Qtum钱包,把Qtum打入Qtum钱包,等待500个区块确认之后,只要钱包是未加密状态你就可以开始挖矿了。这其实币比特币的挖矿要简单地多,一台PC就可以搞定,你也可用用树莓派等设备或者其他带有Qtum节点的物联网设备上进行挖矿。

比特币目前全球的全节点大约是12000个,以太坊接近20000,而Qtum运行了6个月到现在已经拥有了3000多个全节点,分布在全球各地。正式因为进入的门槛低,所以才会有那么多的节点。全节点数量和网络的去中心化程度是成正比的。

下一个Qtum量子链的技术创新是DGP分布式自治协议,治理我们之前有提到,在一个去中心化网络怎样对软件系统进行升级、迭代等等问题。比特币之前分叉成BTC和BTH,分叉的分歧就仅仅于区块大小问题,正因为比特币是个去中心化网络所以导致这个争论持续了很长一段时间。分叉并不能说是绝对意义上的坏事,但我们认为为了这个问题争论了那么久、浪费如此多的口舌是挺没有意义的。影响分叉的因素分为以下三类:

l 算法、功能的改变(共识算法、加密算法、交易脚本、虚拟机)

l 策略、参数类(区块大小、出块时间、交易数量、Gas策略)

l 关键漏洞(DAO、Parity多重签名钱包)

策略方面的的因素其实是最容易达成共识的,另外两类有事必须通过分叉来解决。而比如区块大小的改变并不一定需要通过分叉来进行。所以Qtum就考虑是否能让区块链进行无缝的升级,分布式自治协议DGP就是这么来的。其实它本身也是通过智能合约来实现的,其基本的治理结构是这样,在整个社区内部的矿工、区块生成者和持有者都是区块链治理的参与者,通过投票去完成治理的过程。最终让区块链能够实现自我管理、升级和迭代的系统。

那么Qtum分布式自治协议技术选择有两种:自治协议的实现需要某种可编程技术,UTXO和EVM提供这种特性。一是基于交易脚本,通过在交易脚本上实现协议逻辑,非图灵完备,实现比较复杂。二是基于智能合约,具有图灵完备的可编程能力,可以灵活实现复杂的逻辑。

自治协议核心逻辑的实现,是由一系列的智能合约组成,区块链核心代码在共识过程中执行协议的智能合约,获得当前的共识状态。同时它能通过Transaction完成区块链网络的状态转换,升级无需区块链网络软件更新。出于安全性考虑,智能合约本质是一段代码。理论上,采用了图灵完备的智能合约可以实现任意复杂度的协议设计,甚至是区块链的核心协议,如共识部分的代码等;权衡效率、安全等;当前协议仅适用于在安全范围内对特定参数进行更改,同时对参数生效时间采取一定的时间限制。而参数的更改提案通过后,在一定数量的区块后生效,避免产生可能分叉。

在合约部分:创世块嵌入了常见的区块链参数治理的智能合约,每个治理的主题都由独立的智能合约控制(模板),这意味着每个功能有独立的治理、授权机制以及内置限制条件Block size, Min GasPrice, Block GasLimit, Gas Schedule。此外DGP合约还具备自毁功能,能在提案治理上发生意外时启动,治理参数退回到默认状态。

最后我们再来说一下Qtum x86虚拟机,以太坊虚拟机的缺点很多,之前也提过,再罗列一下:

l 编程语言局限性(Solidity)

l 缺少标准库

l 256bit整数,大部分处理器不能原生支持,运行效率降低

l Gas模型不合理,难以估计Gas消耗

l 生成的bytecode较大,浪费区块存储资源

l 难以测试和调试

那么针对以太坊虚拟机的这些弊端呢,我们Qtum正在设计x86虚拟机,设计目标如下:

l 支持多种主流编程语言: C/C++/Go/Rust 等等

l 丰富的标准库,提高开发效率

l 更加优化的Gas模型 -- 为标准库函数设定合理的gas,便于估计,利用DGP

l 解锁AAL的强大功能 – 合约P2SH交易,segwit

l 冯·诺依曼结构,加强版的智能合约 – 代码即数据,多任务协作,中断和恢复

l 第一类Oracles – 无需运行合约即可获得某些合约数据

l 区块链动态分析 -- 更全面地分析区块链状态

l 选择性数据存储,节省宝贵的区块链上资源

l 清晰的依赖关系树,有可能并行运行智能合约,降低gas费用

到这里,我们技术创新方面也就介绍到这里了。我们的slogan是“重新定义区块链经济”,让不同种类的应用能够快速落地,这也反映了我们Qtum团队真正想让区块链技术快速会渗透到人们的生活中去。

4. Qtum量子链生态系统

Qtum目前的生态系统对于在座各位更多的是如何去体验,我们的桌面钱包可以支持:

收发QTUM、收发QRC20 Token、智能合约交互、调用智能合约、部署智能合约、发Token

和PoS挖矿,这是我们比较主要的一个钱包,几乎拥有一切功能。另外就是手机移动端钱包,Qtum的一个优势就在于你可以在手机端收发Token,只需要花上20秒。你同样也可以使用它发行Token和crowdsale。上述的这一切在网页版钱包中也是可以实现的,它甚至可以从其他客户端恢复钱包和发送离线交易。

那比较注重安全性的用户会比较倾向于使用冷钱包,也就是硬件钱包。那用的比较多的比如Ledger钱包也是可以支持Qtum的,并且可以配合Electrum使用。Qtum Electrum是可以支持多重签名轻钱包,也同样能够支持Qtum的收发和智能合约,而且还可连接硬件钱包。

另一个就是区块链浏览器,可以说它是区块链世界的入口,在上面可以查询到区块记录、追溯每个区块的出块时间、大小、还有交易时的ID等等。

除了这些,对于Qtum感兴趣的朋友可以去查看以下链接,所有的资源都是开源的,如果大家有一些比较细节的问题,在这里也可以找到详细的答案:

Qtum官方开源仓库:https://github.com/qtumproject

Qtum开发者指南:https://github.com/qtumproject/qtumbook

Qtum百科:https://github.com/qtumproject/qtum/wiki

Qtumjs:https://github.com/qtumproject/qtumjs

非官方Qtum Web.js:https://github.com/bodhiproject/qweb3.js

最后呢Qtum的生态系统发展到现在已经拥有超过50个去中心化应用了,其中几个比较具有代表性的像预测市场菩提、还有清洁能源的交易解决方案Energo等。这些项目就不一一介绍了,大家有兴趣也可以登陆http://eco.qtum.org,更加鼓励大家投入到Qtum的网络上开发自己的去中心化应用。

5. 总结:

今天我分享了关于Qtum量子链的一些设计理念或者技术创新等,在座各位一定也有很多想法,如果你是认同这些观点的,那你一定是天然的Qtum开发者,欢迎大家上Github为我们的底层技术做些贡献,也会获得比较丰厚的回报。当然也会有人不认同我们的观点,比如你认为去中心化没用,TPS反而更重要或者PoW才是最佳共识机制。我们的社区也同样欢迎类似的开发者以质疑的态度做一个全新的产品。说这些是想告诉各位Qtum的社区对任何开发者都会秉持开放的态度,只要开发者是真心愿意去为整个区块链生态做一些努力和开发工作,Qtum量子链也会为他们提供一些技术支持和经济支持。谢谢大家!

Qtum量子链关键技术解读相关推荐

  1. Qtum研究院 | 公有链发展思考与Qtum量子链的技术革新之路

    ​正文共:11,554字 预计阅读时间:30分钟 文章摘要 简述了比特币与以太坊的发展历程.设计思想.以及目前面临的问题: 阐述了Qtum量子链的设计思路与技术创新点,介绍了Qtum的账户抽象层.共识 ...

  2. Qtum量子链研究院:Plasma技术详解(下篇)

    Plasma的设计模型有两个主要的分支:Plasma MVP(Minimal Viable Plasma,最小可行的Plasma)和Plasma Cash.Plasma MVP的目标是为最基本的可用的 ...

  3. Qtum量子链x2018国际区块链大会:区块链技术如何真正落地?

    2018国际区块链大会于11月28日至30日在长沙国际会展中心召开,大会以"集智 链新 赋能"为主题,围绕区块链技术及其应用的未来展开业界讨论.本次大会由长沙市人民政府.中国电子学 ...

  4. Qtum量子链出席2019年度国盛证券资本市场年会杭州站

    北京时间1月9日,国盛证券在杭州举行2019资本市场年会,Qtum 量子链中国首席开发工程师钟文斌受邀担任年会区块链分会场客座嘉宾与 Nervos 联合创始人吕国宁.唯链COO 冯艺凯等行业先行者一同 ...

  5. Qtum量子链应邀出席2019棉兰区块链沙龙进军东南亚市场第一站

    印尼当地时间3月30日,由印尼合规交易所Indodax主办2019棉兰区块链沙龙顺利闭幕,进一步支持了Qtum量子链在印尼市场的拓展,此次Qtum量子链中国首席开发工程师钟文斌应邀担任客座嘉宾出席. ...

  6. Qtum量子链作客第四届拉美商业科技大会

    近日,Qtum量子链CIO Miguel Palencia出席了于智利举办的第四届拉丁美洲商业科技大会,并接受Digital America专访. 第四届拉丁美洲商业科技大会由美洲地区顶尖科技型媒体D ...

  7. Qtum量子链受邀出席日本早稻田研究所区块链教育讲座

    上世纪 70 年代,日本的 GDP (国内生产总值)位居世界第二,仅次于美国,并且这种繁荣一直延续到 20 世纪 80 年代.然而,到了 20 世纪 90 年代初,日本的经济陷入了停滞并被中国反超,对 ...

  8. DTCC 2020 | 阿里云吉剑南:在线分析进入Fast Data时代的关键技术解读

    简介:如今,对于在线分析技术而言,正在从"Big Data"时代向着"Fast Data"时代迈进,所面对的技术和市场环境发生了巨大变化,与此同时也需要面对全新 ...

  9. Qtum量子链AUR开发工具包即日上线

    Qtum ArchLinux版 AUR工具包即日上线!? 至今,Qtum量子链开发团队一直秉持代码开源作为基本原则,积极争取多方合作以推动Qtum量子链核心代码的长远发展,技术帮助为应用的大规模落地. ...

最新文章

  1. 实习小白::(转) Cocostudio动画编辑器的使用
  2. ACL最佳论文提出最新NLP模型测试方法,最佳论文提名也不可小觑
  3. 通过这12张手绘图,搞懂什么是微服务架构
  4. ida android sign加密,最右sign-v2签名算法追踪及逆向还原
  5. Java NIO (五) 管道 (Pipe)
  6. Samba服务器的安装配置和应用
  7. 目标检测系列(八)——CenterNet:Objects as points
  8. 一招判断三元催化堵塞_汽车的氧传感器和三元催化器故障如何判断呢?用这些方法判断...
  9. Android 触摸及手势操作GestureDetector
  10. python中、函数定义可以不包括以下_python函数定义精讲
  11. mysql mvcc 实例说明_【MySQL】面试官:谈谈你对Mysql的MVCC的理解?
  12. java编写猜数字游戏_java编写猜数字游戏
  13. WPS简历模板的图标怎么修改_HR眼里的优秀简历模板长这样!30份中英文优秀模板,可一键修改!...
  14. Oracle锁表会影响查询效率么,oracle锁表查询,资源占用,连接会话,低效SQL等性能检查...
  15. redis数据类型之HashSet
  16. 我失窃的信用卡资料在4500英里外被使用,我试图找出它是怎么发生的
  17. 【docker】虚拟化和docker容器概念
  18. python学习笔记分享(四十)网络爬虫(7)反爬虫问题,解决中文乱码,登陆和验证码处理
  19. Android zip文件解压缩工具类
  20. 软件测试工程师笔试面试题带答案(一)

热门文章

  1. 自己小组的一篇 CVPR 2023 车道线检测论文
  2. 酷比魔方i7手写本linux,【酷比魔方i7 手写版】报价_参数_图片_论坛_CUBE i7(手写版)酷比魔方平板电脑报价-ZOL中关村在线...
  3. 照片不小心删除了?用Thumbs.db来恢复吧
  4. Python爬虫汽车之家全车型!你又钟意的车子吗!
  5. 递归特征消除和K折交叉验证(以决策树回归为例)
  6. 人工智能-机器学习:机器学习的可解释性(Explainable Machine Learning)
  7. 夺命雷公狗ThinkPHP项目之----商城6数据库设计和完成后台首页
  8. 蹂躏DF彻底之二让ce正常附加扫描
  9. 《炬丰科技-半导体工艺》通过深紫外光刻胶进行化学渗透
  10. Windows和夜神模拟器上抓包程序mitmproxy的安装以及使用