『壹』 【区块链政务十大案例之一】蚂蚁区块链-杭州互联网法院司法链案例
据杭州日报消息,2018年09月18日,杭州互联网法院宣布司法区块链正式上线运行,成为全国首家应用区块链技术定纷止争的法院。司法区块链让电子数据的生成、存储、传播、和使用的全流程可信。
起诉人可以通过线上申诉入口,在线提交合同、维权过程、服务流程明细等电子证据,由公证处、司法鉴定中心、CA/RA机构、法院、蚂蚁金服等链上节点来共同见证、共同背书,为起诉人提供一站式服务。司法链极大地降低了线下存证、取证的成本,提升了判决流程的效率,从而使得许多之前由于维权成本高而不值得起诉的案件,都能够通过区块链实现更好的维权;司法链破解司法服务效率低的难题实现司法数据的融合共享,打破数据孤岛;司法链推动社会信用体系建设,降低司法成本以技术为引擎,推动创新发展,引领司法服务转型升级减少。
援引自可信区块链推进计划的《区块链司法存证应用白皮书》分析,随着信息化的快速推进,诉讼中的大量证据以电子数据存在的形式呈现,电子证据在司法实践中的具体表现形式日益多样化,电子数据存证的使用频次和数据量都显著增长。不用类型电子证据的形成方式不同,但是普遍具有易消亡、易篡改、技术依赖性强等特点,与传统实物证据相比,电子证据的真实性、合法性、关联性的司法审查认定难度更大。
在司法实践中,当事人普遍欠缺举证能力,向法院提供的电子证据质量较差,存在大量取证程序不当,证据不完整、对案件事实指向性差等问题,直接影响到电子证据在诉讼中的采信比例。
电子证据传统的存证方式本质是一种中心化的存证方式,存在容易造成存证数据丢失或者被促癌该的可能。
同时,电子数据依赖电子介质存储,为了存储安全,经常需要使用多备份等方式,加之电子介质有使用寿命,反而使存储成本较高。
(2)取证中的问题
目前,在某些本地产生的电子数据进行取证时,原件在智能留存在产生电子数据的设备当中,证据原件和设备是不可分的。证据原件一旦要离开设备,就变成了复制品而不能成为定案依据。这样导致诉讼案件中的很多限制。
另外,所谓的原件到底是不是时间发生时真实、原始和完整的数据,互联网软件服务商也无法给出确切的答案,所取证据是否属于原件,也是存疑的。
(3)示证中的问题
电子数据展示和固定是数据使用的重要环节,由于电子数据的存在形式是存储在电子硬件中的电子信息,要获取其内容需要使用响应的软件读取和展示,这给示证带来了困难,也可能由于需要公证而加大了当事人的举证负担,浪费了社会司法资源。
(4)举证中的问题
在诉讼中,双方都会提交自己留存的电子数据作为证据。在当事人分别控制自己数据的情况下,容易发生双方提交的证据有出入,甚至是矛盾的情况。在没有其他佐证的情况下,证据的在真实性认定非常困难,双方提交的电子数据都无法成为断案依据。在这种无法判断案件事实的情况下,法官很可能需要依赖分配举证责任来进行断案。而一般的举证责任分配原则是谁主张,谁举证,无法举证则承担败诉的后果。那么在这种情况下,积极篡改自己数据的一方可以在这种举证责任的安排下获利。
(5)证据认定中的问题
一切证据“必须经过查证属实,才能作为定案的根据”,是在世界方位内具有普适性的最重要的司法原则之一。证据的认定,通常是认定证据“三性”的过程,即证据真实性、合法性和关联性。电子数据作为证据也需要经过“三性”判定。电子数据因为数据量大、数据实时性强,保存成本高,原件认定困难等原因,对证据的“三性”认定依然困难,电子数据经常因为难以认定而无法对案件起到支撑作用,这对法官和当事人都造成了较大压力。
援引自蚂蚁金服司法存证产品负责人栗志果做的主题为《蚂蚁区块链在司法存证领域的探索》的分享认为,在过去的20年中,互联网行业的关键词是连接。在PC互联网时代,通过PC互联的方式对终端进行连接,在那个时代,发现这个趋势的企业都抓住了门户、搜索引擎这样巨大的商业机会。2013年,进入到了移动互联网时代,在这个时代通过移动互联网的方式把许多智能终端、个人设备连接在一起,在端设备的数量以及在线时间得到了极大的提升。在这个阶段抓住机会的人便造就了微博、微信、支付宝这些超级应用。而目前关注到一个非常重要的变化就是随着连接变化不断扩大的同时,连接质量也发生了非常大的变化,这被称为第二条曲线, 原来连接的对象是信息,现在很可能变成了资产。
那么资产和信息有什么不同呢?主要的不同有三点,
第一点,资产是唯一的,而信息是可以被无限复制的。在互联网时代,通过复制的方式可以让信息传递的成本降到最低,但连接的对象是资产时,便出现了一个致命伤,那就是无法通过复制的方式进行传递,这个资产给了一个人后就不能再给其他人了。
第二点,资产和信息相比,资产更加脆弱,更加珍贵。资产就是钱,在信息数字化的过程中,可以很方便的把信息放在互联网上,但是对于资产来说,这样是行不通的,因为资产的背后是真实的利益。
第三点:资产和信息相比,资产对于安全性的要求非常高,很多问题也必须去面对,包括黑客、竞争对手的攻击,欺诈等,这些都是链接资产需要解决的问题。这也就是资产和信息的第三个不同点,资产如果发生了纠纷是需要解决的,在现实中,可以让法院来解决,但如果是在互联网中,是很难处理的。
上述所说的资产的三个特点是很难通过传统的互联网方式去解决的。同时互联网的发展使得人们越来越懒,如果在10年前,很多人还能够接受资产连接会花费得时间比较久,但是现在人们就很难接受,比如为了签署一个合同,需要花费两到三周的时间进行邮寄,为了做一个跨境支付在很多传统机构中频繁出入,花费高额的成本。而且与20年前的连接方式相比,目前互联网的连接难度变大了许多,因为许多人发现信息被连接后,数据变得很有价值,那有价值怎么办,只能把价值沉下来,沉下来就变成了价值深井,规模越大,价值越深,同时会形成另外的一个问题,叫做数据孤岛。这些问题都是司法链需要考虑并加以解决的。
现在,法院是站在历史的机会节点上,是有机会成为数据产生、完成连接的基础组成部分。资产一定会发生纠纷,发生纠纷后将会由法院进行全链路的审核。这是一个独特的价值,是互联网最后一公里的价值,通过连接的方式,连接资产,打破数据孤岛、价值深井,这才是真正的价值完成,这种模式实际上是属于中小企业的,包括个人用户,以上便是司法链的价值基础。
如果出现一个价值孤岛,需要对它进行连接,一定有各种各样的连接方式,连接主要有四种方式,
第一种就是不进行连接,把它放在银行保险柜里面;
第二种方式是坏的连接,即通过技术的领先性、不平等性,通过黑客技术剥夺数据资产的拥有权,当没有合法连接的时候,坏的连接一定存在;
第三种是看起来是好的连接,但实际上是脆弱的连接,现在又很多连接的方式,在市场形势比较好、泡沫比较大的情况下拥有一定的市场,但一旦碰到真正的价值落地就破裂了;
第四种就是司法链,用15个字可以概况,即全流程记录、全链路可信、全节点见证。
司法链是怎么做到技术可信和制度可信,并且成本不高的呢?
首先第一个问题是资产是脆弱的,因此在进行资产的连接时要能够具备真实安全的基本特点。安全包括隐私保护,这并不是一个简单的事情,支付宝诞生的第一天就是从担保交易开始的,解决的问题时买方和卖方之前交易的真实性,后来,基于支付宝,提出了芝麻信用,很多人都有芝麻信用积分,通过以往的信用记录,对用户能否履约提供大数据、人工智能方面的参考,使得真实安全更进了一步。接下来便到了区块链,区块链提供了一项非常重要的能力,那就是真实不可篡改,使得信任在真实安全的级别上又向前推进了很大的一步。因此司法链解决的第一个问题就是做资产相应的连接一定要保证最底层的连接器是真实安全的,这种真实安全不是放在口头上说的,也不是在实验室里的技术,而是经过用户的认可,市场的考验和大规模业务量的考验的。
第二个问题非常关键,当通过一个真实安全的连接器把大家连接到一起,一旦数据资产被侵害了,发生了纠纷要如何处理?司法区块链这两年一直是朝这个方向进行的,通过把公证处、司法鉴定中心、法院拉入司法链的最底端,对数据进行相应的鉴定,保证了一旦数据资产发生纠纷,能够被公正有效的处理。这是一种非常强大的制度,这也是司法链是解决互联网最后一公里问题的真命天子的根本原因。到目前为止,司法链已经保证了技术可信和制度可信。
第三个问题是在资产的互联中,连接的成本不能过高,用户已经养成了点一点鼠标、搜索按钮就能获得无数信息的习惯。区块链火了许多年,但到目前为止真正的用户不到2000万,且日活很低的原因,一是太难用,二就是使用成本太高。因此在进行资产连接时,必须是非常简单的,非常易用的,成本很低的。就像支付宝最开始在做实名认证的时候,可以通过人脸扫描的方式很快的完成用户的支付,同时安全级别很高。所以真正的连接器要具有低成本,高应用性的特点。
司法链做到了技术可信和制度可信,并且连接的成本不高,开启了资产连接的区块链新时代。
杭州互联网法院的司法区块链让电子数据的生成、存储、传播、和使用的全流程可信。通过整体的完整结构,能够解决互联网上电子数据全生命周期的生成、存储、传播、使用,特别是生成端的全流程可信问题。
该区块链由三层结构组成:
1), 一是区块链程序,用户可以直接通过程序将操作行为全流程的记录于区块链,比如在线提交电子合同、维权过程、服务流程明细等电子证据;
2), 二是区块链的全链路能力层,主要是提供了实名认证、电子签名,时间戳、数据存证及区块链全流程的可信服务;
3),三是司法联盟层,使用区块链技术将公证处、CA/RA机构、司法鉴定中心以及法院连接在一起的联盟链,每个单位成为链上节点。
杭州互联网法院司法链上线的电子证据平台则是直接在证据和审判之间建立了一个专门的数据通道,使得证据的收集、固定、传输和运用更加便捷和高效。
以往到互联网法院打官司,证据的提交都是电子化以后上传至“杭州互联网法院诉讼平台” ( www.netcourt.gov.cn )。比如公证文书,一般是通过扫描等方式上传。今天上线的电子证据平台首先“触手”很长,它可以与其他电子数据之间能实现无缝对接,比如公证处。那么公证文书就能一键上传至电子证据平台,直接用作诉讼证据。再比如涉及淘宝、京东等电商平台、互金平台、理财平台等交易纠纷,第三方数据服务提供商(如运营商平台、电子签约平台、存证机构平台)等也能直接将电子数据传输到电子证据平台,有效解决当事人自行收集电子数据证据存在的困难,大大节约庭审举证质证的经济和精力成本。
原本仅仅是通过扫描、或打字而成的“电子化”的证据,真正转变为“电子证据”,通过第三方存管平台,打破“电子数据”容易灭失和被篡改的魔咒,形成唯一的不可篡改的“数据身份证”,并实时同步备份到电子证据平台。进入诉讼程序后,已保存在电子证据平台的“数据身份证”还会与电子数据原文进行自动比对,判断电子证据后期是否有过篡改,以此确保了电子证据的真实性。
这些电子数据都有编码身份证,也就变成一个个案件的“要素”,平台将这些要素归类,然后匹配到各个案件中,这样一来,由系统自动匹配要素,即将电子证据导入各个案件,形成无需法官的系统自动立案。我们可以想象很快就能实现一分钟数十或者数百的立案速度。
最后,当这些证据成为电子数据储存在平台上以后,除了杭州互联网法院在案件审理过程中可以在该平台展开司法运用外,其它相关机构(如经允许的其他各人民法院、司法鉴定机构、公证机构、备案机构)均可从该平台中依程序调取相关证据,资源数据的共建共享也将达成。
以打通杭互司法链的上海市浦东公证处数据存证平台为例,介绍下数据保护平台到司法诉讼的完整闭环流程。
1,注册业务平台并实名认证
某设计公司企业A打开上海市浦东公证处数据存证平台页面,注册后完成实名身份认证。
2, 原始数据存证
当该A设计公司完成一幅作品的设计后,在完成原始作品数据归档后,通过自身业务系统发起远程存证调用接口,调用公证处数据存证平台的RESTful API完成该设计作品文件HASH和相关要素的存证。该存证也会同步发给司法区块链,浦东公证链和中国授时中心,全部成功后会获得有对应LOGO标识的存证证书。通过各链和平台完全一致的作品文件HASH指纹数据表明本次存证的有效性和不可篡改性。
5. 登录杭互法院提交诉状,验证证据合法性
司法链是蚂蚁区块链BaaS的具体应用案例。蚂蚁区块链BaaS(Blockchain as a Service)是基于蚂蚁金服联盟区块链技术和阿里云的开放式“区块链即服务”平台。它将区块链作为一种云服务输出,支撑了众多的业务场景和上链数据流量,是行业区块链解决方案的基础。蚂蚁区块链BaaS致力于搭建一个开放、协作的平台,为全球的企业和个人提供便捷的服务。
上图是蚂蚁区块链的产品大图,其中BaaS的技术架构主要分为三层:
1、底层是BaaS Core
BaaS Core层基于对主机以及容器提供灵活支持的云资源管理平台,实现跨平台的便捷运行和部署。对于可信硬件,即基于阿里云的神龙服务器提供相应的硬件服务,可以提供一个高可靠、高隐私保护的可信执行环境。除了存证平台和智能合约平台以外,在同构链跨链服务的基础上即将推出异构链跨链服务。目前的市场上,单链或者一条链存在自身的局限性,未来对于建立信任的基础设施、互信的生态,跨链技术将成为其中非常重要的一环。目前BaaS平台已通过跨链服务,实现了内部的互联互通,同时也可以通过智能合约和跨链服务,对于外部的互联网上的可信数据源进行访问。此外,对于其他的基础能力,例如联盟管理、安全隐私、证书密钥管理等,BaaS Core都有相应的功能和支撑。在提供自主研发的蚂蚁区块链体系同时,BaaS平台也支持开源体系以更好地满足客户多样化的需求,包括企业以太坊Quorum和Hyperledger Fabric。
2、向上一层是BaaS Plus
BaaS Plus层把底层的服务和能力封装、服务化,开放为标准化的接口,提供给合作伙伴们接入和使用。这样可以极大地减少客户在基础资源上的投入,同时明显缩短接入业务的耗时。截止到目前为止,平台已经推出了可信存证、通用溯源、实人认证、企业认证等服务,也会在未来逐步推出更多的服务。
3、最上层是BaaS Marketplace和解决方案
蚂蚁的诸多合作伙伴们可以在marketplace中提供自己的能力。同时,在不同场景落地的实际应用都会沉淀出一套标准的应用解决方案模板,从而方便客户在自己的应用中借鉴其它类似场景的平台能力。浦东公证处数据存证平台可以成为BaaS Marketplace中的一员。
1, 账户体系
蚂蚁区块链所有交易操作均是围绕账户体系来进行,因此在发送执行交易之前需确保您已在蚂蚁区块链创建对应的账户,然后可使用创建好的账户提交交易,还可以基于该账户结构完成相关账户配置的修改。
具体的账户数据结构模型字段和说明如下:
其中,账户包含三种类型的密钥:
蚂蚁区块链采用将账户与密钥解耦的方式来实现,从一定程度上防止因为密钥丢失带来的链上数据丢失等安全隐患。蚂蚁区块链支持的主要账户操作包括:
2,隐私保护
蚂蚁区块链通过引入密码学的一些特性来支持账户信息敏感数据的隐私保护能力,通过在智能合约层面扩展相关的指令函数来实现智能合约中金额的加密存储以及加减操作。只有获得有效密钥的个体才能解密智能合约中的敏感数据,查看原始金额信息。
目前,蚂蚁区块链引入的密码学特性包括零知识证明,即通过引入零知识证明来实现加密密文条件下转账金额的合法性证明。
3,跨链服务
蚂蚁区块链跨链服务是面向智能合约提供的链上数据服务,本服务在客户区块链环境中部署跨链服务合约/链码,并且提供 API 接口供用户合约/链码进行调用来使用。跨链接服务目前提供 账本数据访问 和 合约消息推送 两类服务及其对应的 API 接口。账本数据访问服务可以帮助用户智能合约获取其他区块链账本上的数据,包括但不限于区块头,完整区块、交易等。合约消息推送服务可以帮助部署了跨链数据服务的不同区块链上的智能合约之间进行消息通信,满足跨链业务关联处理等场景。
2019年5月22日,上海市第一中级人民法院、杭州互联网法院、合肥市中级人民法院、苏州市中级人民法院、在安徽芜湖共同签署合作意向书,将以杭州互联网法院司法区块链平台为依托,四地互通,共同构建长三角司法链,打造“全流程记录、全链路可信、全节点见证”的司法级别信任机制,共促长三角区域司法一体化发展。会议中介绍,杭州互联网法院司法区块链运行机制日臻成熟,已汇集3.9亿条电子数据,相关案件调撤率达96%以上,在知识产权保护、金融风险防范、农产品溯源、信用体系构建等方面发挥了重要作用。
杭州互联网法院的司法链的技术提供方为蚂蚁金服区块链,其拥有全球领先的核心专利技术,2万TPS高性能存证能力,极高的隐私安全保护能力,顶级安全防控能力为司法链保驾护航。旗下的蚂蚁区块链可信存证平台支持第三方接入司法链。
具体方面举例而言,司法链大大提升用户的维权效果。例如,在中国,版权的保护是非常落后的,像是图片领域只有5%的正版,其余的都是盗版,但是维权从立案到审判,一审需要8个月的时间,获得的赔偿仅有500-600元,但是花费的时间成本、经济成本远远超过赔偿金额。但司法链的出现可以使维权成本降低一到两个数量级。其次,司法链可以增强品牌的信任度,一方面使企业是和司法链,和政府认可的品牌、平台站在一起,另一方面使企业通过信任连接的方式把自身的商业模式清晰透明地告诉用户,使用户产生非常强的信任感。特别是创业者,能够在早期就拥有巨大的流量。最后,司法链解决的是互联网最后一公里的问题,使得用户的使用成本产生非常大的下降。因此使用司法链的模式是真的是让传统商业模式升级成为信任商业模式。
供稿者 王登辉 介绍:
版权链/公证链项目杭州下笔有神科技公司CTO,
HiBlock技术社区上海合伙人,
聚焦“区块链+”产业落地和实现方案,希望与行业从业者一起布道区块链。
『贰』 区块链密码检测规范有哪些(区块链密码概念)
区块链密码算法是怎样的?区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的Hash算法、零知识证明、环签名等密码算法:
Hash算法
哈希算法作为区块链基础技术,Hash函数的本质是将任意长度(有限)的一组数据映射到一组已定义长度的数据流中。若此函数同时满足:
(1)对任意输入的一组数据Hash值的计算都特别简单;
(2)想要找到2个不同的拥有相同Hash值的数据是计算困难的。
满足上述两条性质的Hash函数也被称为加密Hash函数,不引起矛盾的情况下,Hash函数通常指的是加密Hash函数。对于Hash函数,找到使得被称为一次碰撞。当前流行的Hash函数有MD5,SHA1,SHA2,SHA3。
比特币使用的是SHA256,大多区块链系统使用的都是SHA256算法。所以这里先介绍一下SHA256。
1、SHA256算法步骤
STEP1:附加填充比特。对报文进行填充使报文长度与448模512同余(长度=448mod512),填充的比特数范围是1到512,填充比特串的最高位为1,其余位为0。
STEP2:附加长度值。将用64-bit表示的初始报文(填充前)的位长度附加在步骤1的结果后(低位字节优先)。
STEP3:初始化缓存。使用一个256-bit的缓存来存放该散列函数的中间及最终结果。
STEP4:处理512-bit(16个字)报文分组序列。该算法使用了六种基本逻辑函数,由64步迭代运算组成。每步都以256-bit缓存值为输入,然后更新缓存内容。每步使用一个32-bit常数值Kt和一个32-bitWt。其中Wt是分组之后的报文,t=1,2,...,16。
STEP5:所有的512-bit分组处理完毕后,对于SHA256算法最后一个分组产生的输出便是256-bit的报文。
作为加密及签名体系的核心算法,哈希函数的安全性事关整个区块链体系的底层安全性。所以关注哈希函数的研究现状是很有必要的。
2、Hash函的研究现状
2004年我国密码学家王小云在国际密码讨论年会(CRYPTO)上展示了MD5算法的碰撞并给出了第一个实例(CollisionsforhashfunctionsMD4,MD5,HAVAL-128andRIPEMD,rumpsessionofCRYPTO2004,,EuroCrypt2005)。该攻击复杂度很低,在普通计算机上只需要几秒钟的时间。2005年王小云教授与其同事又提出了对SHA-1算法的碰撞算法,不过计算复杂度为2的63次方,在实际情况下难以实现。
2017年2月23日谷歌安全博客上发布了世界上第一例公开的SHA-1哈希碰撞实例,在经过两年的联合研究和花费了巨大的计算机时间之后,研究人员在他们的研究网站SHAttered上给出了两个内容不同,但是具有相同SHA-1消息摘要的PDF文件,这就意味着在理论研究长期以来警示SHA-1算法存在风险之后,SHA-1算法的实际攻击案例也浮出水面,同时也标志着SHA-1算法终于走向了生命的末期。
NIST于2007年正式宣布在全球范围内征集新的下一代密码Hash算法,举行SHA-3竞赛。新的Hash算法将被称为SHA-3,并且作为新的安全Hash标准,增强现有的FIPS180-2标准。算法提交已于2008年10月结束,NIST分别于2009年和2010年举行2轮会议,通过2轮的筛选选出进入最终轮的算法,最后将在2012年公布获胜算法。公开竞赛的整个进程仿照高级加密标准AES的征集过程。2012年10月2日,Keccak被选为NIST竞赛的胜利者,成为SHA-3。
Keccak算法是SHA-3的候选人在2008年10月提交。Keccak采用了创新的的“海绵引擎”散列消息文本。它设计简单,方便硬件实现。Keccak已可以抵御最小的复杂度为2n的攻击,其中N为散列的大小。它具有广泛的安全边际。目前为止,第三方密码分析已经显示出Keccak没有严重的弱点。
KangarooTwelve算法是最近提出的Keccak变种,其计算轮次已经减少到了12,但与原算法比起来,其功能没有调整。
零知识证明
在密码学中零知识证明(zero-knowledgeproof,ZKP)是一种一方用于向另一方证明自己知晓某个消息x,而不透露其他任何和x有关的内容的策略,其中前者称为证明者(Prover),后者称为验证者(Verifier)。设想一种场景,在一个系统中,所有用户都拥有各自全部文件的备份,并利用各自的私钥进行加密后在系统内公开。假设在某个时刻,用户Alice希望提供给用户Bob她的一部分文件,这时候出现的问题是Alice如何让Bob相信她确实发送了正确的文件。一个简单地处理办法是Alice将自己的私钥发给Bob,而这正是Alice不希望选择的策略,因为这样Bob可以轻易地获取到Alice的全部文件内容。零知识证明便是可以用于解决上述问题的一种方案。零知识证明主要基于复杂度理论,并且在密码学中有广泛的理论延伸。在复杂度理论中,我们主要讨论哪些语言可以进行零知识证明应用,而在密码学中,我们主要讨论如何构造各种类型的零知识证明方案,并使得其足够优秀和高效。
环签名群签名
1、群签名
在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,且可以只用单个群公钥来验证。群签名一般流程:
(1)初始化,群管理者建立群资源,生成对应的群公钥(GroupPublicKey)和群私钥(GroupPrivateKey)群公钥对整个系统中的所有用户公开,比如群成员、验证者等。
(2)成员加入,在用户加入群的时候,群管理者颁发群证书(GroupCertificate)给群成员。
(3)签名,群成员利用获得的群证书签署文件,生成群签名。
(4)验证,同时验证者利用群公钥仅可以验证所得群签名的正确性,但不能确定群中的正式签署者。
(5)公开,群管理者利用群私钥可以对群用户生成的群签名进行追踪,并暴露签署者身份。
2、环签名
2001年,Rivest,shamir和Tauman三位密码学家首次提出了环签名。是一种简化的群签名,只有环成员没有管理者,不需要环成员间的合作。环签名方案中签名者首先选定一个临时的签名者集合,集合中包括签名者。然后签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助。签名者集合中的成员可能并不知道自己被包含在其中。
环签名方案由以下几部分构成:
(1)密钥生成。为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)。
(2)签名。签名者用自己的私钥和任意n个环成员(包括自己)的公钥为消息m生成签名a。
(3)签名验证。验证者根据环签名和消息m,验证签名是否为环中成员所签,如果有效就接收,否则丢弃。
环签名满足的性质:
(1)无条件匿名性:攻击者无法确定签名是由环中哪个成员生成,即使在获得环成员私钥的情况下,概率也不超过1/n。
(2)正确性:签名必需能被所有其他人验证。
(3)不可伪造性:环中其他成员不能伪造真实签名者签名,外部攻击者即使在获得某个有效环签名的基础上,也不能为消息m伪造一个签名。
3、环签名和群签名的比较
(1)匿名性。都是一种个体代表群体签名的体制,验证者能验证签名为群体中某个成员所签,但并不能知道为哪个成员,以达到签名者匿名的作用。
(2)可追踪性。群签名中,群管理员的存在保证了签名的可追踪性。群管理员可以撤销签名,揭露真正的签名者。环签名本身无法揭示签名者,除非签名者本身想暴露或者在签名中添加额外的信息。提出了一个可验证的环签名方案,方案中真实签名者希望验证者知道自己的身份,此时真实签名者可以通过透露自己掌握的秘密信息来证实自己的身份。
(3)管理系统。群签名由群管理员管理,环签名不需要管理,签名者只有选择一个可能的签名者集合,获得其公钥,然后公布这个集合即可,所有成员平等。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
区块链的密码技术有
密码学技术是区块链技术的核心。区块链的密码技术有数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的一个子集,表示了只用作数字签名的一个特定的公钥算法。密钥运行在由SHA-1产生的消息哈希:为了验证一个签名,要重新计算消息的哈希,使用公钥解密签名然后比较结果。缩写为DSA。
?
数字签名是电子签名的特殊形式。到目前为止,至少已经有20多个国家通过法律认可电子签名,其中包括欧盟和美国,我国的电子签名法于2004年8月28日第十届全国人民代表大会常务委员会第十一次会议通过。数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题,利用数据加密技术、数据变换技术,使收发数据双方能够满足两个条件:接收方能够鉴别发送方所宣称的身份;发送方以后不能否认其发送过该数据这一事实。
数字签名是密码学理论中的一个重要分支。它的提出是为了对电子文档进行签名,以替代传统纸质文档上的手写签名,因此它必须具备5个特性。
(1)签名是可信的。
(2)签名是不可伪造的。
(3)签名是不可重用的。
(4)签名的文件是不可改变的。
(5)签名是不可抵赖的。
哈希(hash)算法
Hash,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,其中散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,但是不可逆向推导出输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
哈希(Hash)算法,它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
以比特币区块链为代表,其中工作量证明和密钥编码过程中多次使用了二次哈希,如SHA(SHA256(k))或者RIPEMD160(SHA256(K)),这种方式带来的好处是增加了工作量或者在不清楚协议的情况下增加破解难度。
以比特币区块链为代表,主要使用的两个哈希函数分别是:
1.SHA-256,主要用于完成PoW(工作量证明)计算;
2.RIPEMD160,主要用于生成比特币地址。如下图1所示,为比特币从公钥生成地址的流程。
如何检测区块链智能合约的风险等级高低随着上海城市数字化转型脚步的加快,区块链技术在政务、金融、物流、司法等众多领域得到深入应用。在应用过程中,不仅催生了新的业务形态和商业模式,也产生了很多安全问题,因而安全监管显得尤为重要。安全测评作为监管重要手段之一,成为很多区块链研发厂商和应用企业的关注热点。本文就大家关心的区块链合规性安全测评谈谈我们做的一点探索和实践。
一、区块链技术测评
区块链技术测评一般分为功能测试、性能测试和安全测评。
1、功能测试
功能测试是对底层区块链系统支持的基础功能的测试,目的是衡量底层区块链系统的能力范围。
区块链功能测试主要依据GB/T25000.10-2016《系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型》、GB/T25000.51-2016《系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》等标准,验证被测软件是否满足相关测试标准要求。
区块链功能测试具体包括组网方式和通信、数据存储和传输、加密模块可用性、共识功能和容错、智能合约功能、系统管理稳定性、链稳定性、隐私保护、互操作能力、账户和交易类型、私钥管理方案、审计管理等模块。
2、性能测试
性能测试是为描述测试对象与性能相关的特征并对其进行评价而实施和执行的一类测试,大多在项目验收测评中,用来验证既定的技术指标是否完成。
区块链性能测试具体包括高并发压力测试场景、尖峰冲击测试场景、长时间稳定运行测试场景、查询测试场景等模块。
3、安全测评
区块链安全测评主要是对账户数据、密码学机制、共识机制、智能合约等进行安全测试和评价。
区块链安全测评的主要依据是《DB31/T1331-2021区块链技术安全通用要求》。也可根据实际测试需求参考《JR/T0193-2020区块链技术金融应用评估规则》、《JR/T0184—2020金融分布式账本技术安全规范》等标准。
区块链安全测评具体包括存储、网络、计算、共识机制、密码学机制、时序机制、个人信息保护、组网机制、智能合约、服务与访问等内容。
二、区块链合规性安全测评
区块链合规性安全测评一般包括“区块链信息服务安全评估”、“网络安全等级保护测评”和“专项资金项目验收测评”三类。
1、区块链信息服务安全评估
区块链信息服务安全评估主要依据国家互联网信息办公室2019年1月10日发布的《区块链信息服务管理规定》(以下简称“《规定》”)和参考区块链国家标准《区块链信息服务安全规范(征求意见稿)》进行。
《规定》旨在明确区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务的健康发展,规避区块链信息服务安全风险,为区块链信息服务的提供、使用、管理等提供有效的法律依据。《规定》第九条指出:区块链信息服务提供者开发上线新产品、新应用、新功能的,应当按照有关规定报国家和省、自治区、直辖市互联网信息办公室进行安全评估。
《区块链信息服务安全规范》是由中国科学院信息工程研究所牵头,浙江大学、中国电子技术标准化研究院、上海市信息安全测评认证中心等单位共同参与编写的一项建设和评估区块链信息服务安全能力的国家标准。《区块链信息服务安全规范》规定了联盟链和私有链的区块链信息服务提供者应满足的安全要求,包括安全技术要求和安全保障要求以及相应的测试评估方法,适用于指导区块链信息服务安全评估和区块链信息服务安全建设。标准提出的安全技术要求、保障要求框架如下:
图1区块链信息服务安全要求模型
2、网络安全等级保护测评
网络安全等级保护测评的主要依据包括《GB/T22239-2019网络安全等级保护基本要求》、《GB/T28448-2019网络安全等级保护测评要求》。
区块链作为一种新兴信息技术,构建的应用系统同样属于等级保护对象,需要按照规定开展等级保护测评。等级保护安全测评通用要求适用于评估区块链的基础设施部分,但目前并没有提出区块链特有的安全要求。因此,区块链安全测评扩展要求还有待进一步探索和研究。
3、专项资金项目验收测评
根据市经信委有关规定,信息化专项资金项目在项目验收时需出具安全测评报告。区块链应用项目的验收测评将依据上海市最新发布的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》开展。
三、区块链安全测评探索与实践
1、标准编制
上海测评中心积极参与区块链标准编制工作。由上海测评中心牵头,苏州同济区块链研究院有限公司、上海七印信息科技有限公司、上海墨珩网络科技有限公司、电信科学技术第一研究所等单位参加编写的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》已于2021年12月正式发布,今年3月1日起正式实施。上海测评中心参与编写的区块链国标《区块链信息服务安全规范》正处于征求意见阶段。
同时,测评中心还参与编写了国家人力资源和社会保障部组织,同济大学牵头编写的区块链工程技术人员初级和中级教材,负责编制“测试区块链系统”章节内容。
2、项目实践
近年来,上海测评中心依据相关技术标准进行了大量的区块链安全测评实践,包括等级保护测评、信息服务安全评估、项目安全测评等。在测评实践中,发现的主要安全问题如下:
表1区块链主要是安全问题
序号
测评项
问题描述
1
共识算法
共识算法采用Kafka或Raft共识,不支持拜占庭容错,不支持容忍节点恶意行为。
2
上链数据
上链敏感信息未进行加密处理,通过查询接口或区块链浏览器可访问链上所有数据。
3
密码算法
密码算法中使用的随机数不符合GB/T32915-2016对随机性的要求。
4
节点防护
对于联盟链,未能对节点服务器所在区域配置安全防护措施。
5
通信传输
节点间通信、区块链与上层应用之间通信时,未建立安全的信息传输通道。
6
共识算法
系统部署节点数量较少,有时甚至没有达到共识算法要求的容错数量。
7
智能合约
未对智能合约的运行进行监测,无法及时发现、处置智能合约运行过程中出现的问题。
8
服务与访问
上层应用存在未授权、越权等访问控制缺陷,导致业务错乱、数据泄露。
9
智能合约
智能合约编码不规范,当智能合约出现错误时,不提供智能合约冻结功能。
10
智能合约
智能合约的运行环境没有与外部隔离,存在外部攻击的风险。
3、工具应用
测评中心在组织编制《DB31/T1331-2021区块链技术安全通用要求》时,已考虑与等级保护测评的衔接需求。DB31/T1331中的“基础设施层”安全与等级保护的安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心等相关要求保持一致,“协议层安全”、“扩展层安全”则更多体现区块链特有的安全保护要求。
测评中心依据DB31/T1331相关安全要求,正在组织编写区块链测评扩展要求,相关成果将应用于网络安全等级保护测评工具——测评能手。届时,使用“测评能手”软件的测评机构就能准确、规范、高效地开展区块链安全测评,发现区块链安全风险,并提出对应的整改建议
第4课区块链中的密码学学习总结这是加入公Ulord深度学习第四课,杨博士给大家主讲区块链中的密码学问题,本期课程令让我弄懂了一个一直困扰着我的关于公钥和私钥的问题,他们之间到底是什么关系?再这次学习中我得到了答案,现在我把我学习到的内容跟大家分享一下。
区块链里的公钥和私钥,是非对称加密里的两个基本概念。
公钥与私钥,是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥是非公开的部分。公钥通常用于加密会话,就是消息或者说信息,同时,也可以来用于验证用私钥签名的数字签名。
私钥可以用来进行签名,用对应的公钥来进行验证。通过这种公开密钥体制得到的密钥对能够保证在全世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密数据,则必须用它对应的另一个密钥来进行解密。
比如说用公钥加密的数据就必须用私钥才能解密,如果用私钥进行加密,就必须要对应的公钥才能解密,否则无法成功解密。另外,在比特币的区块链中,则是通过私钥来计算出公钥,通过公钥来计算出地址,而这个过程是不可逆的。
一文读懂,XFS中你必须掌握的密码与区块链理论术语人们对于事物的深刻认知,不是像“如何将大象放进冰箱?”那般,只回答“打开冰箱,把大象放进去,关上冰箱”那么简单。任何事物都需要一个抽丝剥茧,化整为零的认知过程。特别是一个新兴的概念和事物,更需要更加细致的了解。
XFS系统是一个分布式文件系统,但它并不是一个单一的框架结构,他是密码学、区块链、互联网等多种技术手段结合的一个有机整体,因此,想要更详细的了解它,我们必须知道一些专业术语的概念。
1.加密网络
加密网络简单来说就是一个公共区块链。在区块链技术诞生之前,互联网网络中的数据传输其实是没有任何加密手段的,黑客一旦截取的其中的数据,那么除非那段数据本身就是密文,否则那些数据就直白地暴露在黑客眼前。
加密网络便是通过区块链技术,由区块链各个节点维护,任何人都可以无需许可加入,更重要的是,整个网络中运转的数据是加密的。XFS系统便是一个典型的加密网络。
2.哈希算法
哈希算法是区块链中用以确保数据完整性和安全性的一个特殊程序。哈希算法采用的是名为“哈希函数”数学关系,结果输出被称为“加密摘要”。加密摘要的特点是任意长度的数据输入后,返回的都是一个唯一且固定长度的值。
哈希函数具备:
基于这些特性,它在保证加密安全时也被用于防篡改,因为即使对散列函数的数据输入进行微小更改也会导致完全不同的输出。这也成为了现代密码学和区块链的主力。
3.分布式账本
区块链就是一个分布式账本,但这个账本不仅仅可以记录交易信息,还可以记录任何数据交互。每个分类帐交易都是一个加密摘要,因此无法在不被检测到的情况下更改条目。这样使得区块链使参与者能够以一种去中心化的方式相互审计。
4.私钥和公钥
私钥和公钥是区块链通过哈希算法形成加密后生成的一组用于解密的“钥匙”。通过对私钥加密,形成公钥,此时,原始信息只能通过私钥进行查看,由用户自己保存,公钥就如同一个房屋地址,用于进行数据交互,是可以公开的。反之,如果对公钥加密,形成私钥,那么就会形成不可篡改的数字签名,因为这个公钥上的签名只有私钥拥有者才能进行创建。
1.节点
节点是一个区块链网络的最基础建设,也是区块链网络和现实连接的物理设备。单个节点拥有许多的功能,例如缓存数据、验证信息或将消息转发到其他节点等。
2.点对点(P2P)网络
区块链所构建的便是去中心化后节点与节点之间的数据交互。传统的互联网数据传输是一种客户端—服务器—客户端的中心辐射模式。点对点网络则更符合“网”这个词,在这个网络中,每个节点都在单一通信协议下运行,以在它们之间传输数据,
『叁』 鍖哄潡閾炬湁鍝鍥涘ぇ鏍稿績鎶鏈
鍏跺疄鍗佸勾鏉ュ尯鍧楅摼鍦ㄥ師鏈夊熀纭涓婂凡缁忔湁浜嗗緢澶х殑鍙樺寲鍜岃繘灞曪紝鎴姝㈢幇闃舵电粡杩囦赴瀵屼箣鍚庣殑鍖哄潡閾剧殑鍥涘ぇ鏍稿績鎶鏈鈥斺斿垎甯冨紡璐︽湰锛屽叡璇嗘満鍒讹紝瀵嗙爜瀛︿互鍙婃櫤鑳藉悎绾︼紝瀹冧滑鍦ㄥ尯鍧楅摼涓鍒嗗埆璧峰埌浜嗘暟鎹鐨勫瓨鍌锛屾暟鎹鐨勫勭悊锛屾暟鎹鐨勫畨鍏锛屼互鍙婃暟鎹鐨勫簲鐢ㄤ綔鐢ㄣ傛荤殑鏉ヨ达紝鍥涘ぇ鏍稿績鎶鏈瑕佸尯鍧楅摼涓鍚勬湁鍚勭殑浣滅敤锛屽畠浠鍏卞悓鏋勫缓浜嗗尯鍧楅摼鐨勫熀纭銆
涓锛屽垎甯冨紡璐︽湰鈥斺斿偍瀛樹綔鐢
棣栧厛锛屽垎甯冨紡璐︽湰鏋勫缓浜嗗尯鍧楅摼鐨勬嗘灦锛屽畠鏈璐ㄦ槸涓涓鍒嗗竷寮忔暟鎹搴擄紝褰撲竴绗旀暟鎹浜х敓鍚庯紝缁忓ぇ瀹跺勭悊锛屽氨浼氬偍瀛樺湪杩欎釜鏁版嵁搴撻噷闈锛屾墍浠ュ垎甯冨紡璐︽湰鍦ㄥ尯鍧楅摼涓璧峰埌浜嗘暟鎹瀛樺偍鐨勪綔鐢锛
鍖哄潡閾剧敱浼楀氳妭鐐瑰叡鍚岀粍鎴愪竴涓绔鍒扮鐨勭綉缁滐紝涓嶅瓨鍦ㄤ腑蹇冨寲鐨勮惧囧拰绠$悊鏈烘瀯锛岃妭鐐归棿鏁版嵁浜ゆ崲閫氳繃鏁板瓧绛惧悕鎶鏈杩涜岄獙璇侊紝鏃犻渶浜轰负寮忕殑浜掔浉淇′换锛屽彧瑕佹寜鐓ф棦瀹氱殑瑙勫垯杩涜屻傝妭鐐归棿涔熸棤娉曟洪獥鍏朵粬鑺傜偣銆傚洜涓烘暣涓缃戠粶閮芥槸鍘讳腑蹇冨寲鐨勶紝姣忎釜浜洪兘鏄鍙備笌鑰咃紝姣忎釜浜洪兘鏈夎瘽璇鏉冦
浜岋紝鍏辫瘑鏈哄埗鈥斺旂粺绛硅妭鐐癸紝鏁版嵁澶勭悊
鍏舵★紝鍥犱负鍒嗗竷寮忚处鏈鍘讳腑蹇冨寲鐨勭壒鐐癸紝鍐冲畾浜嗗尯鍧楅摼缃戠粶鏄涓涓鍒嗗竷寮忕殑缁撴瀯锛屾瘡涓浜洪兘鍙浠ヨ嚜鐢辩殑鍔犲叆鍏朵腑锛屽叡鍚屽弬涓庢暟鎹鐨勮板綍锛屼絾涓庢ゅ悓鏃讹紝灏辫嶇敓鍑烘潵浠や汉澶寸柤鐨勨滄嫓鍗犲涵灏嗗啗鈥濋棶棰橈紝鍗崇綉缁滀腑鍙備笌鐨勪汉鏁拌秺澶氾紝鍏ㄧ綉灏辫秺闅句互杈炬垚缁熶竴锛屼簬鏄灏遍渶瑕佸彟涓濂楁満鍒舵潵鍗忚皟鍏ㄨ妭鐐硅处鐩淇濇寔涓鑷达紝鍏辫瘑鏈哄埗灏卞埗瀹氫簡涓濂楄勫垯锛屾槑纭姣忎釜浜哄勭悊鏁版嵁鐨勯斿緞锛屽苟閫氳繃浜夊ず璁拌处鏉冪殑鏂瑰紡鏉ュ畬鎴愯妭鐐归棿鐨勬剰瑙佺粺涓锛屾渶鍚庤皝鍙栧緱璁拌处鏉冿紝鍏ㄧ綉灏辩敤璋佸勭悊鐨勬暟鎹銆傛墍浠ュ叡璇嗘満鍒跺湪鍖哄潡閾句腑璧峰埌浜嗙粺绛硅妭鐐圭殑琛屼负锛屾槑纭鏁版嵁澶勭悊鐨勪綔鐢ㄣ
浠讳綍浜洪兘鍙浠ュ弬涓庡埌鍖哄潡閾剧綉缁滐紝姣忎竴鍙拌惧囬兘鑳戒綔涓轰竴涓鑺傜偣锛屾瘡涓鑺傜偣閮藉厑璁歌幏寰椾竴涓瀹屾暣鐨勬暟鎹搴擄紝鑺傜偣闂撮兘鏈変竴濂楀叡璇嗘満鍒讹紝閫氳繃绔炰簤锛岃$畻锛屽叡鍚岀淮鎶ゆ暣涓鍖哄潡閾撅紝浠讳竴鑺傜偣澶辨晥锛屽叾浣欒妭鐐逛粛鑳芥e父宸ヤ綔銆傜浉褰撲簬璁ゅ彲浣犵殑娓告垙瑙勫垯锛屾瘮鐗瑰竵鏈夋瘮鐗瑰竵鐨勫叡璇嗘満鍒讹紝鍏ㄧ悆璁ゅ彲灏卞彲浠ュ弬涓庢瘮鐗瑰竵鎸栫熆锛屽洜涓轰綘璁ゅ彲浜嗗畠鐨勫叡璇嗘満鍒讹紝涔熷彲鐞嗚В涓鸿ゅ彲瀹冪殑娓告垙瑙勫垯銆傛瘮鐗瑰竵鐨勮勫垯灏辨槸杩涜屽簽澶х殑杩愮畻锛岃皝鍏堢畻鍑烘潵灏辩粰璋佸栧姳POW銆
澶囨敞锛氬叡璇嗘満鍒惰窡PoW銆丳oS銆丏PoS杩欎簺鐩告瘮锛屼紭缂虹偣鏄浠涔?
PoW鍗冲伐浣滈噺璇佹槑锛岃繖鏄涓绉嶉潪甯稿阀濡欑殑鏂规硶锛屽畠鐨勪紭鐐规槸锛
绠楁硶绠鍗曪紝瀹规槗瀹炵幇;
鑺傜偣闂存棤闇浜ゆ崲棰濆栫殑淇℃伅鍗冲彲杈炬垚鍏辫瘑;
鐮村潖绯荤粺闇瑕佹姇鍏ユ瀬澶х殑鎴愭湰;
瀹冪殑缂虹偣涔熼潪甯告槑鏄撅細
娴璐硅兘婧;
鍖哄潡鐨勭‘璁ゆ椂闂撮毦浠ョ缉鐭;
鏂扮殑鍖哄潡閾惧繀椤绘壘鍒颁竴绉嶄笉鍚岀殑鏁e垪绠楁硶锛屽惁鍒欏氨浼氶潰涓存瘮鐗瑰竵鐨勭畻鍔涙敾鍑;
瀹规槗浜х敓鍒嗗弶锛岄渶瑕佺瓑寰呭氫釜纭璁;
姘歌繙娌℃湁鏈缁堟э紝闇瑕佹鏌ョ偣鏈哄埗鏉ュ讥琛ユ渶缁堟
PoS鍗虫潈鐩婅瘉鏄庯紝瀹冨皢PoW涓鐨勭畻鍔涙敼涓虹郴缁熸潈鐩婏紝鎷ユ湁鏉冪泭瓒婂ぇ鍒欐垚涓轰笅涓涓璁拌处浜虹殑姒傜巼瓒婂ぇ銆傝繖绉嶆満鍒剁殑浼樼偣鏄涓嶅儚Pow閭d箞璐圭數锛屼絾鏄涔熸湁涓嶅皯缂虹偣锛
娌℃湁涓撲笟鍖栵紝鎷ユ湁鏉冪泭鐨勫弬涓庤呮湭蹇呭笇鏈涘弬涓庤拌处;
瀹规槗浜х敓鍒嗗弶锛岄渶瑕佺瓑寰呭氫釜纭璁;
姘歌繙娌℃湁鏈缁堟э紝闇瑕佹鏌ョ偣鏈哄埗鏉ュ讥琛ユ渶缁堟;
DPoS鍦≒oS鐨勫熀纭涓婏紝灏嗚拌处浜虹殑瑙掕壊涓撲笟鍖栵紝鍏堥氳繃鏉冪泭鏉ラ夊嚭璁拌处浜猴紝鐒跺悗璁拌处浜轰箣闂村啀杞娴佽拌处銆傝繖绉嶆柟寮忎緷鐒舵病鏈夎В鍐虫渶缁堟ч棶棰樸
DBFT(delegated BFT)鏄涓绉嶉氱敤鐨勫叡璇嗘満鍒舵ā鍧楋紝鎻愬嚭浜嗕竴绉嶆敼杩涚殑鎷滃崰搴瀹归敊绠楁硶锛屼娇鍏惰兘澶熼傜敤浜庡尯鍧楅摼绯荤粺銆
DBFT鏄鍩轰簬鍖哄潡閾炬妧鏈鐨勪竴绉嶅崗璁銆傜敤鎴峰彲浠ュ皢瀹炰綋涓栫晫鐨勮祫浜у拰鏉冪泭杩涜屾暟瀛楀寲锛岄氳繃鐐瑰圭偣缃戠粶杩涜岀櫥璁板彂琛屻佽浆璁╀氦鏄撱佹竻绠椾氦鍓茬瓑閲戣瀺涓氬姟鐨勫幓涓蹇冨寲缃戠粶鍗忚銆傚皬铓佷笂鍙浠ュ彂琛屼腑鍥姐婂悎鍚屾硶銆嬨併婂叕鍙告硶銆嬭ゅ彲鐨勫叕鍙歌偂鏉冿紝涓嶄粎鏄鏁板瓧璐у竵鍦堬紝杩樺寘鎷涓绘祦浜掕仈缃戦噾铻嶃傚皬铓佸彲浠ヨ鐢ㄤ簬鑲℃潈浼楃广丳2P缃戣捶銆佹暟瀛楄祫浜х$悊銆佹櫤鑳藉悎绾︾瓑銆
杩欑嶅叡璇嗘満鍒舵槸鍦–astro 鍜 Liskov鎻愬嚭鐨勨滃疄鐢ㄦ嫓鍗犲涵瀹归敊绠楁硶鈥(Practical Byzantine Fault Tolerance)鐨勫熀纭涓婏紝缁忚繃鏀硅繘鍚庝娇鍏惰兘澶熼傜敤浜 鍖哄潡閾剧郴缁熴傛嫓鍗犲涵瀹归敊鎶鏈琚骞挎硾搴旂敤鍦ㄥ垎甯冨紡绯荤粺涓锛屾瘮濡傚垎甯冨紡鏂囦欢绯荤粺銆佸垎甯冨紡鍗忎綔绯荤粺銆佷簯璁$畻绛夈俤BFT涓昏佸仛浜嗕互涓嬫敼杩涳細
灏咰/S鏋舵瀯鐨勮锋眰鍝嶅簲妯″紡锛屾敼杩涗负閫傚悎P2P缃戠粶鐨勫圭瓑鑺傜偣妯″紡;
灏嗛潤鎬佺殑鍏辫瘑鍙備笌鑺傜偣鏀硅繘涓哄彲鍔ㄦ佽繘鍏ャ侀鍑虹殑鍔ㄦ佸叡璇嗗弬涓庤妭鐐;
涓哄叡璇嗗弬涓庤妭鐐圭殑浜х敓璁捐′簡涓濂楀熀浜庢寔鏈夋潈鐩婃瘮渚嬬殑鎶曠エ鏈哄埗锛岄氳繃鎶曠エ鍐冲畾鍏辫瘑鍙備笌鑺傜偣(璁拌处鑺傜偣);
鍦ㄥ尯鍧楅摼涓寮曞叆鏁板瓧璇佷功锛岃В鍐充簡鎶曠エ涓瀵硅拌处鑺傜偣鐪熷疄韬浠界殑璁よ瘉闂棰
涓轰粈涔堟渶缁堥噰鐢ㄤ竴绉嶈繖鏍风殑鏂规?
绛旓細鍖哄潡閾句綔涓轰竴绉嶅垎甯冨紡璐︽湰绯荤粺锛屽叾鍐呴儴鐨勭粡娴庢ā鍨嬪喅瀹氫簡锛屾瘡涓浣嶅弬涓庤呴兘鍙浠ユ棤闇淇′换鍏朵粬鐨勫弬涓庤咃紝鍗虫墍璋撶殑鍘讳俊浠汇傛嫓鍗犲涵灏嗗啗闂棰樻f槸鎻忚堪浜嗗弬涓庤呬箣闂村備綍鍦ㄥ幓淇′换鐨勬儏鍐典笅杈炬垚鍏辫瘑锛岃屾嫓鍗犲涵瀹归敊鎶鏈姝f槸瑙e喅姝ょ被闂棰樼殑鏂规硶銆傛ゅ栵紝鍖哄潡閾剧殑缃戠粶鐜澧冮潪甯稿嶆潅锛屼細闈涓寸綉缁滃欢杩熴佷紶杈撻敊璇銆佽蒋浠堕敊璇銆佸畨鍏ㄦ紡娲炪侀粦瀹㈠叆渚电瓑闂棰橈紝杩樻湁鍚勫紡鍚勬牱鐨勬伓鎰忚妭鐐癸紝鑰屾嫓鍗犲涵瀹归敊鎶鏈姝f槸鍙浠ュ瑰繊杩欎簺閿欒鐨勬柟妗堛
dBFT鏈哄埗锛屾槸鐢辨潈鐩婃潵閫夊嚭璁拌处浜猴紝鐒跺悗璁拌处浜轰箣闂撮氳繃鎷滃崰搴瀹归敊绠楁硶鏉ヨ揪鎴愬叡璇嗭紝杩欑嶆柟寮忕殑浼樼偣鏄锛
涓撲笟鍖栫殑璁拌处浜;
鍙浠ュ瑰繊浠讳綍绫诲瀷鐨勯敊璇;
璁拌处鐢卞氫汉鍗忓悓瀹屾垚锛屾瘡涓涓鍖哄潡閮芥湁鏈缁堟э紝涓嶄細鍒嗗弶;
绠楁硶鐨勫彲闈犳ф湁涓ユ牸鐨勬暟瀛﹁瘉鏄
缂虹偣锛
褰撴湁1/3鎴栦互涓婅拌处浜哄仠姝㈠伐浣滃悗锛岀郴缁熷皢鏃犳硶鎻愪緵鏈嶅姟;
褰撴湁1/3鎴栦互涓婅拌处浜鸿仈鍚堜綔鎭讹紝涓斿叾瀹冩墍鏈夌殑璁拌处浜鸿鎭板ソ鍒嗗壊涓轰袱涓缃戠粶瀛ゅ矝鏃讹紝鎭舵剰璁拌处浜哄彲浠ヤ娇绯荤粺鍑虹幇鍒嗗弶锛屼絾鏄浼氱暀涓嬪瘑鐮佸﹁瘉鎹;
浠ヤ笂鎬荤粨鏉ヨ达紝dBFT鏈哄埗鏈鏍稿績鐨勪竴鐐癸紝灏辨槸鏈澶ч檺搴﹀湴纭淇濈郴缁熺殑鏈缁堟э紝浣垮尯鍧楅摼鑳藉熼傜敤浜庣湡姝g殑閲戣瀺搴旂敤鍦烘櫙銆傛瘮濡傛垜浠鍝ヤ鸡甯冪殑鍏辫瘑鏈哄埗DPOS+DBFT鐨勫叡璇嗘満鍒躲傚傛灉鎴戜滑鏁翠釜鑺傜偣鍏朵腑涓涓浜烘垨鑰呬竴涓璁惧囧叧闂浜嗭紝閭d箞鍏朵粬鑺傜偣浠嶅湪姝e父宸ヤ綔锛屼笉浼氬奖鍝嶆暣涓缃戠粶浣撶郴銆備絾鏄濡傛灉鑵捐鐨勬湇鍔″櫒鍏抽棴浜嗭紝閭f墍鏈変汉鐨勫井淇℃墦涓嶅紑鐨勶紝鍥犱负浣犳病鏈夎皟鍙栨暟鎹鐨勫湴鏂逛簡锛岃繖灏辨槸涓蹇冨寲缃戠粶鏈嶅姟鍣ㄤ笌鍖哄潡閾剧綉缁滄湇鍔″櫒鐨勪竴涓鍖哄埆銆
涓夛紝瀵嗙爜瀛︹斺旀暟鎹鐨勫畨鍏锛岄獙璇佷簡鏁版嵁鐨勫綊灞烇紝涓嶅彲绡℃敼鍙杩芥函
姝ゅ栨暟鎹杩涘叆鍒嗗竷寮忔暟鎹搴撲腑锛屼篃涓嶆槸鍗曠函鐨勬墦鍖呰繘鏉ュ氨娌′簨浜嗭紝搴曞眰鐨勬暟鎹鏋勬灦鍒欐槸鐢卞尯鍧楅摼瀵嗙爜瀛︽潵鍐冲畾鐨勶紝鎵撳寘濂界殑鏁版嵁鍧楋紝浼氶氳繃瀵嗙爜瀛︿腑鍝堝笇鍑芥暟澶勭悊鎴愪竴涓閾惧紡鐨勭粨鏋勶紝鍚庝竴涓鍖哄潡鍖呭惈鍓嶄竴涓鍖哄潡鐨勫搱甯屽硷紝鍥犱负鍝堝笇绠楁硶鍏锋湁鍗曞悜鎬э紝鎶楃℃敼绛夌壒鐐癸紝鎵浠ュ彧鍦ㄥ尯鍧楅摼缃戠粶涓锛屾暟鎹涓鏃︿笂閾惧氨涓嶅彲绡℃敼锛屼笖鍙杩芥函锛屽彟澶栦綘鐨勮处鎴蜂篃浼氶氳繃闈炲圭О鍔犲瘑鐨勬柟寮忚繘琛屽姞瀵嗭紝杩涜屼繚璇佷簡鏁版嵁鐨勫畨鍏锛岄獙璇佷簡鏁版嵁鐨勫綊灞炪
鍗曚釜鎴栧氫釜鏁版嵁搴撶殑淇鏀规棤娉曞奖鍝嶅叾浠栨暟鎹搴撲簡銆傞櫎浜嗚秴杩囨暣涓缃戠粶51%鐨勬暟鎹鍚屾椂淇鏀癸紝杩欏嚑涔庝笉鍙鑳藉彂鐢熴傚尯鍧楅摼涓鐨勬瘡涓绗斾氦鏄撻兘閫氳繃瀵嗙爜瀛︽柟寮忎笌鐩搁偦涓や釜鍖哄潡涓茶仈锛屽洜姝ゅ彲浠ヨ拷婧鍒颁换浣曚竴绗斾氦鏄撶殑鍓嶄笘浠婄敓銆傝繖閲屽氨鏄鍖哄潡閾剧殑鏁版嵁缁撴瀯锛屽尯鍧楀ご鍜屽尯鍧椾綋銆傚瘑鐮佸 鍝堝笇鍊硷紝鏃堕棿鎴筹紝閫氳繃鏃堕棿鎴虫潵鍐冲畾瀹冪殑椤哄簭锛屼笉浼氭墦涔便
杩欎釜鍘熺悊杩愪綔鍒版垜浠鐨勫晢涓氫綋绯婚噷杈癸紝鍖呮嫭鍟嗗搧浣撶郴锛屾垜浠鎵璇寸殑婧婧愶紝鍙浠ユ煡璇㈠埌鍟嗗搧鍦ㄥ摢閲岀敓浜х殑锛岀敓浜у師鏉愭枡鏄浠涔堬紝浠庡悗寰鍓嶄竴姝ヤ竴姝ユ煡鎵惧埌锛屽洜涓烘垜浠鍦ㄦ瘡鍋氫竴姝ュ姩浣滅殑鍚屾椂鎶婁俊鎭鏁版嵁鍐欏埌鍖哄潡閾剧殑浣撶郴閲岋紝閫氳繃杩欎釜浣撶郴鎴戝氨鍙浠ユ煡鎵惧埌鏄涓嶆槸浣跨敤鐨勮繖涓鍘熸潗鏂欙紝鏄涓嶆槸鐢ㄨ繖涓宸ヨ壓鐢熶骇鍑烘潵鐨勩傞氳繃杩欐牱涓涓鏁版嵁鐨勭粨鏋勫瓨鍌ㄨ揪鍒版垜浠鍏卞悓鐩镐俊瀹冿紝杩欏晢鍝佺殑纭鏄杩欐牱鐢熶骇鍑烘潵鐨勶紝鐩镐俊杩欐槸鐪熺殑銆
鍙﹀栨暟鎹鏃犳硶淇鏀癸紝濡傛灉鎯宠佷慨鏀硅佽揪鍒51%鐨勪汉鎵嶅彲浠ワ紝浠庤偂鏉冧笂鐞嗚В锛屾嫢鏈夊叕鍙51%鐨勮偂鏉冨湪杩欎釜鍏鍙稿氨鏈夎瘽璇鏉冦傝繖鍙鏄涓涓鍙鑳芥ц屽凡銆備负浠涔堢敤鍖哄潡閾炬妧鏈姣斾簰鑱旂綉鎶鏈鏇村巻瀹炽佹洿瀹夊叏鍛锛屽洜涓轰粬鍒嗗竷寮浜嗭紝濡傛灉浣犳兂瑕佸幓淇鏀归噷闈㈢殑鏁版嵁锛屼綔涓洪粦瀹㈣佹壘鍒版墍鏈夎拌繖涓璐︾殑璁$畻鏈猴紝姣忓彴璁$畻鏈洪兘瑕佷慨鏀癸紝涔熻歌兘寰堝揩鎵惧埌鍏朵腑涓鍙版妸瀹冩敼鎺夛紝浣嗗緢闅炬妸鎵鏈夌殑鏀规帀銆
鍖哄潡閾鹃噷鎵鏈夌殑浜ゆ槗淇℃伅閮芥槸鍏寮鐨勶紝鍥犳ゆ瘡涓绗斾氦鏄撻兘瀵规墍鏈夎妭鐐瑰彲瑙侊紝鐢变簬鑺傜偣涓庤妭鐐归棿鏄鍘讳腑蹇冨寲鐨勶紝鎵浠ヨ妭鐐归棿鏃犻渶鍏寮韬浠斤紝姣忎釜鑺傜偣閮芥槸鍖垮悕鐨勩傛瘮濡傛瘡鍙扮畻鑳芥満鍚鍔ㄥ悗锛屾瘡鍙扮畻鑳芥満璋佸惎鍔ㄨ皝娌″惎鍔锛屾垜浠鐩镐簰闂存槸涓嶇煡閬撶殑锛屼綘鍙浠ュ湪浣犲堕噷寮鍚锛岃繖閲屾湁涓澶氬姵澶氬緱鐨勯棶棰樸
鍥涳紝鏅鸿兘鍚堢害鈥斺旀墽琛 搴旂敤
鏈鍚庯紝鍙浠ュ湪鍒嗗竷寮忚处鏈鐨勫熀纭涓婏紝鎼寤哄簲鐢ㄥ眰闈㈢殑鏅鸿兘鍚堢害銆傚綋鎴戜滑鎯宠佽В鍐充竴浜涗俊浠婚棶棰橈紝鍙浠ラ氳繃鏅鸿兘鍚堢害锛屽皢鐢ㄦ埛闂寸殑绾﹀畾鐢ㄤ唬鐮佺殑褰㈠紡锛屽皢鏉′欢缃楀垪娓呮氾紝骞堕氳繃绋嬪簭鏉ユ墽琛岋紝鑰屽尯鍧楅摼涓鐨勬暟鎹锛屽垯鍙浠ラ氳繃鏅鸿兘鍚堢害杩涜岃皟鐢锛屾墍浠ユ櫤閫氬悎绾﹀湪鍖哄潡閾句腑璧峰埌浜嗘暟鎹鎵ц屼笌搴旂敤鐨勫姛鑳姐
鏅鸿兘鍚堢害鍙甯鍔╂偍浠ラ忔槑銆佹棤鍐茬獊鐨勬柟寮忎氦鎹㈤噾閽便佽储浜с佽偂浠芥垨浠讳綍鏈変环鍊肩殑鐗╁搧锛屽悓鏃堕伩鍏嶄腑闂村晢鐨勬湇鍔★紝鐢氳嚦璇存櫤鑳藉悎绾﹀皢鍦ㄦ湭鏉ュ彇浠e緥甯堣繖涓鑱屽姟銆傞氳繃鏅鸿兘鍚堢害鏂瑰紡锛岃祫浜ф垨璐у竵琚杞绉诲埌绋嬪簭涓锛岀▼搴忚繍琛屾や唬鐮侊紝骞跺湪鏌愪釜鏃堕棿鐐硅嚜鍔ㄩ獙璇佷竴涓鏉′欢锛屽畠浼氳嚜鍔ㄧ‘瀹氳祫浜ф槸搴旇ュ幓涓涓浜鸿繕鏄鍥炲埌鍙︿竴涓浜猴紝鎴栬呭簲璇ョ珛鍗抽杩樼粰鍙戦佸畠鐨勪汉鎴栧叾缁勫悎銆(鑷鍔ㄥ己鍒舵墽琛岋紝璧栦笉浜嗚处)涓庢ゅ悓鏃讹紝鍒嗘暎璐︽湰涔熸槸瀛樺偍鍜屽嶅埗鏂囦欢锛屼娇鍏跺叿鏈変竴瀹氱殑瀹夊叏鎬у拰涓嶅彉鎬с
鏅鸿兘鍚堢害鐨勭壒鑹
鑷娌烩斺斿彇娑堜腑闂翠汉鍜岀涓夋柟锛屼綘鏄杈炬垚鍗忚鐨勪汉; 娌℃湁蹇呰佷緷璧栫粡绾浜猴紝寰嬪笀鎴栧叾浠栦腑闂翠汉鏉ョ‘璁ゃ傞『渚挎彁涓鍙ワ紝杩欎篃娑堥櫎浜嗙涓夋柟鎿嶇旱鐨勫嵄闄╋紝鍥犱负鎵ц屾槸鐢辩綉缁滆嚜鍔ㄧ$悊鐨勶紝鑰屼笉鏄鐢变竴涓鎴栧氫釜鍙鑳芥湁鍋忚佺殑涓浜哄彲鑳界姱閿欍
淇′换鈥斺旀偍鐨勬枃浠跺湪鍏变韩璐︽湰涓婂姞瀵嗐傛湁浜烘棤娉曡翠粬浠澶卞幓浜嗗畠銆
澶囦唤鈥斺旀兂璞′竴涓嬶紝濡傛灉浣犵殑閾惰屽け鍘讳簡浣犵殑鍌ㄨ搫璐︽埛銆傚湪鍖哄潡閾句笂锛屼綘鐨勬瘡涓涓鏈嬪弸閮芥湁浣犵殑鑳屽奖銆傛偍鐨勬枃妗h閲嶅嶅氭°
瀹夊叏鈥斺斿瘑鐮佸︼紝缃戠珯鍔犲瘑锛屼繚璇佹偍鐨勬枃浠跺畨鍏ㄣ傛病鏈夐粦瀹㈡敾鍑汇備簨瀹炰笂锛岃繖闇瑕佷竴涓闈炲父鑱鏄庣殑榛戝㈡潵鐮磋В浠g爜骞舵笚閫忋
閫熷害鈥斺旀偍閫氬父涓嶅緱涓嶈姳璐瑰ぇ閲忕殑鏃堕棿鍜屾枃涔﹀伐浣滄潵鎵嬪姩澶勭悊鏂囨。銆傛櫤鑳藉悎绾︿娇鐢ㄨ蒋浠朵唬鐮佹潵鑷鍔ㄦ墽琛屼换鍔★紝浠庤岀缉鐭浜嗕竴绯诲垪涓氬姟娴佺▼鐨勬椂闂淬
鍌ㄨ搫鑺傜渷鎴愭湰鈥斺旀櫤鑳藉悎绾﹀彲浠ヨ妭鐪佹偍鐨勮祫閲戯紝鍥犱负浠栦滑娣樻卑浜嗕腑闂翠汉銆備妇渚嬫潵璇达紝浣犲繀椤讳粯鍏璇佷汉瑙佽瘉浣犵殑浜ゆ槗銆
鍑嗙‘鎬р斺旇嚜鍔ㄥ寲鍚堝悓涓嶄粎鏇村揩锛屾洿渚垮疁锛岃屼笖杩橀伩鍏嶄簡鎵嬪伐濉鍐欒〃鏍兼墍浜х敓鐨勯敊璇銆
鎻忚堪鏅鸿兘鍚堢害鐨勬渶浣虫柟寮忔槸灏嗚ユ妧鏈涓庤嚜鍔ㄥ敭璐ф満杩涜屾瘮杈冦傞氬父锛屼綘浼氬幓鎵惧緥甯堟垨鍏璇佷汉锛屼粯閽辩粰浠栦滑锛岀瓑浣犳嬁鍒版枃浠躲傞氳繃鏅鸿兘鍚堢害锛屾偍鍙闇灏嗕竴涓姣旂壒甯佹斁鍏ヨ嚜鍔ㄥ敭璐ф満(渚嬪傚垎绫昏处)锛屽苟灏嗘偍鐨勬墭绠★紝椹鹃┒鎵х収鎴栦换浣曚笢瑗挎斁鍏ユ偍鐨勮处鎴枫傛洿閲嶈佺殑鏄锛屾櫤鑳藉悎绾︿笉浠呬互涓庝紶缁熷悎鍚岀浉鍚岀殑鏂瑰紡瀹氫箟鍗忚鐨勮勫垯鍜屽勭綒锛岃繕鑷鍔ㄦ墽琛岃繖浜涗箟鍔°
鏅鸿兘鍚堢害涓庡尯鍧楅摼
鍖哄潡閾炬渶濂界殑涓鐐规槸锛屽洜涓哄畠鏄涓涓鍒嗘暎鐨勭郴缁燂紝瀛樺湪浜庢墍鏈夊厑璁哥殑褰撲簨鏂逛箣闂达紝鎵浠ヤ笉闇瑕佹敮浠樹腑闂翠汉(涓闂翠汉)锛屽畠鍙浠ヨ妭鐪佹偍鐨勬椂闂村拰鍐茬獊銆傚尯鍧楅摼瀛樺湪闂棰橈紝浣嗕笌浼犵粺绯荤粺鐩告瘮锛屽畠浠鐨勮瘎绾э紝鏃犲彲鍚﹁わ紝閫熷害鏇村揩锛屾洿渚垮疁锛屾洿瀹夊叏锛岃繖涔熸槸閾惰屽拰鏀垮簻杞鍚戝畠浠鐨勫師鍥犮傝屽埄鐢ㄥ尯鍧楅摼鎶鏈鐨勭壒鎬ц屽簲鐢ㄤ簬鏅鸿兘鍚堢害锛屽皢鍙浠ユ洿渚挎嵎鐨勬彁楂樺伐浣滅敓娲讳腑鐨勫悇绉嶅悎绾︺
『肆』 哈希算法是什么呢
哈希算法就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,这就好像身份证号码一样,永远都是十八位而且全国唯一。哈希算法的输出值就叫做哈希值。
原理:
哈希算法有三个特点,它们赋予了区块链不可篡改、匿名等特性,并保证了整个区块链体系的完整。
第一个特点是具有单向性。比如输入一串数据,通过哈希算法可以获得一个哈希值,但是通过这个哈希值是没有办法反推回来得到输入的那串数据的。这就是单向性,也正是基于这一点,区块链才有效保护了我们信息的安全性。
哈希算法的第二个特点是抗篡改能力,对于任意一个输入,哪怕是很小的改动,其哈希值的变化也会非常大。
它的这个特性,在区块与区块的连接中就起到了关键性的作用。区块链的每个区块都会以上一个区块的哈希值作为标示,除非有人能够破解整条链上的所有哈希值,否则数据一旦记录在链上,就不可能进行篡改。
哈希算法的第三个特点就是抗碰撞能力。所谓碰撞,就是输入两个不同的数据,最后得到了一个相同的输入。
就跟我们逛街时撞衫一样,而坑碰撞就是大部分的输入都能得到一个独一无二的输出。在区块链的世界中,任何一笔交易或者账户的地址都是完全依托于哈希算法生产的。这也就保证了交易或者账户地址在区块链网络中的唯一性。
无论这笔转账转了多少钱,转给了多少个人,在区块链这个大账本中都是唯一的存在。它就像人体体内的白细胞,不仅区块链的每个部分都离不开它,而且它还赋予了区块链种种特点,保护着整个区块链体系的安全。
『伍』 区块链应用了什么样的技术得到了什么样的转化
金窝窝分析如下:
区块链采用“共识算法”、“加密算法”和智能合约等全新的底层核心技术,可用于构建信任链接器,在信息不确定、不对称的环境下建立满足经济活动赖以运转的“信任”生态体系,在各行各业中,自然都有广阔的应用空间,重塑现有流程、完成行业的脱胎换骨式转变。
『陆』 区块链中密钥是什么(区块链密钥丢了怎么办)
区块链中的私钥和公钥公开密钥(publickey,简称公钥)、私有密钥(privatekey,简称私钥)是密码学里非对称加密算法的内容。顾名思义,公钥是可以公开的,而私钥则要进行安全保管。
私钥是由随机种子生成的,公钥是将私钥通过算法推导出来。由于公钥太长,为了简便实用,就出现了“地址”,地址是公钥推导出来的。这些推导过程是单向不可逆的。也就是地址不能推出公钥,公钥不能推出私钥。
从中我们可以看出,公钥与私钥是成对存在的。它们的用处用16个字来概括:公钥加密,私钥解密;私钥签名,公钥验签。
公钥加密,私钥解密。也就是用公钥加密原数据,只有对应的私钥才能解开原数据。这样能使得原数据在网络中传播不被窃取,保护隐私。
私钥签名,公钥验签。用私钥对原数据进行签名,只有对应的公钥才能验证签名串与原数据是匹配的。
可以用锁头,钥匙来比喻公钥,私钥。锁头用来锁定某物品,钥匙来解锁该物品。钥匙所有者是物品的所有者。事实上就是这样,公私钥对奠定了区块链的账户体系及资产(Token等)的所有权,区块链的资产是锁定在公钥上的,私钥是用来解锁该资产然后使用。比如说我要转让资产给你,就是我用我的私钥签名了一笔我转让资产给你的交易(含资产,数量等等)提交到区块链网络里,节点会验证该签名,正确则从我的公钥上解锁资产锁定到你的公钥上。
我们看到了私钥的作用了吧,跟中心化记账系统(支付宝、微信支付等)的密码一样重要,拥有私钥就拥有了资产所有权,所以我们千万要保管好私钥,不能泄露。
区块链中的私钥公钥指什么?
私钥公钥这个名词可谓是所有考题中最简单的了。
公开的密钥叫公钥,只有自己知道的叫私钥。
公钥(PublicKey)与私钥(PrivateKey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
一句话明了~
区块链私钥、公钥和地址是什么关系?区块链私钥,公钥和地址三者之间的关系是私钥生成公钥,公钥转化成为地址。所以私钥是最重要的。这三者之间是不可逆的,地址不能生成公钥,公钥也不能转化成为私钥。
首先先跟大家说明一下什么是私钥,私钥就是钱包根据密码学原理生成的一串字符,创建钱包时通过各种算法生成的随机数。私钥的作用相当于在区块链上的一个身份,你在区块链上的资半存储在你身份之中,也就是存储在你私钥身份下面的地址里,所以谁掌握了私钥,就掌握了在该身份下地址里的数字资产。私钥相当于银行卡密码,一定要离线保管好,防止被盗。
其次是公钥,公钥相当于就是区块链记账的一个交易记录,交易发生后记录入区块链中,是公开的,并且不可篡改,因为在区块链中,每发生一笔交易都要广播到区块中,大家进行记账。例如张三给王五买牛,现实生活中只是他们两人的事,牛的成交价格只要他们达成协议就可以成交了,跟全村人没有关系,他俩的交易记录由于没有公开所以不叫公钥。但在区块链中,张三给王五买牛的价格除了他们俩人达成协议以外,全村人都要进行记账,全村人记完账交易才完成,那么全村人所记的记录就叫公钥。
再次是区块链地址,它通常是由26至35个字符的字母和数字字符串组成,区块链地址主要来源于公钥,区块链地址相当于我们平时使用的银行卡卡号,是可以公开给任何人的,没有安全限制,主要作用就是用于接收和发送区块链上的数字资产。
区块链技术现在处于初期发展阶段,但因其具有去中心化、安全性、不可篡改等特性,今后的生活工作中可能会产生杀手级别的落地应用而备受各国重视。本文仅供参考,欢迎留言讨论。