区块链基本原理概述

2023-11-16

1. 简介

  区块链本质上是一个由若干区块构成的数据链,这条数据链被分散保存到多个计算机节点。这些计算机节点相互独立,相互勿须信任,没有一个权威的中心节点,因而区块链被认为是一个“去中心化”、“去信任”的系统。在这两个概念中,“去中心化”是方法,“去信任”是目的,后者需要通过前者来解决;很多人强调前者,但后者才是根本。“去信任”是指去除第三方信任,交易双方不经过可信的第三方(如支付宝、微信、银行等)而直接交易。然而,区块链本身并不要求交易双方互信,交易数据允许存在造假和欺骗,由此导致在比特币的底层可能同时存在多条区块链,但通过“共识机制”、“奖励”、“造假惩罚”等措施,最终区块链为比特币建立了一套可靠的、可信任的解决方案。然而,在一些小型应用中,“共识机制”和“奖励”并不能从根本上解决“去信任”或数据造假问题。当前开发的很多区块链应用,某种程度上都建立在“信任”的基础上,与比特币的区块链有较大区别;即便如此,其中的一些系统仍能解决其他技术所难以解决的问题,并具有较高应用价值。本文重点阐述比特币的区块链的基本原理,并为基于区块链技术开发应用提供一些合理化建议。

2. 区块链与比特币

  比特币是上层应用,区块链是比特币的底层实现软件。区块链的发展经历了三个阶段,分别是1.0、2.0、3.0。

  区块链1.0是以比特币为代表的虚拟货币时代,实现了货币的去中心化与支付手段,涌现出了大量的山寨币等。区块链1.0支持两个人之间的虚拟货币交易,无法普及到其他行业。

  区块链2.0多了智能合约的概念。一个交易允许多个人共同签名后发送给别人。智能合约给金融领域提供了更加广泛的应用场景,譬如多方合同下的商品买卖。区块链2.0的代表是以太坊,支持智能合约并提供编程接口,用户可以开发自己的虚拟货币。区块链2.0通常应用于金融领域。

        区块链3.0则将区块链应用于金融行业之外的其他行业。区块链3.0被称为互联网技术之后的新一代技术创新,足以推动更大的产业改革。由于不再依赖于第三方或某机构获取信任与建立信用,区块链技术能够提高整体系统的工作效率。区块链3.0的代表是Hyperledger Fabric。

3. 两个数学算法

       区块链采用了两个基础的数学算法:非对称加密和哈希函数。通过这两个算法对数据进行加密和解密,并使得数据很难被第三方破解。

3.1 非对称加密算法

       对称加密只有一个密钥,加密和解密都使用它。譬如,用“123456”作为密码压缩一个文件夹,在解压时也同样使用该字符串。

       非对称加密则有两个不同的密钥:公钥和私钥。如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。通常将公钥发给其他人,私钥自己留着;其他人可以通过公钥进行加密,但只有自己才有私钥解密,因而安全性较高。

3.2 哈希算法

        数学中的模运算(取余数)是一种极简单的哈希算法。譬如1,2,3,4,5,6,7,10001除以4后的余数分别为1,2,3,0,1,2,3,1。以另一种形式"hash(key)=value"可以写成:hash(1)=1, hash(2)=2, hash(3)=3, hash(4)=0, hash(5)=1, hash(6)=2, hash(7)=3, hash(10001)=1。可以看出,在哈希算法中,不同的key可能有相同的value。

        科学家们创建了很多更复杂的哈希算法,譬如MD5、SHA1、SHA256等。下表列出了字符串key为“Hello World!”所对应的各个哈希算法的取值。

哈希算法

哈希值(value)

二进制位数

MD5

ED076287532E86365E841E92BFC50D8C

128

SHA1

2EF7BDE608CE5404E97D5F042F95F89F1C232871

160

SHA256

7F83B1657FF1FC53B92DC18148A1D65DFC2D4B1FA3D677284ADDD200126D9069

256

        这些哈希算法具有这样的特点:

  • 给定一个字符串key(这里是"Hello World!"),容易计算其哈希值value;
  • 给定一个哈希值value,很难推出对应的key。

       虽然从理论上来说,可能有多个key对应同一个value,但实际上概率很低。因此,可以近似地认为key与value是一一对应的,value被称为key的数据指纹。数据指纹意味着很难造假,一个value在有限时间内几乎只能找到一个匹配的key。

4. 区块链逻辑结构

