技术标签: 区块链
基本概念
中心化和去中心化就是集权与分权。
去中心化是一种哲学中思想,在人类存在时即有,主旨为弱化中心,实现人与人之间的直接沟通,交易的一种方式。
去中心化,不是不要中心,而是由节点来**自由选择中心、自由决定中心。**简单地说,中心化的意思,是中心决定节点。节点必须依赖中心,节点离开了中心就无法生存。在去中心化系统中,任何人都是一个节点,任何人也都可以成为一个中心。任何中心都不是永久的,而是阶段性的,任何中心对节点都不具有强制性。
中心化和去中心化是相辅相成的,绝对的中心化与去中心化都没有意义,未来的技术一定是在不断的在调整中性化和去中心化的平衡,向一端倾斜时会带来好处,同时也会有弊端。
互联网中的去中性化
去中心化在互联网上,人们习惯叫他 P2P。
P2P是peer-to-peer(对等)的简称,互联网中P2P被称为“对等互联网”。(peer:同等的,地位对等的)
P2P是Point-to-Point(点对点)。
P2P是person-to-person(个人对个人)。
P2P就是一种思想,而且并不是一种新思想,从一些角度来看,他是最初建立互联网的基本思想。
P2P的表现就是多样化,在网络世界中,不再由几个门户网站说了算,各种各样的网站有自己的声音,表达不同的选择,通俗来说,中心化就像是专家授课,所有人都在听他的;去中心化就像和朋友交流问题,每个人都有选择‘说话’或‘倾听’的权利。中心化的典型例子就是门户网站,去中心化的典型例子有社交媒体,博客一类。(web1.0------->web2.0)
起源
概念
本质
6.区块链之子:比特币
区块链的孩子叫bitcoin(比特币),比特币的概念最初由中本聪在2009年提出,它是基于分布式记账技术的一种数字现金。
与大多数货币不同,比特币不依靠特定货币发行机构,他依照特定算法,通过大量的计算产生,比特币使用整个网络构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各环节安全性。
比特币与其他虚拟货币最大的不同,是其总量有限,具有强稀缺性。比特币模拟黄金来发行的,每四年开采量就会减半,最后的总数量将被永远的限制在2100万个。
比特币可以用来兑现,可兑换成大多数国家的货币,使用者可以用比特币购买虚拟物品,只要有人接受,也可以用比特币购买现实生活中的物品。
比特币发展史简史
每个区块都有一个固定的编号,创世区块的编号为零,编号也叫做该区块的高度,该区块后续区块的个数为区块的深度
从0号区块到第209999号区块的奖励都是50BTC,从21万个到419999号区块的奖励都是25BTC,从第42w个开始奖励是12.5BTC
比特币区块的产生大约是10分钟,每生产21w个区块大约就需要四年,因此每四年挖矿奖励减半。
时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
比特币是加密数字货币,没有现钞,实物货币,没有银行网点。
所有账目公开透明、可查询。
比特币是一种基于P2P网络的一种分布式系统。
比特币是基于非对称加密技术(公开密钥算法)的交易。
法定货币通过央行来发行,比特币通过挖矿产生。
特性:
比特币不是任何金融机构发行的,使用不需要绑定银行卡,不需要身份证明。只要能上网,只要安装了比特币客户端软件(钱包),就可以转账,收款,挖矿,比特币生产就是靠挖矿
挖矿:
比特币钱包:
比特币节点
什么是比特币系统
区块链是比特币的底层技术,比特币是区块链的第一个应用。
比特币是钱的话,区块链就是账本,是记录比特币转账记录的。但是区块链技术不单单是比特币独有,除了数字货币以外,区块链将在其他领域有更多用武之地。
区块链并不是新技术,而是一系列技术的集成。包括了非对称加密技术,时间戳,共识机制等。几乎所有技术都在比特币出现前存在了,但在比特币之前,这些技术都没有产生如此巨大的影响力,所以说比特币是区块链技术的第一个成功运用。学习区块链,比特币是绕不开的,然而区块链,却并不仅仅是比特币。
比特币是世界公认的第一区块链,也是目前世界上最安全的区块链。
1.区块链是一组使用密码学算法产生的区块链接而成的数据结构。每个区块之间一句密码学原理,按时间顺序依次相连,形成链状结构,因此叫区块链。
2.每一个区块写满了交易记录:
1.P2P网络:(基础)
2.分布式存储:
3.加密算法:
保证交易不可篡改,破坏,保护用户隐私和交易信息记录安全,交易可以溯源。
1.哈希算法:
SHA:安全哈希算法,能计算出一个数字消息所对应的长度固定的字符串(又称消息摘要)的算法。
使用哈希函数,输入任意长度的消息,输出一个固定长度的字符串,其字符串就是哈希值。哈希函数能够很好地满足区块链数据不可篡改和可验证的安全需求。首先,哈希算法逆向困难,即根据一个哈希值,很难计算出相应的输入值;其次,哈希函数输入敏感,即使输 入值发生微小变化,产生的哈希值也完全不同。哈希算法具有强抗碰撞性,很难找到两个不同的输入,使得他们的哈希值相同。
- SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384、和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,是美国的政府标准,后四个并称为SHA-2。
- SHA-1在许多安全协议中广为使用,但SHA-1的安全性被密码学家严重质疑;SHA-2的算法与SHA-1的基本相似,但至今未出现对SHA-2有效的攻击。
2.公钥密码算法
公钥加密算法包含两种密钥:公钥和私钥,公钥用 于加密数据,私钥用于解密密文。密钥生成算法利用哈希算法和其他算法为用户生成相应的公钥和私钥。公钥是公开的,任意节点可以获取;私钥必须由用 户自己秘密保存,不能被其他节点获取。根据用户公钥,不能推测或计算出相应的私钥。
公钥和地址并不一样,许多人在“钱包”里找了很久,只看到“导出私钥”,以及自己钱包的地址(二维码识别即可),并没有找到公钥,但是知道钱包里有公钥和私钥,于是默认公钥=地址,这是错误的。
- 私钥通过单项椭圆曲线相乘得出公钥;
- 公钥通过单项哈希函数得出比特币地址。
**6.共识算法(共识机制):**实现网络共识(网络层)
7.智能合约:
一般来说,区块链系统由数据层、网络层、共识层和应用层等六层组成。
数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据基本算法。
网络层包括分布式组网机制、数据传播机制和数据验证机制等。
共识层主要分装了网络及节点的各类共识算法。
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等。
合约层主要分装各种脚本,算法和智能合约,是区块链可编程特性的基础。
应用层则封装了区块链的各种应用场景和案例。
该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表的创新点。
1.区块链本质是一个多方参与、共同维护,持续增长的分布式数据库,也称为分布式共享账本
2.所有的节点共同维护一条不断增长的链,只能添加记录,不可修改,不可删除
3.区块链---------制作信用的机器
区块链目前被分为三类:共有区块链,联合区块链,私有区块链。其中的联合区块链和私有区块链被认为是广义的私链。共有区块链是最早的区块链,也是目前应用最广泛的区块链,各大bitcoin系列的虚拟数字货币均基于共有区块链。目前的传统金融也开始尝试私有区块链,私链的应用产品还在摸索当中。
区块链按准入机制分为三类:公有链、联盟链、私有链
1.公有链:公开透明,世界上任何个体团队都可以在公有链发送交易,且交易能获得该区块链有效确认。每个人都能竞争记账权。典型代表:比特币。
2.联盟链:半公开。是某个群,组织内部使用的区块链,需要预选指定几个节点作为记账人。每个区块的生成由所有预选记账人共同决定,其他节点可以交易,但没有记账权。
3.私有链:完全封闭,仅仅采用区块链技术进行记账,记账权并不公开,且只记录内部交易,公司或个人独享。
1.发展脉络
1.全球最具代表的区块链技术平台
2.应用领域
即使发张到现在。最好的领域还是加密数字货币。
3.知名项目
EverLedger
迅雷链克
阿里巴巴电商与区块链
其他:消除中介信用问题。数字货币领域是区块链最好的应用之一;再支付领域,区块链技术可以消除第三方而直接点对点支付,是支付更安全。溯源的特性可以监管洗钱等违法活动。区块链可以在征信、版权、公证、证券、资产管理等领域逐渐得到应用。
端点 USB 通讯的最基本形式是通过一个称为端点的东西。一个USB端点只能向一个方向传输数据(从主机到设备(称为输出端点)或者从设备到主机(称为输入端点))。端点可被看作一个单向的管道。 一个 USB 端点有 4 种不同类型, 分别具有不同的数据传送方式: 控制CONTROL 控制端点被用来控制对 USB 设备的不同部分访问. 通常用作配置设备、获取设备信息、发送命令到设备或获取
一、Java简介1.1 Java概述Java从一开始就以友好的语法、面向对象、内存管理和最棒的跨平台可移植性来吸引程序员。写一次就可以在所有地方执行( write-once/run-anywhere)的特性简直太厉害了。image-202105061122543701.2 Java名称的由来Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,...
第一天,用官网最下面那个命令不行,https://github.com/NVIDIA/apex/最后直接用这个命令装上了:python setup.py install删除的时候除了要把apex-master删除,C:\Users\Administrator\Anaconda3\envs\slimyolo\Lib\site-packages路径下apex-0.1-py3.6-w...
Overleaf v2 评测去年,两个著名的Latex在线编辑器Overleaf和Sharelatex合并了,强强联手,让我们对他们合并之后的新产品充满了期待。最近,他们的新产品发布了!这就是Overleaf v2。现在,你可以访问v2.overleaf.com试用可能是迄今最强大的Latex在线编辑器。如果你以前注册过Overleaf或者Sharelatex,你不需要注册新的...
TEE(Trusted Execution Environment)简介TEE(Trusted Execution Environment),可信执行环境,该环境可以保证不被常规操作系统干扰的计算,因此称为”可信”。这是通过创建一个可以在TrustZone的”安全世界”中独立运行的小型操作系统实现的,该操作系统以系统调用(由TrustZone内核直接处理)的方式直接提供少数的服务。另外,TrustZone内核可以安全加载并执行小程序”Trustlets”,以便在扩展模型中添加”可信”功能。T..
Iocomp ActiveX/VCL 是一套用于工业控制的仪表盘控件,578867473告诉你网上很多破解版,不过都是非常老旧的,不适合当前需求,适用于 ActiveX 或 VCL 开发环境。Iocomp 工业仪表盘控件包(VCL版)包括多种用来创建专业的仪表和测量、工业控制、工业监控等相关的应用程序的控件包,包括仪表盘控件、开关控件、 实时曲线控件、LED灯控件等等。Iocomp ActiveX/VCL已被全球1000多家企业所使用,它具备实时、高速、专业的优势。 Iocomp ActiveX/VCL一共
英文 |https://medium.com/frontend-at-scale/frontend-architectural-patterns-backend-for-fronten...
最近有个项目,多台机器需要共享条码信息,又不想额外写一个程序去进行调度,就想到用远程访问数据库的方式来实现多台机器之间的条码共享。 数据库安装完成后,默认的localhost登录。远程电脑如果要访问肯定是需要添加IP地址的。(代码为Python3) 接下来讲重点,就是主机数据库设置(上面代码可以看出如果把host放到config里面,可以保证每台机的代码都一样) 1.Win+R,打开输入cmd,打开命令行 2.将工作目录切换到My...
题目出自杭电 首先解释何谓亲和数 亲和数是对于两个数来说的。如果两个数a和b,a的所有除本身以外的因数之和等于b,b的所有除本身以外的因数之和等于a,则称a,b是一对亲和数。 思路:对于输入的数A,算出它的所有真约数的和C,若C=B,则A和B是亲和数。反之不是。 上代码#include <stdio.h>int n,m;int sum(int n){ int sum =1,
该文转自:http://blog.csdn.net/dcraw/archive/2011/05/24/6443537.aspx 1 什么是TIFF? TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像
一、USB协议基础知识 前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)。 USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统。 USB主控制器这一块,我们至少要开发出 US
实现效果如下图所示,顶部会有一个广告图,点击这个广告图,如果手机上已经安装了App,则直接打开,如果没有安装,则开始下载,如果在微信公众号中,则跳转应用宝第三方平台跳转。html<span @click="openAppClick" class="see-btn">打开APP</span>jsopenclient(){ let ua = navigator.userAgent.toLowerCase(); //config 配置文件 JS 传递