区块链相关技术学习总结——区块链以及区块链技术入门详解

我用两个月时间,终于把优快云付费资源项目玩明白了! 关于项目的定位,这是一个知识付费项目,根据市场研究机构的数据显示,到2023年,全球知识付费市场规模将达到2000亿美元,所以说知识付费的前景是十分广阔的,当下互联网时代信息大爆炸,80后、90后、00后群体对知识付费的认可度也大幅提升,同时这群作为知识付费的主流人群已经具备了更强的消费能力,而且对于知识付费的需求更高。目前整个知识付费领域仍然在发展起步的初期,尽快在知识付费领域布局可以帮助我们在这波红利中获得一份不错的收益。而且个人认为, 阅读详情

转载自:http://blog.youkuaiyun.com/u012562943/article/details/60779241

区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点网络,恰恰满足了共享经济的一个必须要求——低成本的可信环境。

1. 技术人员看待区块链的正确姿势

区块链虽然是一个新兴的概念,但它依赖的技术一点也不新,如非对称加密技术、P2P网络协议等。好比乐高积木,积木块是有限的,但是不同组合却能产生非常有意思的事物。

我接触过一些工程师,初次接触区块链时,不约而同的表达了:都是成熟的技术,不就是分布式存储嘛。站在工程师的角度,第一反应将这种新概念映射到自己的知识框架中,是非常自然的。但是细究之下发现,这种片面的理解可能将对区块链的理解带入一个误区,那就是作为一个技术人员,忽略了区块链的经济学特性——一个权力分散且完全自治的系统。

区块链本质上是一个基于P2P的价值传输协议,我们不能只看到了P2P,而看不到价值传输。同样的,也不能只看到了价值传输,而看不到区块链的底层技术。

可以这么说,区块链更像是一门交叉学科,结合了P2P网络技术、非对称加密技术、宏观经济学、经济学博弈等等知识,构建的一个新领域——针对价值互联网的探索。

那 什么是价值互联网 ?价值互联网可以是当下如日中天的电子商务所衍生的支付业务。但,真的只是支付领域吗?很显然这是不够的,一级资本市场,实体资产确权与转移,证券登记交割、征信与反欺诈。我们再仔细想想,我们的各大电商平台的专业差评师,恶意刷单还少吗?

如今的金融领域,除了支付比较便利之外,在其他绝大部分的业务中,我们就像是被套着锁链走路一样,我们反复确认,反复审核,反复监督,我们反复构建一个又一个的大大小小的高可用集群,保证线上服务的可靠性与连续性,我们雇佣一个又一个的安全工程师,交付一个又一个的渗透测试项目。为什么?因为作弊的成本太低了,低到只要改数据库的一行记录就可以提取上百万的资金。

强大的互联网给了我们成本几乎为零的高速信息传输通道,却没有一个成本低廉可靠的高速价值传输通道,那么这也就是区块链即将带来的。

区块链是一个公共的分布式总账,下面从技术角度简单介绍一下:

想象有一个100台的分布式数据库集群,现在的情况是这100个节点实际上的拥有者是一个机构,并且所有节点处在该机构的内网当中,所以这个机构想让这100个数据库节点干嘛就干嘛,换句话说这100个节点之间是处于一个可信任的环境,并且受控于一个实体,这个实体具有绝对仲裁分配权。

另外的情况是这样的,想象这100个节点分别归不同的人所有,且每个人的节点数据都是一样的,即完全冗余,并且所有的节点是处在广域网当中,换句话说就是这100个节点之间是不信任的,且不存在一个实体,它拥有绝对仲裁权。

现在考虑第二种情况,采用什么样的算法(共识模型)能够提供一个可信任的环境,使:

  • 每个节点交换数据过程不被篡改;交换历史记录不可被篡改;

  • 每个节点的数据会同步到最新数据,且承认经过共识的最新数据;

  • 基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。

区块链本质上就是要解决以上第二种情况的一种技术方案,更确切的说应该叫分布式的冗余的链式总帐本方案。有关区块链的一些要素,在我以往的文章里有总结过一些:

  • 包含一个分布式数据库

  • 分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本

  • 区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体

  • 区块链只对添加有效,对其他操作无效

  • 基于非对称加密的公私钥验证

  • 记账节点要求拜占庭将军问题可解/避免

  • 共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。

  • 共识过程能够解决double-spending问题

