【干货】区块链技术生态的设计|《白话区块链》作者蒋勇分享实录

区块链学习资源汇总 # Fabric 项目文档 https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md http://hyperledger-fabric.readthedocs.io/en/latest/ # 博客 [汪晓明对区块链、以太坊的思考](http://wangxiaoming.com/) 介绍了很 阅读详情




1
区块链技术栈


本节内容主要是关于区块链本身的一个技术栈的介绍。现在关于区块链的文章话题、应用场景有很多,今天我想站在一个比较基础的、相对技术的角度,来介绍区块链的组成原理。


区块链系统




上图中列了一些区块链系统,可以看到在所有的系统里分成两种主要的类型:


第一类叫基础服务链,比特币也属于一种基础服务链,虽然它的功能是以币这么一个形态体现。以太坊是能提供自定义脚本合约的基础服务链,而侧链以及中继链是属于多链连接的基础服务。基础服务链本身不带有任何的应用方面的定制功能,它主要是像操作系统一样提供一个基础设施,拥有完整的区块链技术栈。


第二类是链上应用。包括基于以太坊的预测服务;基于以太坊的通信系统,类似微信;以及其他各种分布式应用。


今天重点分享的是基础服务链包括哪些组成部分。


基础链技术栈



就这一套基础的区块链系统来讲,它无论是哪些类型,比如比特币、莱特币、以太坊、或是其他的比特股等等,核心技术都主要由这六大模块组成:共识算法、密码算法、脚本系统、账户模型、区块链账本、网络服务。下文会分别介绍每个模块的工作原理。


区块链账本



从这六个模块,我们也可以发现,其实拆分成技术底层来看,它跟我们传统的技术开发也没什么两样,仍然是由这些最基础的技术来组成的。就拿区块链账本来说,如果去掉各种区块链的术语和一些带有神秘性的描述,它其实就是一种数据库系统,核心就是账本数据库。那么这个账本数据库里的账户怎么体现呢?是通过密码算法里的公开密钥算法来体现的。


举一些比特币或以太坊的例子,比如我们知道在比特币里有一个公钥和私钥的概念,地址就是通过公钥转化而来的,所以在这种账本数据库里,它的账户主要是通过这种公开密钥算法的形式来提供,跟我们通常的系统通过注册的方式来直接产生,存储在一个用户表中的方式是很不相同的。


密码算法在一个区块链系统里的应用是非常多的,除了账户地址以外,还有哈希。所谓的区块链是一个一个的区块链接,这些区块通过什么来链接呢?哈希,每一个区块的哈希。一个区块里还包括很多交易事务,比如比特币一个区块里包含了众多的一条一条的交易事务,每一个交易事务会被计算为一个哈希值,所有的哈希值会计算成一棵梅克尔树(梅克尔树是一个树状结构的哈希值聚集而成的哈希树),并且通过密码算法运行在脚本系统里。


什么叫脚本系统?这里简单阐述一下比特币的转账机制。


首先以银行为例,在银行里,如果我的账户要向另一个账户转账100元,通常是先从我的账户扣掉100元,然后在目标账户增加100元。但几乎所有的区块链系统都不是这么做的(当然并不完全绝对,某些系统会同时支持这种直接扣除和增加的转账数据操作),以比特币为例,所谓的我转100块钱,不是扣掉我100,而是寻找之前别人给我的转账,满足100这个金额,然后创建新的发出的事务。也就是说它不是扣除跟增加这么一个通常的动作,而是一个发出的动作程序,指定到目标地址。


什么叫目标地址呢?就是我指向的另外一个目标的比特币地址。因为这个数据会在全网广播所有的比特币节点都可以接收到。那如何保证目标地址的所有者能收到这笔金额呢?前面有说到,地址是由公钥转化而来的,要使用我转发的这一笔交易事务的话,对方只有通过自己的私钥才能跟他的公钥来进行匹配,匹配成功以后就意味着他能够花这笔金额。也就是说这个转账的过程在比特币内部其实是通过一个程序的方式来匹配的,这也是脚本系统的一个作用,类似于虎符的匹配。