4.1 链表

  区块链由“区块”和“链”两个词组成。“区块”用于保存数据。对于比特币来说,大约每10分钟产生1个区块,由其存放10分钟内的所有交易。交易存放的是货币所有权从一个人到另外一个人的流转信息。每个交易都需要一定的手续费,在区块链中被称之为“汽油”。

  区块链的“链”指数据链。在计算机中,数据链有正向链、反向链、双向链之分。

  • 正向链。支持从链表的头向后搜索。
  • 反向链。支持从链表的尾部向前回溯搜索。
  • 双向链。支持双向搜索,是一种效率较高的数据结构。

  区块链采用反向链,便于从后向前追溯;但不能从前向后搜索区块。对比几种链表结构,有下列结论。

  命题1. 高性能不是区块链考虑的根本因素。

  另外,区块链中的第一个区块被称之为“创世区块”。

4.2 去中心化

        如图1所示,上方是一个中心化的架构。节点5中的数据库可以被其他4个节点所共享,便于读取和修改操作。

        图1下方是一个去中心化的P2P架构,所有节点对等,并且每个节点都保存一个完整的区块链。这种架构本质上是一种多副本备份机制,具有更好的可靠性。

图1. 中心化与区块链

图2. 块结构

  命题2. 区块链不能太大。

  对于比特币来说,世界上任何人都可以参与挖矿。区块链太大可能导致普通电脑无法保存整个区块链,导致很多人无法参与。10多年以来,当前的区块链只有300g之多,能够为一般电脑所保存。

  命题3. 区块链不要更新太快。

  再次强调,这里是指比特币的区块链。一个区块需要包括一段时间之内的几乎所有的交易。由于交易在互联网的所有节点之间进行传递,如果更新太快,则可能有些交易不能被打入区块链;另外,由于所有节点都可以挖矿,互联网上会存在多个不一致的区块链。

4.3 挖矿

  区块链由多个区块组成,所谓挖矿是指生成一个新区块的过程。

  如图2所示,一个区块由区块头和区块体组成[参见: https://cloud.tencent.com/developer/news/167233 ; http://www.woshipm.com/blockchain/1022259.html]。

  区块体包含10分钟内的所有交易。图中显示了4个交易,给每个交易求哈希值,得到hash1、hash2、hash3、hash4。然后每两个再求hash值,一直到最后得到一个hash1234,即为区块头中的默克尔根。如果在区块体中添加、删除、修改某一个交易,则默克尔根就会变化。

  区块头主要包括6个要素:hash(parent)、版本、默克尔根、时间戳、难度目标、随机数。所谓挖矿,就是确定这6个值。

  在前一个区块也包含这6个要素,它们的hash值即为hash(parent)。由此可知,如果某一个区块造假,则需要修改它后面所有区块的hash(parent),难度很大。

  为了使得每10分钟生成一个区块,设置了难度目标值。随着计算机的性能越来越高,该值是动态变化的。如下面公式所示,系统每隔2016 个区块会根据上一周期的挖矿时间来调整挖矿难度。对于一个具体的区块而言,该值是固定不变的。

DifficultyTarget = 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/Difficulty

从这里可以查到,第674000区块的难度为21,448,277,761,059.70。从674001区块查到第674000区块中6个要素的哈希值如下。这个哈希值前面有19个0,要满足这个条件就必须进行大量的计算,求出其他的几个要素。

00000000000000000007f8d1652e3bf35c9d2672be4834fef6ebc6f1c407bd8c

在6个要素中,hash(parent)、版本、默克尔根、难度目标都是固定的。时间戳表示区块生成的时间,随机数是可变的。在分布式系统中,不要求每个计算机的时钟完全一致,时间戳的变化对别人而言意义不大;因而为了简化挖矿难度,时间戳也可以事先确定。这样,在6个要素中只需要求出随机数。

随机数通常从0开始一个个地尝试,看6个要素的哈希值是否满足难度。如果某个随机数满足难度,就表示挖矿成功。新的区块生成后被广播到相邻的其他节点。

第674000区块的随机数为4,275,554,107,可见挖矿的工作量挺大。在区块链中,把这样的工作量叫做工作量证明POW。

从事挖矿的人(或人操作的机器)称为矿工。由于第1个挖矿成功的人会有比特币奖励,并且能收获所有交易的手续费,因而矿工都在想方设法提高挖矿效率。

命题4. 高性能是矿工追求的因素。

4.4 共识机制

  若同一时段只有一个合法区块被生产出来,而没有与之竞争的其他合法区块,该区块将会被接收;若存在竞争区块,则51%以上的节点确认,累计难度最大且最长的链最终会被接收,没有被接收的其他合法区块则成为孤块,被淘汰出局。

  所谓共识机制,即指得到大多数(51%以上)节点确认。

4.5 去信任

  在互联网中,节点之间没有绝对的信任。实际上,如果大多数节点都造假,则区块链将没有价值。为了防止造假,除了去中心化外,区块链至少还采用了下面几项措施。

  • 当一个节点收到另一个节点的区块后,会通过哈希值对区块链进行检查确认,如果区块链造假或者不是最长的区块链,则丢弃。
  • 挖矿成功会有奖励,并且能获得该区块中所有交易的手续费。自从中本聪创建第1个区块并获得50枚比特币后,每挖出21万个区块(大约4年)后,奖励减半。当没有奖励后仍能获得手续费。
  • 造假代价很大。对于区块1、区块2、...、区块n构成的区块链。如果区块1造假,则需要重新计算该区块的随机数;从而导致区块2中的hash(parent)变化,又需要重新计算区块2的随机数;进而需要计算后续所有区块的随机数。实际上,如果造假者的算力超过全网51%挖矿节点的算力,则造假成功。

  命题5. 区块链造假代价很高。

5. 区块链类型

  区块链分为三种类型:公有链、私有链、联盟链。

5.1 公有链

  比特币的区块链是一种公有链,它有如下特点。

  1)公有的、全开放的、去中心化;

  2)数据全网公开,不适合银行、政府、证券等;

  3)不能篡改数据;

  4)处理交易速度慢、效率低:全网节点共同参与,每个节点都参与决策(判断真伪);

  5)如果发行电子货币,则是各国政府所不能支持的行为。

  私有链、联盟链就是对公有链的开放性、效率进行改进的结果。