所以作为一个技术人员,不应当只看到了区块链所依赖的技术,更应该关注区块链以外的点和面,综合来看,区块链将会有趣得多。

2. 区块链的一般性架构介绍

有关区块链本身的发展史,网络上资料比较多,本文不再赘述。

而有关区块链技术的介绍,在各个区块链平台的社区是有详细资料的,但是针对这些资料的总结,以及抽象出一共通概念的介绍,还是凤毛麟角,本文尝试总结一下。

在介绍之前,我想稍微介绍一下公有链,联盟链的概念,这些概念是以太坊创始人Vitalik提出的,我在这些概念的基础上做了一些研究。

其实区分公有链、联盟链很简单,只要看这个区块链的访问权限就可以了,如果访问该区块链需要获得链上节点的许可,那么这是一个联盟链,否则是公有链。

根据名称,我们也可以”望文生义“,公有表示一个完全开放的网络,联盟表示一个半开放的网络,成员之间是共享的,非成员身份是没有自由访问权限的,所以我们也称联盟链为许可链。

下面我们来看几个比较主流的区块链平台(公有链,皆开源):

  • 比特币 Bitcoin

  • 以太坊 Ethereum/经典以太坊 Ethereum Classic

  • 比特股 Bitshares

我一般戏称为”三巨头“,从生态上来看,比特币是最为成熟稳定的,以太坊更像是一个冲在前面的勇士,比特股相比前两位生态要小很多,但是从创新的角度,也不亚于前两位。

其他的很多项目,是从这三个区块链上衍生出来的,所以以这三个为基础,基本上可以吃透区块链了。

不得不提的还有Linux基金会项目——HyperLedger项目(主打联盟链,开源),也是旨在打造一个通用的区块链技术,不过我认为目前尚在开发迭代当中,还没有具体的应用案例,按下不讲。

另外还有一些银行寡头间的联盟链项目——R3 CEV项目(联盟链,闭源),以及中国的R3项目——ChinaLedger(联盟链,闭源),当然这些不是开源的,我无法获得有用的资料进行分析,所以就不展开了。

从技术上来看,针对不同的业务场景,对区块链有不同需求,比如实时结算业务,要求区块链提供秒级的交割,相对应的就是出块速度的要求,而出块速度过快往往会导致区块链分叉(fork),形成孤儿链,孤儿链是无效的,那么交易也就作废了,影响了区块链的最终一致性。

如果频繁产生分叉造成相当比例的用户交易失效,那么可以认为系统是不可靠的。

如果我们将这种实时性要求比较高的业务安插到联盟链中,就可以控制风险,通过调整共识算法,利用快速一致共识模型(Consensus Model)来避免上述问题,虽然不如公有链那么健壮,但对某些特殊场景足够了。

所以架构层面,对公有链和联盟链的技术也要差异化对待。

不过客户端整体的设计还是有一些通用的概念的,如下图:

一个区块链至少分为三层,最底层是一些通用的基础模块,比如基础加密算法,网络通讯库,流处理,线程封装,消息封装与解码,系统时间等;

中间一层是区块链的核心模块,一般包含了区块链的主要逻辑,如P2P网络协议,共识模块,交易处理模块,交易池模块,简单合约或者智能合约模块,嵌入式数据库处理模块,钱包模块等等;

最上面一层,往往都是基于Json Standard RPC的交互模块,基于Json-RPC,我们还可以做出更好的UI界面,也可以是一个web-service。

如果区块链 支持智能合约,可能还要分更多的层,比如增加BaaS层,区块链上的智能合约提供自治的服务,比如下面这张以太坊的架构图(来自Google,仅作参考):

这种分层更加关注的是区块链本身的分层,即业务上的视角,而不完全是技术的。

我们再转向比特币的设计:

比特币几个模块之间的耦合度其实比较高,而且有不少历史包袱,比特币的发明者——中本聪在开发比特币的时候,使用VC++开发,而VC++的标准库中的sstream流处理性能非常感人,不得不放弃,自行实现了了基于vector 的流处理容器。而随着c++11的推出以及标准库的更新迭代,性能不可同日而语。

从整张图我们可以看出,比特币的模块比较少,也比较简单。chain-paramters描述了整个区块链的参数设置,wallet是与地址/加密还有存储相关的,mem-pool是未确认的交易池。得益于比特币核心开发者的不朽贡献,相比中本聪时代的比特币代码,现在的比特币代码质量已经相当不错了。