共识算法对于一个分布式系统来讲,是指运行在互联网异步网络的环境之下,如何保证每个节点的数据一致的机制,是整个区块链系统的核心,没有一个有效的共识机制,区块链作为一个分布式的系统将不能成为一个统一的网络存在。


我们知道如果一套系统是运行在一个公司的内部机房里,或者是在一个联盟里,比如银行之间,要保持数据的一致性并不是很困难,因为网络环境是良好的,而且节点数和节点状态,包括各种许可等都是鉴权的。但在一个公开的互联网上这一切都是未知的。所以无论是以太坊还是比特币这种公链系统,它所能实现的节点一致性都叫最终一致性,也就是说它不存在一个数学上的证明是确定一致的。如果有人做过一些日常的转账操作体验的话,通常会看到要求确认多个区块,比如比特币会建议等待六个区块的确认,才能够确保转账是没有问题的。以太坊会建议等待至少15个区块的确认等。就是说它无法保证一个最终的完全一致性,只能从概率上来解决这个问题。


如果我转账的这一笔事务已经经过了很多个区块的确认,那就表示它被弃用的概率很低。这是公链区块链技术的一些特点。

 

账户模型


我们可以简单地把区块链系统里的账户看成是一个状态机。不同的区块链系统对于账户对象的实现方式是不一样的,比如比特币,它是一个纯粹的地址,私钥和公钥;而以太坊,它不但是具备这种私钥和公钥的地址的形式,也包含类似银行的账户对象。每一个区块链系统都有自己的一些特点,但无论是怎样的系统,我们都可以统一将账户对象看成是一个状态机。



如图所示,这个账户对象会经过一个初始状态,然后经过各种转账(当然也不一定是转账,区块链系统并不是只能用来转账,只是以此为例),总之就是经过一些操作,状态发生了各种变化,每一个状态发生变化之后再写入状态回执,回写一个状态的回执,形成一个闭环的验证过程。这就是区块链系统里的账户模型。


账户模型的本质


 

我这里举的是比特币的例子,在比特币里我们可以看到它就是不断地输入输出输入输出。也可以说就像库存一样,有入库的有出库的,每一个出库都要对应之前的入库,它是这么一个衔接关系。


密码算法


 

密码算法的应用,到目前为止所出现的区块链系统中,整个密码算法的应用都包含在如图所示的范围里。


1)区块哈希、交易哈希。哈希值的计算就不多赘述。


2)账户地址、交易签名。


3)脚本匹配。就是前文提到的公私钥的匹配。


4)隐私通道。一般是在联盟链里,所谓的联盟链就是它不是运行在一个公链系统的,比如我们想开发一个公司与公司之间的供应链系统,或者银行与银行之间的结算支付,它是在机构之间运行的系统,往往具有安全性的要求,比如希望数据是加密的,不能像公链系统那样将数据向全网广播,而是定向地向某些节点广播,这时需要通过一个通道的形式来进行管理,这个通道就是隐私通道。


5)身份鉴权、许可登记。


6)零知识证明。先简单介绍一下公链和联盟链的差别,通常我们将完全没有限制的、完全运行在互联网系统之上的,称之为公链;运行在机构之间,甚至公司内部的,称之为联盟链或私链。只有在联盟链或私链的场景下,身份鉴权等才会有意义,在公链上做身份鉴权是没什么意义的(当然,类似以太坊这种支持合约编程的公链,您也是可以部署一个支持身份鉴权的合约的,只是以太坊本身并不需要通过身份鉴权来使用)。


7)零知识证明主要用在公链上。零知识证明的一个主要作用是:在我的数据处于加密的状态之下,如何让其它节点依然能够验证我的数据是合法的。它所采用的仍然是属于密码学里的应用,比如同态加密、公私钥加解密技术的应用。


共识算法


 