5.2 私有链

  私有链不对外开放,只有被授权节点才能参与,是部分“去中心化”的区块链。主要用户有金融机构、大型企业、政府部门等。譬如央行发行的数字货币,只能由央行进行记账,个人不能参与。另外,阿里、百度、京东等大型公司也会构建自己的私有链,侧重区块链的数据安全。

5.3 联盟链

        联盟链也称行业链,是公司与公司、组织与组织之间构建的区块链。通常选定多个节点参与区块共识决策,其他节点仅参与交易而不参与决策,这是一种“多中心化”的区块链。用户群体包括银行、证券、保险、集团企业等。

6. 区块链应用

6.1 应用开发考虑

  随着区块链技术的发展,越来越多的区块链应用开始出现。特别是由于政府的鼓励支持,需要避免不结合实际情况而一窝蜂地采用区块链技术的过热情形。在确定采用区块链技术开发应用之前,需要从下面几个方面来综合考虑。

  • 传统方法。一个应用如果能够采用传统方法来实现,则不必采用区块链技术。
  • 去中心化。去中心化只是意味着数据的多个副本,不是采用区块链的绝对理由。数据库MySQL、Oracle、MongoDB以及分布式存储系统Ceph等都支持多副本,并且具有很高的性能。
  • 去信任。去信任意味着需要防止数据造假,这是采用区块链的一个理由。
  • 可追溯。区块链可以对数据造假进行追溯,数据库一般不具有可追溯特点,这也是采用区块链的一个理由。
  • 性能。如果应用频繁更新,采用区块链意味着数据量很大,需要很大的存储设备,对于一些不具备条件的应用则不适合。另外,在区块链中检索数据极不方便,效率极低。

6.2 融合传统数据库的开发方法

  在确定采用区块链技术开发应用之后,需要考虑一个问题:是否将所有数据都保存到区块链?

  区块链在性能、数据检索等方面都不如传统数据库;另外,如果所有数据都保存到区块链,则会特别大。一种可行的方法是在应用中采用“区块链+数据库”的方式来保存数据。那些防止造假需要追溯的重要信息可放到区块链,其他信息则放到数据库。在区块链应用方面,数据通常保存在多处。因此数据库应具有性能高、支持多备份的特点;甚至可以采用高性能、高可用、高可扩展的Ceph分布式存储系统来保存数据。