以上无论哪种设计,一般都要从P2P网络协议作为切入,作为一个P2P钱包,既要提供Service也要提供Client,作为Service依赖P2P网络协议,作为Client依赖Json-RPC。

需要指出的是,目前”三巨头”所使用的账户模型是不同的(所谓账户模型是指账户记账方法),比特币使用UXTO模型,以太坊和比特股使用账户余额模型。

UXTO模型(Unspent Transaction Outputs (UTXOs) ):此模型表达了一种转移的概念,即任何产生的新币,在以后的生命周期中,只有转移,没有消亡,转移实质上是由加密算法的签名与验证控制的:

账户余额模型:账户余额模型摒弃了这种强验证的账户模型,即账户余额回归到数字加减,这样做提升了交易的效率。

3. 共识算法与分布式

终于来到重点了,本文每节其实都可以展开成为独立的文章,内容所限,简单讲。

所谓区块链共识过程,在上文有所提及,是指如何将全网交易数据客观记录并且不可篡改的过程。目前"三巨头"分别使用不同的共识算法(Consensus Algorithm), 比特币使用工作量证明PoW(Proof of Work),以太坊即将转换为权益证明PoS(Proof of Stake),比特股使用授权权益证明DPoS(Delegated Proof of Stake)。

以上这些算法我称之为“经济学”的算法,所谓经济学的算法,是指让作弊成本可计算,且让作弊成本往往远大于作弊带来的收益,即作弊无利可图,通过这种思想构造一个用于节点之间博弈的算法,并使之趋向一个稳定的平衡。

相对应的我们还有计算机领域的分布式一致性算法,例如Paxos、Raft,我也称之为传统分布式一致性算法。

他们之间的最大区别是:系统在拜占庭将军(Byzantine Generals Problem)情景下的可靠性,即拜占庭容错(PBFT算法支持拜占庭容错)。然而无论是Paxos还是Raft算法,理论上都可能会进入无法表决通过的死循环(尽管这个概率其实是非常非常低的),但是他们都是满足safety的,只是放松了liveness的要求, PBFT也是这样。

下面是一些传统分布式一致性算法和区块链共识过程的异同点。先来看相同点:

  • Append only

  • 强调序列化

  • 少数服从多数原则

  • 分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志

这是不同点:

  • 传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxos除外),即假设所有节点只发生宕机、网络故障等非人为问题,并不考虑恶意节点篡改数据的问题;

  • 传统分布式一致性算法是面向日志(数据库)的,即更通用的情况,而区块链共识模型面向交易的,所以严格来说,传统分布式一致性算法应该处于区块链共识模型的下面一层。

考虑上面的不同点,结合公有链和联盟链的特征,我们有:

  • 联盟链:半封闭生态的价值网络,存在对等的不信任节点,如某某协会成员之间。

  • 公有链:开放生态的价值网络,这层主要是为行业链和私有链提供全球交易网络。

由于联盟行业链其半封闭半开放特性,使用Delegated Proof of XXX 是可行的,可以考虑以传统一致性算法作为基础加入拜占庭容错/安全防护机制进行改进也是可以的。

而针对公有链,PoW/Pos/DPos等“经济学”的算法可能是最优算法。

技术上,以上不同的共识算法,我们很多新开发区块链都相应的支持一个特性:共识模块可插拔,以应对不同场景下的要求。

下图是一张未来区块链生态示意图:

公有链提供可信可靠的价值传输网络,上面可以继续组建去中心化应用(DAPP)或者部署联盟链,甚至传统数据库都行,在上层搭建C端应用。

4. 数字资产与价值流通网络

这里有张未来区块链发展的示意图:

ref: Metaverse元界白皮书-CN(概要)

“三巨头”中,比特币在“数字货币”处,比特股在“去中心化交易所”附近,以太坊在“去中心化组织”处。而实际上,区块链和现实的接触点,还在图示位置。

所以区块链仍是一个正在成长的事物,结合图5,我们希望构建一个基础设施完善的价值传输网络,上层应用丰富的区块链生态,仍然需要付出巨大的努力。

下一步目标,是将资产数字化(类比资产证券化),例如我们可以将珍稀物品(艺术品/古董)数字化、知识产权数字化、票据基金等收益权数字化,将极大的提升市场运作效率,配备智能合约,甚至人工智能,可编程社会不再是梦想。