共识的本质在于对并发差异执行串行。因为它没有一个中心服务器,所以没有一个实际的参照,以哪个数据为主,而且在互联网的公链这么一种异步网络模型之下,根据FLP理论,在异步网络中不存在一种能够完全确定的保持一致的算法。共识算法的目的就是在这样一个场景之下,来对每一个节点之间数据的并发差异进行串行。


在确定型网络中,比如我们在公司内部搞一个溯源系统,由于这时的网络是确定型的,所以通常使用的是基于投票的机制。


在异步网络中,比如比特币、以太坊,到目前为止最实用的做法就是基于某种难度的竞争机制,像比特币的挖矿。因为在异步网络中如果通过投票来实现一致性的话,效率太低,而且不太现实,当然这也不是绝对的,某些公链的共识算法会综合设计不同的算法思想。


 

如图,我大概列了一些目前主流的共识算法的种类。


1)工作量证明。比特币、以太坊都是用的这种。


2)权益证明。类似于公司的股票,谁拥有更多的币,一直没有发出去,等等这些参数使他拥有更多的股权,那么他就拥有打包权。


3)授权权益证明。这个方式认为如果大家都来证明的话效率太低,所以通过选择代表的形式。


4)Raft和PBFT,主要用于内部的区块链系统,一般不适用于公链系统,它们都是类似于投票的机制。


5)权威证明主要用在测试链,比如我们需要测试一些系统,那在测试的过程中,我们不希望每一次都打包区块去进行一次挖矿,而是希望确定某些节点,让他拥有打包权,这时这些节点我们认为是权威的,当然一开始也可以通过某种投票的机制来设定。


6)时间消逝证明。这是英特尔在超级账本项目之下所贡献出来的一种做法。这种思路比较局限,目前并没有广泛的使用。


总之,共识算法就是通过某种做法,选出一个有代表和权力打包的这么一个节点。


脚本系统


 

脚本系统首先是进行数据资产所有权的匹配执行。整个脚本系统做得比较完善的代表是以太坊,它能够做合约的开发。所谓的智能合约,其实就是脚本系统。比特币里的脚本系统功能相对比较弱,因为它的设计只是为了实现币这么一个东西,而以太坊扩展了脚本系统,它使得我们可以用图灵完备的语言来开发自己的一些业务逻辑,在这上面我们可以开发一个游戏,像之前流行的那个加密数字猫,也可以开发一个众筹合约,还可以开发自己的合约代币,或者放某一个商业应用,比如融资租赁或某个溯源管理等。


以太坊整个脚本系统其实就包含了数据跟业务逻辑,可以在被验证以后执行。注意这个执行是在所有的节点上都可以执行,而不是某个指定的或者特殊的节点。


网络服务


 

网络服务这一块也是非常核心的,如图列出了几个比较重要的点:


1)节点的发现。因为是分布式的系统,所以没有一个特有的服务器,一般对于公链来说,会设置一些种子节点,即部署在公开地址的初始节点,一般是由官方或一些志愿者社区来设定。如果是内部的链,这个一般就不太需要,因为内部的节点是明确的,是许可登记的。


2)节点同步。就是节点之间的一个数据账本的同步,只有通过所有同步之后的数据形成的网络,就叫主链网络。


3)远程功能服务。就是对节点的数据访问,比如我通过rpc的一个命令调用获得当前区块的信息,或某个交易事务的信息等。


2
区块链的应用价值


前面是从技术的范围对区块链技术栈进行简单介绍,那么区块链技术到底有什么特点,能解决什么实际问题呢?它的价值在哪里呢?本节将重点探讨区块链技术的价值。


通证设计


 

其价值主要在通证这一方面。通常我们在设计一个区块链系统的时候,我个人建议不能避免对经济模型的设计。如果把它纯粹看成一个数据库系统,我们是有更好的替代方案的,传统的集群设计数据库系统完全可以解决各种溯源、交易之类的问题,比如京东的电商,就是一个交易系统,没必要做成区块链。