7. 总结

  区块链具有“去中心化”、“去信任”、“去第三方”的特点,本质上是一个分布式数据存储系统。将区块链保存到多个计算机节点,通过“共识机制”、“奖励”、“造假惩罚”等措施,最终区块链为比特币建立了一套可靠的、可信任的解决方案。然而,区块链也存在一些缺点,包括性能较差、检索困难等,进而出现了公有链、私有链、联盟链等适合不同应用场合的类型。私有链和联盟链在某种程度上已经不再是“去中心化”、“去信任”的区块链。在开发应用时,应综合考虑多种因素来确定是否有必要采用区块链技术;在一些区块链应用中,可以采用“区块链+数据库”的方式来保存数据,即将需要追溯的关键信息保存到区块链,而其他信息保存到数据库或分布式存储系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区块链基本原理概述 的相关文章

  • 每天都在谈SOA和微服务,但你真的理解什么是服务吗?

    近几年来 我一直从事着和面向服务相关的底层软件研发工作 逐渐的形成了一些自己的看法 其中我觉得比较重要的看法就是服务需要一个更准确细致的定义 简单来说 服务的本质就是行为 业务活动 的抽象 为了更好的阐述新服务的概念 并方便与传统的SOA中
  • Python入门--变量

    变量是指在程序运行期间可以改变其值的数据类型 在Python中 变量可以指定任何数据类型 如字符串 整数 浮点数等 要创建一个变量 我们必须先指定变量的名称 然后将其赋值 在Python中 变量名可以是任何有意义的名称 但通常使用小写字母和
  • 荐读

    本文转自 链闻 ChainNews 作者 Karen 虽然区块链技术诞生至今不过短短十余年 但是东西方天然的文化差异在加密世界中同样留下了一些痕迹 当社交媒体上关于 东方区块链 只关心币价 利益和投机而只有 西方区块链 才关心底层技术的革新
  • 在区块链世界中的token到底是什么?

    token的概念很广泛 在计算机领域中 无论是基础的网络架构还是服务系统的身份验证等 都有涉及到token的概念 然而在这里我想阐述的是在区块链世界中的token是什么 相信对区块链有些了解的朋友 都或多或少的听过或者看过关于token的描
  • 首个数字银行卡明年发行,广州出台区块链措施支持大湾区

    锌链接作为首个提出产业区块链的机构媒体 一直积极推动产业区块链落地 通过深度报道直戳行业痛点 通过分享会聆听行业声音 通过周报呈现行业大观 通过评论展现独特产业观察视角 本周 广州出台66条措施支持粤港澳大湾区金融发展 其中多项与区块链有关
  • 两万字整理Fabric(超级账本) 配置文件 掌握了它就掌握了Fabric的核心

    导语 文章没有重复的地方 没有废话 如果能帮助到你 那是我的荣幸 记得一键三连哟 Fabric 配置文件详解 一 四个核心配置文件 二 Fabric 的核心配置文件 三 网络启动步骤 1 生成认证证书 crypto config yaml
  • 区块链技术是如何应用到版权维护上?

    随着视频和音乐行业的迅速发展 数字出版已经形成完整的产业链 带来一些可观的收入 但是也伴随侵权的现象发生 那么区块链技术怎么运用到作品版权保护上呢 1 时间戳 我们知道区块链有一个 时间戳 这个可信时间戳由权威机构签发 能证明数据电文在一个
  • 区块链数据的存储和更新

    目录 1 引言 2 主要流程 2 1数据库读取 2 1 1 从数据库加载块数据 2 1 2从数据库读取账户信息 2 2 区块链数据更新与回滚 2 2 1 交易数据 2 2 2 块数据 1 引言 在第一篇文章里我们从静态的角度讲解了以太坊的数
  • 如何使用区块链技术保护个人隐私和数据安全

    区块链技术是一种分布式账本技术 它具有不可篡改 去中心化 透明度高等特点 区块链技术能够实现数据的可信存证 隐私保护和交易安全 并且能够通过智能合约的自动执行 因此被广泛应用于金融 电商 物流 社交网络等领域 区块链技术的核心是 分布式账本
  • 交易的本质 什么样的信仰,决定什么样的交易人生

    什么样的信仰 决定什么样的生活 同样 什么样的理念 也决定了什么样的交易 多数的交易员都把能否在交易市场稳定化盈利归结于自己从事这个行业的时间 通常很多人会说五年入门 十年小成等等 好像只要坚持个五年十年就能够在交易市场找到自己的位置 你信
  • 链语BTChat力推“加密+社交” 引领区块链新社交时代

    近些年来互联网的发展日新月异 大数据化 人工智能 物联网这些都在成为人们生活中触手可及的东西 而区块链技能则被认为是继互联网之后最具颠覆性的创新技术 此前区块链技术在金融服务业 游戏 供应链等不同的产业中都有着广泛应用 同样的对于社交平台而
  • 圆石说│彭一鸣:运用区块链技术赋能实体旅游产业;微软开放6万项专利包括一个开源区块链项目……

    智联招聘 区块链岗位需求主要集中在一线和新一线城市 智联招聘报告显示 从目前区块链职位的城市分布来看 该领域的岗位需求主要集中在一线和新一线城市中 其中 北京 上海和深圳位于第一梯队 职位占比分别达到24 20 和10 杭州 广州和成都紧随
  • Fabric private data入门实战

    Hyperledger Fabric private data是1 2版本引入的新特性 fabric private data是利用旁支数据库 SideDB 来保存若干个通道成员之间的私有数据 从而在通道之上又提供了一层更灵活的数据保护机制
  • 区块链交易平台服务器该怎么选

    区块链交易平台服务器该怎么选 随着互联网技术的发展 区块链也发展成为一种潮流 越来越多的人加入到区块链行业中来 尤其是区块链交易平台 但也有很多人不了解区块链对服务器的要求 那么我们就要好好说说搭建区块链交易平台服务器该怎么选 1 区块链交
  • 探索元宇宙链游戏:一场数字世界的奇妙融合

    随着互联网的飞速发展 以及人们不断对互动娱乐体验的要求提高 元宇宙渐渐成为人们追求的目标 而区块链技术的出现给元宇宙链游开发带来了新的机遇和挑战 一 元宇宙链游定义 元宇宙链游全称为基于区块链技术的元宇宙游戏 是一种新型的网络互动娱乐形式
  • 默克尔树(Merkle Tree)

    默克尔树 Merkle Tree 是一种哈希树的变体 它是一种有向无环图 DAG 通常用于数据完整性验证 它以密码学家拉尔夫 默克尔的名字命名 是由一系列哈希值构成的树状结构 默克尔树的特点是 它的每个非叶子节点都是其子节点的哈希值的哈希
  • Solidity之旅(七)单位以及全局变量

    01 以太币单位 Ether 甭管是虚拟货币还是现实中的 稳定币 他们都有各自的货币单位 当然咯 作为以太坊区块链上交易的虚拟货币以太坊也是有属于自己的那一套货币单位的 而目前以太币 Ether 主要分为这三个 wei gwei以及ethe
  • 什么是虚值期权?什么是深度虚值期权?

    在期权市场里有一种合约的价格往往比较便宜 它就是虚值期权 也是最受欢迎的期权之一 虚值期权也就是高杠杆和波动被世人所爱 久闻的一日192倍行情就是出自于虚值期权 下文科普什么是虚值期权 什么是深度虚值期权 一 虚值期权是什么 虚值合约因为价
  • Moonbeam生态项目分析 — — 跨链借贷协议Orbiter One

    概览 Orbiter One 是一个非托管的借贷协议和DeFi中心 专注于跨链互操作性 通过使用从借贷中赚取的ORB Token铸造的Intergactic Whiskers Brigade NFT 用户可以质押并获得额外奖励 借贷和跨链存
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1