精彩问答

问题:还是感觉太抽象,至今都还不能具象化的理解这个区块链,也没找到具象化的解释。

正如区块链这个名词一样,它是被创造出来的,并没有以往的概念可以映射到上面,所以容易费解。我们不谈这个概念,我们只需要想想我们的互联网还需要什么。正如比特币白皮书提到的,一个点对点的现金系统,他使用的前提要求是很低的,不需要注册,不需要手机号,一个点对点的网络,只要你用设备接入,那么你就可以使用。区块链这个概念也一样,目的是构建一个点对点的生态,解构权力带来的不对称。它本身只是一个共享的总账本,不同于网络中多节点自己记账,再对账,这就瓦解了中心权力。

问题:区块链技术在互联网身份认证方面如何应用?

这个问题很好。我目前所做的区块链项目是涵盖了这个概念的,也就是你所说的互联网身份认证。我们认为它是使区块链接入现实业务的必要一环。

在我们的设想中,首先什么是身份?身份不单单是一个ID号,一个密码,而是一个使用者所有的操作记录集,这个记录集的代号才是身份。正如账户丢失,然后申诉一样,申诉的内容才是真正定位到你这个人。区块链也一样,它需要一样ID,同样它也需要自动验证你历史记录的合法性。目前互联网的身份认证是依赖公安系统的,最简单的方案就是把公安系统中的身份系统映射到区块链中。另外一个方案也是用户自定义记录集,根据交易历史核对身份。当然再更远的未来,结合人工智能,区块链可能有更好的表现。

问题:实时交割数据如果放到联盟链中,联盟链的数据是否要最终同步到公有链?按分享所说,联盟链的数据对公有链来说是不可信任的,联盟链和公有链中数据是什么关系?

我认为不可能所有机构都愿意把资产放到公有链上的,一定会出现并存的现象。理想的情况当然完全使用公有链搭建去中心化应用。联盟链和公有链直接的数据是单纯的引用关系,我认为开放的关键数据集,如用户身份应该沉淀到公有链,让用户自己管理,而机构比较私有的关键数据,应该使用访问权限将它与公有链隔离,所以联盟链的数据和公有链的数据我认为是互补的。也就是说,联盟链的数据是否要同步到公有链,这个要是视机构本身的需求而定。另外,公有链的外部数据引用,我们称之为data-feed,这个东西就要把人的因素引入了,比方说法务,律师,政府机构等等,作为一个仲裁者帮助引用数据,好坏可以让市场评价信用,正如对一个机构评级一样,如果这样就很透明开放了。

问题:有一些很有趣的实体项目比如智能门锁,无人租车,这些都是线下项目,怎么做到互联互通呢?

首先区块链的项目都是跨平台的,也就是说嵌入式设备可以依托区块链的低信用成本的优势,自动记账,可以是联盟链的,也可以是直接基于某个公有链的DAPP,这些账本是共享的,这些数据在发生引用关系的时候,可以进入公有链通道,打通两者关系。

其次,任何具体的区块链项目,都是需要依托一个公有链进行的,正如现在很多落地项目都是基于“三巨头”,然而其实目前并没有一个让大家都特别满意的标准,让大家都服,所以我我们还要拭目以待。

问题:多谢分享,能谈谈最后一张图中区块链发展的各个阶段可能对传统金融行业尤其是银行业的影响吗

对银行业的影响,我认为现阶段影响不大,尤其是国内。这个要视区块链发展的程度而定。我所了解的,央行已经开始着手自己的数字货币了,这对银行来说,顶多就是再来一次IT架构升级的事儿而已,可以帮助银行业降低IT成本,也可以方便加强监管。但如果在更远的未来,银行可能不会特别封闭,变成一些区块链的代理节点,也会被所有人所监督,而不是几个特殊机构。

问题:如果公有链能够记录所有历史,有没有技术能破坏或封禁,有没有生命终结的那天?

有一点技术风险,通用量子计算商用的时候,目前的加密技术很多都失效了,基于密码学的区块链受影响最大(当然现在的中心化架构也会受到影响)。这取决于理论研究的成果,如果出现了新的密码学理论可以抵抗量子计算就没问题。如果从P2P网络的角度,是没有任何机构或个人能封禁的,只要有两个节点还能做交易也能记账,这个区块链就是alive的。