区块链技术价值的体现在于对一个经济模型的设计。比如比特币,为什么大家会一直运行这个东西,先不说它的炒作,就从其机制来看,它首先通过一个挖矿的方式,实现了币的发行,通过奖励的形式使得社区中的矿工以及其他打包者能够得到收益。它通过这样一个经济模型,使得整个网络在没有一个实际的权威公司来进行服务的同时能够良好的运行。


这个也适用于其他的领域,我们在设计区块链系统的时候,一定要看它是不是拥有经济模型,如果它不拥有经济模型,那一般来说它就是可替代或者说不是必须使用区块链技术的。经济模型的意义在于它是一个公共运行的系统,是一个公链系统。


扩展技术


 

扩展技术是非区块链的一个核心技术栈,它是一个很重要的补充。


1)预言机。比如我们设置了一个系统,希望在区块链里捕获它的信息,或捕获电商的某些商品信息,这些商品信息进入到链内,就是所谓的上链。问题是链内的数据是通过种种共识协议,包括各种校验,是经过了信任处理的,但链外的数据对于链内来讲是不受信任的。预言机就是解决这个问题的。


2)预言机技术到目前为止还没有一个特别成熟的方案,所采取的做法也都是一些类似于投票的机制,就是有一些验证节点、投票节点,如果大多数节点认为取得的这个数据是可信的,那么就认为该数据可被信任,当然其中也会使用一些密钥证书之类的验证机制。


3)侧链和闪电网络主要是对主链性能的补充,侧链和闪电网络的概念都来源于比特币系统的扩展。当主链系统特别繁忙的时候,一个区块的确认要等待很长的时间,如何对这种平常的事务进行快速交易,有人就设计出单独另开一个链,这个链上的数据可以秒级地进行收发确认,然后在最后再用主链通过合约的形式进行一个信用担保或者结算,如果运行的侧链跟闪电网络中的数据,有人耍赖或者提供一些破坏的话,最终会被主链的惩罚合约以没收币的形式来进行监管。


4)零知识证明之前已经介绍过了,它也是属于一个非必须的扩展技术。


5)跨链协议。我个人认为跨链可能是未来的一个形态,在一条链上运行各种应用不太现实,未来更可能出现的是拥有各种不同的专门的定制化的链。但这些链不能是一个个的孤岛,它们彼此之间必须能够互相交换信任和数据,这就是跨链协议。虽然到目前为止仍然没有出现成熟的跨链的技术,还都是一些概念的验证,但这将会是未来的一个发展方向。


侧链和闪电网络


 

如图所示就是侧链/闪电网络跟主链的关系,它是跟主链配合,可以认为它相当于是集群的备份,负载均衡。


预言机


 

预言机就是外部信息如何进入到链内,以及链上数据如何到外部。Reality Keys、 Oraclize是两个目前比较典型的开源方案,我们可以在GitHub上看到它们的代码,这两个方案目前都没有经过严格而完整的实战验证。


零知识证明


 

零知识证明主要是对加密算法的使用,就是隐匿发送方与接收方的交易信息,但是在隐匿了之后别人怎么来验证你的数据是没有问题的、是合法的呢?在这种情况之下来进行这种技术应用。


Zk-SNARKS算法是目前比较主流的零知识证明算法框架,一般在开发零知识证明这一块的代码的时候,主要都是使用这一套方法,它是来源于zcash的一个发展。还有其他的一些零知识证明算法的应用,包括同态隐藏、盲评价多项式、知识系数测试和假设等。


在商业应用环境之下,零知识证明拥有比较重要的地位,因为它是对数据在加密情况之下的一个检测,在公链上一般不太适用于直接的商业化的使用,因为商业化应用对数据加密有更健壮的要求。


跨链协议


 

跨链协议是通过中继链提供多种链系统的数据交换。它的目的一方面是减缓单链的性能压力,另一方面是提供链之间的层次性。之前在以太坊我们发现,它的网络极其拥堵的时候(比如数字加密猫的出现,导致整个网络极其拥堵,几乎不可用),以太坊官方曾经提出过一个分片的做法,但这个做法其实是以降低安全性为代价的。它的一个基本理念是认为以前要全网广播这些数据最终一致性,现在认为比如说全网是一万个节点的话,有4000个节点已经同步就可以了。这种做法对于带有资产的链而言,其实是降低安全性的。