随机推荐

  • 关于as遇到的Enable "Android Support" Plugin错误问题

    元旦休息了3天 17年第一天上班打开as就遇到了这个facets cannot be loaded you can mark them as ignored to suppress this error错误问题 蛋疼得很 当然既然遇到了 就
  • 树莓派Pico入手

    树莓派Pico入手 树莓派 Pico 中文站 一 介绍 1 1 价格 开发板 19 00 1 2 型号 目前主要有两个型号 Pico 基础版 Pico W 板载WIFI芯片 H的是指给你焊好排针 1 3 性能 核心 双核 Arm Corte
  • Fisco技术文档总结1---搭建第一个区块链网络

    前言 本文的记录与总结依照于FISCO BCOS 技术文档学习联盟链搭建的相关知识 详细搭建过程见文档 本文仅作参考 本文通过在单机上部署一条4节点的FISCO BCOS联盟链 掌握FISCO BCOS部署流程 搭建 需要使用已经封装好的脚
  • 简易数字式电阻、电容和电感测量仪设计报告

    写在前面 这是这次参加电子设计大赛我写的设计报告 但是我本人现在对硬件不是很熟悉 所以很对原理叙述不是很到位啊 不过整个作品用到知识点和原理都基本说清楚了 简易数字式电阻 电容和电感测量仪设计报告 摘要 本系统利用TI公司的16位超低功耗单
  • 创建最大堆,对指定位置元素进行删减

    在堆H上实现一种新的操作 DecreaseKey H P X 将堆H中 位于P的元素的值减去X 这个操作如何实现 当然 要求操作执行后 H仍然是个堆 堆中的元素允许移动 include
  • 设置多个班主任类似问题

    设置班主任或者是修改 我们一般住在代码中是设置成saveAndUpdtate 在遇到要设置多个的话这种方式是不太可行的 可以采取开启一个事务 先将旧数据拿到 将新数据插入 再用旧数据id去删除旧数据 定义一个全局flag为false 每个步
  • Hyperledger Fabric笔记2--运行fabric测试网络

    Hyperledger Fabric笔记2 运行fabric测试网络 1 获取fabric相关源代码 首先 需要在 opt gopath中新建目录 mkdir p opt gopath src github com hyperledger
  • R手册(Communicate)--R Markdown

    文章目录 Overview Rmd Structure YAML Header Parameters Set render options with YAML 初始文档信息 Text Embed code with knitr syntax
  • bfs打开转盘锁

    转盘锁有四位 每位10个数字 每次只能转一位 而且转的过程中不能出现deadends中的情况 求出最后转几步才能的出target 一串字符串往上往下拨一位会有8种情况 相当于一个节点有8个邻接节点 在这么一个图中 只有一个终点 而且有的节点
  • AcWing题解

    104 货仓选址 417 不高兴的津津 421 陶陶摘苹果 425 明明的随机数 429 奖学金 441 数字统计 445 数字反转 449 质因数分解 680 剪绳子 756 蛇形矩阵 1381 阶乘 3208 Z字形扫描 3375 成绩
  • 银河麒麟安装后,网速过慢,经常断网,网卡:RTL8111/8168/8411

    问题描述 银河麒麟是一款国产系统 我前端时间下载并安装官网提供的试用版本 安装完之后 发现网络时常出现问题 经常网速变慢或者断网 需要电脑休眠之后 重新激活才能连上网络 原因分析 在长达一个月的使用过程中 断断续续的排查中 终于发现了是网卡
  • PYTHON爬虫小工具

    文章目录 google headers格式转换 firefox headers格式转换 判断服务器检测哪些headers头 判断服务器检测哪些cookies值 google headers格式转换 def googleHeadersForm
  • electron-vue 的初步安装使用

    1 安装node 官网Node下载进行安装 2 安装vue cli install 可以缩写为 i npm i g vue cli 安装完成后可以通过输命令查看安装的版本 vue V 2 9 6 3 安装electron vue脚手架 vu
  • 奇安信可信浏览器下载地址

    下载奇安信可信浏览器国密开发者专版 https www qianxin com ctp gmbrowser html
  • 真题详解(UML图)-软件设计(四十七)

    真题详解 Flynn分类 软件设计 四十六 https blog csdn net ke1ying article details 130072198 某搜索引擎在使用过程中 若要增加接受语音输入的功能 使用户可以通过语音来进行搜索 此时对
  • 海岸线——模拟题

    题目链接 http icpc upc edu cn problem php cid 2230 pid 0 题目描述 一个王国分成n m个六边形区域 每个区域内是陆地或者是水 如果一条边两侧为陆地和水 则该条边成为海岸线 求这个王国海岸线的长
  • UE4 抗锯齿设置

    https blog csdn net qq 27151549 article details 80779768
  • Python __str__() 方法

    str 方法和 init 方法类似 都是一些特殊方法 所以前后都有双下划线 它用来返回对象的字符串表达式 如果要把一个类的实例变成 str 就需要实现特殊方法 str 不使用 str 方法 class Student object def
  • 数据结构:直接插入排序详解,java代码实现

    1 动态图 橙色表示有序值红色表示待排序的值 即代码里的temp绿色表示temp的前一个值 即代码里第二个for循环里比较的值a j 2 实现代码 直接插入排序 public static void straightInsertionSor
  • 区块链基本原理概述

    1 简介 区块链本质上是一个由若干区块构成的数据链 这条数据链被分散保存到多个计算机节点 这些计算机节点相互独立 相互勿须信任 没有一个权威的中心节点 因而区块链被认为是一个 去中心化 去信任 的系统 在这两个概念中 去中心化 是方法 去信