从经济学的角度,区块链的生死也不主要在于加密技术是否被攻破,而主要在于链上聚集了多少财富和利益,链上的数据有多少价值,如果没有价值了,链自然就死了,反之如果被攻破了,不过是分叉、或者等待新的加密算法出来之后进行数据迁移,这一点跟中心化数据库恢复备份没有什么太大区别。

区块链的介绍和应用场景以及发展趋势 那么大家就会以你的这条链作为正确的链,而放弃之前记载的正确的链。在区块链中,信息的加密和解密是通过公钥和私钥的,公钥加密的东西可以用私钥解开,私钥加密的东西可以用公钥解开,而公私钥匙的最大区别就是,公钥是大家都可以看到的,就像java里的public类型,而私钥是不可见的,也就是private类型。如此开放和透明,不禁让人担心区块链的安全性,但事实上,区块链在创建到现在,也没有黑客成功进行过攻击,发生过所谓的区块链入侵事件,也是黑客针对区块链的第三方平台的漏洞进行的攻击,而区块链本身却没有这样的漏洞。 阅读详情

相关推荐

区块链笔记

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 广义和狭义的区块链 广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的...

weixin_44172023的博客 1536

初识区块链

01 区块链概念 区块链可以借由密码学,串接并保护内容的串联交易记录(又称区块)。在区块链中,区块内容具有难以篡改的特性,每一个区块都包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用Hash树计算的散列值表示)。用区块链串接的分布式账本能让交易双方有效地记录交易,且可永久查验。 02 区块链原理 区块链技术可以认为是要解决互联网时代下的“拜占庭将军问题”,即在网络中的中心节点和信息传递通道都缺乏可信度的情况下,如何使网络中的各个节点达成共识。 区块链技术在去中心化、各节点无须事先信任的情

Miracle.Zhao的博客 1万+

区块链开发入门学习线路图

区块链是什么?我们可以将区块链可以理解成是一个类似电子表格的数据结构,通过互联网定时在成千上万台节点计算机上进行复制和更新。这种数据结构消除了单个实体集中掌握数据带来的风险。随着区块链应用热度的持续走高,大家对于区块链技术的学习也愈发感冒。区块链在诸多方面应用的成功案例,让我们对其未来充满信心。特此千锋小编献上区块链开发入门学习线路图(小白珍藏版)。 新科技的出现,通常伴随着业务活动被IT所自动...

码农王也的博客 2万+

基于Spring+Quartz的分布式任务调度(原理剖析、二次开发)

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。 Quartz的优势: 1、Quartz是一个任务调度框架(库),它几乎可以集成到任何应用系统中。 2、Quartz是非常灵活的,它让您能够以最“自然”的方式来编写您的项目的代码,实现您所期望的行为 3、Quartz是非常轻量级的,只需要非常少的配置 —— 它实际上可以被跳出框架来使用,如果你的需求是一些相对基本的简单的需求的话。 4、Quartz具有容错机制,并且可以在重启服务的时候持久化(”记忆”)你的定时任务,你的任务也不会丢失。 5、可以通过Quartz,封装成自己的分布式任务调度,实现强大的功能,成为自己的产品。6、有很多的互联网公司也都在使用Quartz。比如美团 Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度。   课程说明:在我们的日常开发中,各种大型系统的开发少不了任务调度,简单的单机任务调度已经满足不了我们的系统需求,复杂的任务会让程序猿头疼, 所以急需一套专门的框架帮助我们去管理定时任务,并且可以在多台机器去执行我们的任务,还要可以管理我们的分布式定时任务。本课程从Quartz框架讲起,由浅到深,从使用到结构分析,再到源码分析,深入解析Quartz、Spring+Quartz,并且会讲解相关原理, 让大家充分的理解这个框架和框架的设计思想。由于互联网的复杂性,为了满足我们特定的需求,需要对Spring+Quartz进行二次开发,整个二次开发过程都会进行讲解。Spring被用在了越来越多的项目中, Quartz也被公认为是比较好用的定时器设置工具,学完这个课程后,不仅仅可以熟练掌握分布式定时任务,还可以深入理解大型框架的设计思想。

区块链学习——区块链的技术栈

摘要我在区块链学习的上一篇博文,链接:区块链学习——区块链技术理念与工作流程中,简单介绍了区块链的技术理念以及工作流程,本文我将继续介绍区块链技术栈。我们知道,区块链本身只是一个数据的记录格式,就像们平时使用Excel表格、Word文档一样,按照一定的格式将我们的数据存储在电脑上。与传统记录不同的是,区块链将产生的数据按照一定的时间间隔,分成一个个的数据块记录,然后再根据数据块的先后关系串联起来,...