更好的做法其实是提供分层链,也就是每一条链依然是完整的,两个链或者说多个链之间进行同步的多点共识。目前以太坊官方也在全球招募技术开发者来做这一块的探讨和实践。


3
目前主流系统



公有链:比特币、以太坊、比特股、瑞波网络。


联盟链:Fabric,超级账本之下的一个子项目,它不是一个链,而是联盟链的一个开放框架,开源的,可以直接拿来用。


EEA叫企业级以太坊,以太坊本身是公链,但应用在企业场景之下时提出了EEA企业级以太坊的概念。企业级以太坊目前有一套已经提供源码的实现是Quorum,它是摩根提供的EEA实现,它的源码也在GitHub上,可以去看看。


公有链和联盟链之间在功能板块上的主要差别是联盟链支持更多鉴权、综合验证等,联盟链一般来说它本身不是一条链,更多的是一个技术开发框架,使用者可以自己来部署网络。


4
区块链生态



着眼于整个区块链的生态,上图表示我个人意见上的一个划分。


1)开发层面,目前有不少东西是缺乏的,比如开发环境,现在并没有专用的区块链的开发环境,也没有比较成熟的标准库,包括跨链协议,都是缺乏的,建议技术研发的同学可以往这些方向去做一些贡献。


2)安全,比如应用审查方面,代码的健壮性。我们要注意的是区块链系统上的数据往往是带有资产性质的。早期出现过一个事故:一个以太坊合约的代码漏洞导致数亿美元的资产丢失,其实导致这个事故发生的原因很简单,就是写合约代码的时候出现了一个漏洞,被黑客攻击,在安全上缺乏标准的测试环节。


3)监管。公司内部或机构之间其实没什么关系,但公链是需要国家监管的。监管包括对数据审计、沙盒监管等,到目前为止主要是靠人为管理,没有一个技术机制,所以很难保证链上运行数据的合法性。国家也一直在努力寻找解决方案。需要注意的是,这里说的监管并不是指由某一个部门或人来决定,而是一套法律机制。


4)运营。这里特意把版本管理列出来,通常一个软件的版本管理不至于放到运营的高度来,但对于区块链系统来讲,版本管理是一个非常重要的事件。我们知道它不是一个中心化的系统,那就意味着当开发团队发布新版本以后,如果这个新版本做了很大的改动,甚至包括底层协议都改了,它是无法保证所有的用户都会去升级的,比如比特币,如果有10万个用户的话,可能8万个用户升级了,还有2万个用户不想升级,那就会导致这个链的分叉。所以版本管理是运营的一个非常大的事情。异常管理主要是针对发生网络拥堵等问题的管理。


开发工具链


 

开发工具链是未来在这一块的开发,今年其实也出现了一些相关工具,包括:


1)针对区块链的领域特定IDE;


2)标准资产定义向导,标准资产定义向导,比如基于以太坊的代币,它本身不是一个标准,但因为用的多了很多人会在上面去定义这个东西,于是很多机构认为有必要对它进行一个接口的约定,当你写这份合约代码的时候,按照标准去实现它特意命名的这些函数接口,以使得其他人可以直接识别这个合约,这其实是一个标准化的例子;


3)关键算法库如共识算法、加解密算法库等,比如石墨烯就是一个工具库,比特股就是基于它开发的一个去中心化交易所。


测试沙盒


 

测试沙盒主要是对于智能合约的代码安全测试;节点模拟沙盒测试,模拟大规模的节点、模拟节点的时效、模拟恶意节点等;攻击测试;多版本分叉测试,每次分叉对于区块链都是一个重大的事件,因为通常意味着它原始的共识网络会被打断,就可能会带来一系列的安全问题。包括公司内部也一样,节点数量更多的时候,当你不能同步升级就会导致分叉。


5
当前问题



总的来看,当前的问题主要表现为:智能合约的安全性、系统可用性、多链互联协议缺乏标准和产品验证、互联网审计监管技术方案缺乏、以及专业特定的开发及测试工具缺乏。更多的问题主要在公链,联盟链在公司或机构之间,问题会少很多。


加入知识星球

和蒋勇老师交流


(本文内容为《白话区块链》作者蒋勇老师于京东大学区块链专题公开课的分享实录。       

    本文编辑:Cynthia)


以下是我们的社区介绍,欢迎各种合作、交流、学习:)



别再死磕AUTOSAR文档了!手把手教你用ISOLAR-A配置BswM模块(附实战流程图) 本文通过Vector ISOLAR-A工具实战演示AUTOSAR BswM模块的配置流程,帮助工程师快速掌握基础软件模式管理。从环境准备到模式仲裁规则配置,再到动作列表实现,详细讲解每个步骤,并提供常见问题排查和高级优化技巧,大幅提升开发效率。 阅读详情

相关推荐

【电商风控】电商风控标注是什么

本篇文章给大家谈谈。

866

专访《白话区块链》作者蒋勇:学习区块链空谈不如实践

对于行业来说,我们需要更多的区块链技术理论研究,对于个人来说,学习区块链需要更多实践。

HiBlock的博客 1964

GX WORKS2通过交换机连接PLC的方法

三菱PLC连接方法的分享

weixin_64927621的博客 3620

蒋勇 | 白话区块链技术栈与应用