kuangsonghan的博客 1万+

一个完整的区块链入门学习整理,吐血推荐!!!

一个完整的区块链入门整理,吐血推荐!!! 入门介绍与原理: 一、比特币 1.比特币白皮书 这是一切的开始 2.精通比特币 讲比特币很详细的一本书,看完基本对比特币的认识就清楚了。 3.TheProof-of-Work Concept PoW机制理论介绍,英文 4.比特币的原理及运作机制 这篇是新手向,适合向圈外人介绍什么是比特币什么是区块链 5.比特币pow难度调节机制 P...

6万+

区块链相关技术学习总结(1)——区块链以及区块链技术入门详解

区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点网络,恰恰满足了共享经济的一个必须要求——低成本的可信环境。 本次分享一下聊聊区块链技术,以及目前区块链技术架构,并且介绍一下价值互联网。由于区块链是一个新兴的技术概念,本文所有的观点仅代表个人观点,

科技D人生 2万+

区块链入门学习

摘要:此文介绍了我从零开始学习区块链知识的经历,希望能够给想学习区块链这门技术但又不知如何下手的同学一些参考。 一、首先说说我为什么从事区块链这个行业。 我是一名在校研究生,跟着导师学习区块链的知识,能够学习研究区块链这一很新很前沿的技术真的是缘分。我本科专业偏硬件,课程也都是单片机、DSP、FPGA、PLC这一类,当时学的特别开心也特别起劲,还跟着导师参加各种大学生科技竞赛。所以,在研究生选...

aBrightFuture的博客 2028

Fabric学习(一) — 区块链及相关技术介绍

区块链概念最早是从比特币衍生出来的。 比特币(Bitcoin)诞生于2008年,是由一个名叫中本聪(Satoshi Nakamoto)的人首次提出,这个人非常神秘,至今没有他的任何准确信息。在提出后不久,比特币就诞生了。 比特币以及其他数字货币的核心技术称为区块链技术。区块链(Blockchain)在信息技术里是一种数据结构或数据存储方式。它创新性地组合了密码技术、点对点(P2P)网络、分布式部署等技术,可以称其为一个划时代的理念。

关关的博客 3819

区块链相关技术概述

区块链可以看作可信的分布式数据库,用P2P网络通信机制、块链式账本存储机制、密码机制、共识机制4大核心机制,保证了系统的分布式特性、不可篡改特性、不可抵赖特性,使区块链系统“诚实”而“透明”,在应用中具有大范围、跨主体、高效率、低成本的特点。 技术包括:P2P组网技术、块链式账本结构、共识机制、数字签名、加密机制、隐私保护机制等。 P2P组网技术——区块链的通信基础 块链式账本结构——不可篡改 共...

m0_37215251的博客 2688

区块链技术入门学习指引

为了帮助小伙伴们系统学习区块链技术,我们建了这个索引贴,方便大家找到自己感兴趣的文章,从入门到精通一步步学习区块链开发。你也可以使用左侧的分类、标签及搜索功能。 为了帮助小伙伴们系统学习区块链技术,我们建了这个索引贴,方便大家找到自己感兴趣的文章,从入门到精通一步步学习区块链开发。你也可以使用左侧的分类、标签及搜索功能。 有新文章时会更新本文,建议大家加入收藏夹中,如果你觉得本站不错,欢迎你转发给朋友。 引言 给迷失在如何学习区块链技术的同学一个指引,区块链技术是随比特币诞生,因此要搞明白区块链技术

向彪-区块链技术研究 5874

【区块链技术】区块链入门详解①

文章目录区块链的起源交易比特币 :数字货币比特币运行的底层技术:区块链区块链发展共识机制性能扩展跨链交互区块链如何运行1,交易2,区块3,区块链账户体系: 公匙和私匙挖矿:竞争记账权比特币记账原理(多人记账)记账验证 区块链的起源 区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 ,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。两个月后理论步入实践,2

一键难忘的博客 1万+

用itext读取PDF文件提取对应得字符串

一.maven导入jar包 <!--pdf解析start--> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version...

zhanghua_chinese的博客 3696

【区块链】区块链技术学习总结