点击查看全文 (中生代技术&华章科技区块链技术分享第一期) (本文约12000字,阅读完本文预计10分钟) (如果电脑上阅读出现方框乱码,请下载PDF原文:链接:http://pan.baidu.com/s/1jHEyjEA 密码:zg30) 内容概要 现如今说起比特币,相信不少朋友已是耳熟能详了,尤其是这两年随着其价格飙升,甚至超过了黄金 ,超过了房

DONGYUXIA15810857916的博客 2427

CANoe VLAN配置的艺术:如何通过脚本自动化实现高效车载网络测试

本文深入探讨了CANoe VLAN配置的自动化实现,通过CAPL脚本与Python工具链的结合,提升车载网络测试效率。重点解析了硬件侧VLAN配置与软件侧VLAN配置的交互机制,并提供了实用的脚本开发示例和调试技巧,帮助工程师快速构建高效的自动化测试方案。

qqq44的博客 617

基于Unidbg的小红书加密协议动态分析与算法还原实战

在移动应用安全领域,加密协议与签名机制是保障数据传输安全、实现客户端身份验证的核心技术。其原理通常涉及哈希算法、对称/非对称加密以及自定义的混淆逻辑,旨在防止请求被篡改或重放。理解这些协议对于安全研究、风控策略制定及合规的数据交互分析具有重要价值。在实际的工程实践中,面对高度混淆和加固的Native代码(SO库),传统的静态分析往往难以深入。此时,沙盒模拟执行技术提供了一种动态、可控的分析方案。通过搭建一个虚拟的移动应用运行环境,研究人员可以在无需真机、规避反调试机制的情况下,完整地追踪和观察加密算法的执行

weixin_29315091的博客 327

白话区块链

水里照出的是自己的脸,内心反映的是自己的为人。(《圣经·旧约》) 1、概述 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。——《百度百科》 上方的定义已经概括了区块链的主要特点,分布式数据存储、点对点传输、共识机制、加密算法。但是还是比较晦涩难懂,本文主要是将高大上的神秘区块链技术通俗描述

跨语言,跨平台,跨应用 2886

海思Hi3516CV610--SPI NAND Flash移植实战:从手册到驱动的完整适配

本文详细介绍了海思Hi3516CV610芯片上SPI NAND Flash的移植实战,包括从手册解读到驱动适配的完整流程。以GD5F2GM7UEYIGR Flash为例,重点讲解了关键参数确认、模式选择、时序配置以及U-Boot和Linux内核驱动的具体实现步骤,帮助开发者快速完成Flash移植工作。

weixin_29158413的博客 447

用大白话举例子讲明白区块链

用大白话说清楚什么是区块链

怪力乌龟的博客 4245

S4HANA - Cost Elements成本要素

SAP这里面的配置逻辑很像,就是先建一个对象,然后不停给这个对象附加一些属性,给一个账户附加编号范围,附加账户组。所有模块的维度都在这个表里,看下图的GL,CO,COPA,AA,ML的都在ACDOCA里。要把这5个类型和六大要素对应,先得把六大要素和账户类型对应下(以下是个人理解,不知道对错):当然那个C是新来的,我觉得放在资产下面也行,就不画图了。S4的嵌入式分析是在业务逻辑都整套嵌入的情况下,预开发了数据模型,所以它能提供的就不仅是原始数据了,它能提供的是包含所有相关联的上下文的信息数据。

weixin_45689053的博客 2395

Android开发工程师面试问题与参考答案

这是一份Android开发工程师职位面试指南,主要针对自研OS开发岗位。岗位要求3年以上独立开发经验,熟悉Android平台UI设计、四大组件和Java基础。面试问题覆盖五大核心领域:基础知识、开发经验、技术深度、问题解决和性能优化。文章提供了典型面试问题及专业参考答案,帮助应聘者准备关键技术点,如多线程处理、HashMap与ConcurrentHashMap区别、Handler机制等。同时建议应聘者结合项目经验展示优化能力,并注意公司提供完善的薪酬福利和团队文化。

郑伟强dev的专栏 895

前方高能提示:SDCC 2017之区块链技术实战线上峰会开播倒计时

SDCC始创于2007年,十年长空,历久弥新——2016年,SDCC已分别在上海、深圳、成都、杭州、北京五地举办系列峰会,广受当地开发者欢迎。其中,北京作为年度收官之作,聚焦最前沿技术成果,汇聚年度最强实践案例,为中国软件开发者们呈献了一份年度技术实战解析全景图。 精彩从未止步,就在3月19日,为期三日的SDCC 2017首站于上海圆满收官(PPT下载),以绝对干货的技术分享赢得...

博客 973

使用R包PreMSIm预测微卫星不稳定的标题:基于基因表达量的微卫星不稳定性预测

在本文中,我们将介绍如何使用R语言中的PreMSIm包来根据基因表达量进行微卫星不稳定性的预测。需要注意的是,本文仅介绍了使用PreMSIm包进行微卫星不稳定性预测的基本流程和代码示例。在实际应用中,还需要考虑数据的质量控制、模型优化以及结果的解释和验证等因素,以确保预测结果的准确性和可靠性。预测结果将返回一个包含微卫星不稳定性指数的向量,其中每个元素对应一个样本的预测结果。在有了输入数据后,我们可以使用PreMSIm包中的函数进行微卫星不稳定性的预测。函数生成一个包含所有样本的微卫星不稳定性信息的表格。

2301_79330511的博客 383

区块链--大白话说明

做开发的听过区块链,搞金融的也听过区块链。好像互联网金融峰会上不说区块链技术就不是这行的。包括BAT、各大银行、金融机构都开始做自己的区块链工作。 由于自己的工作会接触到区块链,所以自己也开始一点点去学习区块链,把自己学习到的会整理出来,供大家一起交流探讨,不足之处还请指正。 那区块链到底是什么?本片文章将以大白话,通俗易懂的来讲解什么是区块链技术。 先来举一个生活中的例子 假设有一个人告诉你,...

Mr.Spade的博客 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

通俗易懂讲解区块链

近日,区块链又刷屏火了。中央提出要把区块链作为核心技术自主创新的重要突破口,加大投入力度,着力攻克一批关键核心技术!那么“区块链”到底是什么呢?很多人最初都是通过“比特币”等虚拟货币对“区块链”有些了解,但大都不知道“区块链”到底是什么有什么用等等,今天小编就来通俗易懂的介绍下,供大家参考下。 一、区块链是什么? 专业来说,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加...

Apple_Boy的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

白话区块链 之1: 为什么账本要这么记?

【编者Peter Ye按】周末带小朋友逛王府井书店,很高兴看到,我参与翻译的《VMware软件定义存储:原理剖析和设计指南》在书架上摆放着。而且我领衔撰写的,早在2016年7月上市销售的《软件定义存储:原理、实践与生态》,也还在书架上。不过遗憾的是,更合适这本SDS书的分类是云计算和虚拟化,但书店却摆放在软件工程。小朋友想多留一会儿时间,看科学类的书籍。我就找些最近感兴趣的区块链的书籍。翻开《白话

乐生活与爱IT 1771

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

区块链白话讲解

一直很多的区块链技术,前段时间一直霸占各大技术网站的头条,更因为比特币将这个技术推向了一个新的境界,好后悔当初没买比特币。 和原来一样,一个技术的出现,就会有很多技术文章的分析,太技术的东西我就不说了。。 简单的聊下区块链: 在说之前,我们说下区块链最大的意义,去中心化。 有个问题什么是中心化,简单来说,如果你要去买包烟,但是你没有现金,但是卖烟的店家现在支持微信支付或支付宝,然后你用以上

nixzmdi1的专栏 4232

区块链基础概念与实战-蒋勇-专题视频课程

本课程涵盖区块链基础知识与概念,并介绍了比特币中的特性结构,通过golang的编程应用介绍,演示以太坊DAPP的实战应用开发

pigmepigyou的博客 893

白话区块链 之3: 区块链技术栈

【编者Peter Ye按】可以打开如下链接,详细阅读前几篇:白话区块链 之1: 为什么账本要这么记?白话区块链 之2: 区块链技术理念下面的段落是:第1章第3节 《区块链技术栈》。---Begin---区块链本身只是一种数据的记录格式,就像我们平常使用的Excel表格、Word文档一样,按照一定的格式将我们的数据存储在电脑上,与传统的记录格式不同的是,区块链是将产生的数据按照一定的时间间隔,分成一

乐生活与爱IT 1324

大白话理解区块链

先有比特币,后来发展出区块链技术。 比特币实际上就是 数字序列。 传统的货币之所以能被采用,需要被某个群体认可,而传统货币做到这点,依赖于“国家”颁布的法令,所以是一种中心化的货币。 比特币有限定额度,2100万,通过“挖矿”来产生新的比特币,挖矿是通过某个算法对哈希序列进行碰撞,产生新的数字序列,当这个数字序列满足某一个规则,则视为是新的比特币。 此处所说的规则,本来是序列第一位是0,后来变为前72位是0。 而挖矿所碰撞的哈希序列,实际上是用户交易的记录,将用户的交易记录,加上随机数,作为一个区块,链接起

qq_39006214的博客 9094

技术版·白话区块链(二)

华正皓 渡鸦区块链专栏作者 之前文章说过区块链就是通过密码学的方式形成的一个由集体维护的分布式数据库。首先,区块链,字面上理解就是由多个“区块”连接成为的一种“链式”的数据结构。     就像这样: 对于初步了解区块链的人来说,可以简单的把区块链理解为分布式数据库(实际上是不同的),一种点对点的网络。它的网络结构是分布式的: 下面来详细说一下具体一个区块是什么样的数

渡鸦区块链 1465

区块链原理通俗说明

通俗讲解区块链 区块链是一个记录数据的一个共享数据库,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,根据其具体实现的差异可以实现不同的功能,例如数字货币(Bitcoin),智能合约等。 例子(转载《白话区块链》): 早些时候,农村一般都会有个账房先生,村里人出个工或者买卖些种子肥料等,都会 依靠这个账房先生来记账,大部分情况下其他人也没有查账的习惯,那个账本基本就是这 个账房先生保管着,到了年底,村长会根据账本余额购置些琐碎物件给村里人发发, 以来也都是相安无事,谁也没有怀疑

be_a_hacker的博客 1106
上一篇: 【实战】颠覆银行基础架构的区块链
下一篇: 对话量子链创始人帅初:区块链发展目标是构建协同进化的生命体
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值