区块链是一种按时间顺序将数据区块以顺序相连的方式组合而成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

微雨停了的博客 1万+

【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动

1. WM8978简介 WM8978是一款低功耗,高质量的立体声编解码器,专为便携式应用,如数码相机或数码摄像机等。 该芯片集成了立体声差分麦克风的前置放大器,并包括扬声器、耳机和差分或立体声线输出的驱动器。外部组件要求减少,因为不需要单独的麦克风或耳机放大器。 WM8978的功能框图如下所示: 2. WM8978硬件连接 使用STM32F429+WM8978硬件平台,通过I2S接口来读写音频数据,I2C接口发送写命令控制WM8978相关功能。 STM32F429与WM8978的引脚连接如下:

ZHONGCAI0901的博客 1万+

Streamlit安装避坑指南:从零到一键启动你的第一个数据可视化应用

本文提供了一份详尽的Streamlit安装避坑指南,帮助用户从零开始快速启动第一个数据可视化应用。文章深入剖析了安装过程中常见的网络超时、依赖冲突、环境变量缺失等核心问题,并给出了使用虚拟环境、配置国内镜像源、利用.whl文件离线安装等多种经过验证的解决方案,确保安装过程顺畅无阻。

weixin_29065015的博客 614

如何系统学习区块链技术-干货来袭

区块链术涉及面很广,很多开发人员看了一些资料后,感觉似懂非懂。 如何系统的学习区块链技术,是很多想从事区块链开发的程序员的疑问,本文内容有点多,一次吸收不完可以收藏以后再用。 苦口婆心写在前面: 从事区块链开发有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等等。 方向不同,需要学习的内容就不一样,如果基于区块链应用开发,只需要了解一门编程语言(nodejs, Go,...

blockchain_s的博客 4132

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 179

区块链技术实战学习路线图

引言给迷失在如何学习区块链技术的同学一个指引,区块链技术是随比特币诞生,但区块链技术支撑着比特币的运行,因此要搞明白区块链技术,应该先了解下比特币。比特币如果你是还不知比特币是什么,那就看看比特币是什么基础入门接下来可以通过下面这几篇文章了解比特币大概的运行原理: * 区块链记账原理 通过这篇可以了解到区块链是一个怎样的结构 * 比特币所有权及隐私问题 通过这篇可以了解到地址...

深入浅出区块链 1万+

面向企业架构师的 SAP BTP 全景实践:多云、账户、运行时与端到端开发路径

摘要:SAP BTP为企业提供多云、多运行时(Cloud Foundry/Kyma/ABAP Cloud)的数字化转型平台,支持快速构建扩展应用。关键选择包括:1)根据合规与性能选择区域;2)区分Trial(90天限制)与Free Tier(无期限)方案;3)按场景选择运行时(CF适合微服务/Kyma适合云原生/ABAP Cloud适合S/4HANA扩展)。建议优先使用Free Tier进行POC,并通过BTP Cockpit统一管理,实现从验证到生产的平滑过渡。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 253

RK3568笔记九十四:基于QT的YOLOV5目标检测

基于RK3568平台的实时目标检测应用,使用YOLOv5模型和RKNN推理引擎实现摄像头实时目标检测,并通过Qt界面显示检测结果。主要功能实时摄像头目标检测:从摄像头获取视频流,使用YOLOv5模型进行目标检测RKNN推理加速:利用RK3568内置的NPU进行模型推理加速图形界面显示:使用Qt框架构建用户界面,实时显示检测结果RGA图像处理:使用Rockchip Graphic Accelerator进行图像缩放处理。

522

【区块链】如何深入学习区块链技术

在这个阶段,你需要了解区块链的基本原理和用途。如果你是技术人员,可以深入学习区块链开发的技能。

a731637163的博客 2232

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有:(1)测绘与地理信息多业务模块集成管理;(2)多元多尺度多种类数据集成管理;(3)跨平台异构数据转换;(4)数据监理;(5)自动缩编与综合;(6)坐标转换与动态投影;(7)地理信息模板定制;(8)GIS地理信息描述与CAD图形表达一体化支持;(9)GIS数据库更新维护;(10)图形打印与地图出版。 一、安装过程 EP..

智慧空间实验室 2万+
上一篇: ElasticSearch中的日期映射为Hive中的日期格式
下一篇: Spring Kafka中关于Kafka的配置参数
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值