区块链解决了什么问题?
如果用一句话说明就是:去中心化。
区块链(blockquanchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本。
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性。
什么是区块链?搞懂这9个问题你就能明白
什么是区块链?搞懂这9个问题你就能明白
什么是区块链?区块链能做什么?区块链怎么赚钱?相信面对这个新鲜的名词,很多网友都表示摸不到头脑。那么到底怎么才能更好的理解区块链并且让这项新技术为我们所有呢?笔者从网上搜罗来九个十分常见的问题,希望当你读完这篇文章之后,能够对区块链有一个比较清晰的认识。
近乎万能的区块链技术
简单的说,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其核心就是分布式数据,随之带来的结果就去“去中心化”。区块链技术可以应用于我们生活中的很多场景,接下来我们就来看看区块链技术的解析吧!
1.技术是把双刃剑。当你还在用手机打游戏的时候别人已经用手机月赚钱啦!想试试佳尓武舞衣捂巴领益漆事让你的手机不再是玩具!
就像核能是一种物理技术一样,区块链在技术层面上谈,区块链是一种底层技术。
核能可以用作原子弹,也可以用作核能发电,同样,区块链可以用作产业与生活要素的管理,有可能使得社会更稳定,也可能被坏人利用为最快捷的犯罪手段。
2.离开使用层面谈技术价值都是搅浑水
作为底层技术的区块链有其运用的层面和谈法。目前,有的人在商业模式有的在硬件上谈论区块链,有的人则在权力分配的形式上谈论区块链。市场上逐渐清晰的是,区块链被用于技术组合和商业模式的设计,从硬件到软件到商业模式到金融的设计等诸多方面。但是不是每一个区块链都能发币,也不是每一个区块链都应该发币。
3.技术去中心化,应用未必
区块链的技术是去中心化,但是在上层应用上可以去中心化,也可以不去中心化。如果运用到不能去中心化的事情、产业和项目上,那就不是去中心化的;如果用于可以大家普遍参与,拥有平等权限的事情上,那就可以去中心化。
包括区块链上的币,如果国家做法定数字货币,区块链的币也是可以中心化。支持比特币运作的区块链是去中心化的,但是联盟链通常由一个和多个企业作为核心控制联盟,这又成了中心化。
技术本身与技术能支持什么样的商业和什么样的政治生态完全是两码事。
4. 是什么样的人去用什么样的工具
区块链作为一个强大的工具,其强大之处不仅是因为技术,而且是因为很多有才华的人投入了这个领域,导致这个技术的能量被放大。至于区块链的能量到底是造福于社会还是割韭菜?让世界更加动荡还是让社会更加和谐美好,都是有可能的。
正向而言,因此更多善良的人进来并达成更多的共识,国家层面有更多的立法、限制和规范,最终可以实现用这个技术给更多的人机会;负面而言,更多贪婪而不计道德的人会进来切分财富,甚至可能一些国家和地区的人还会用这一新技术实现犯罪和恐怖主义都是有可能。
5.区块链推动平民的全球化
区块链之下,全球连接的空间更紧密,6度空间在未来会变成5度乃至4度,区块链可以激发各种社群的成长。兴趣小组全球化会成为必然,未来世界会有各种各样的国际社群和峰会。
6.区块链造就共创的便利化
例如,以前国际歌星和普通人之间的链接是要通过好几道壁垒,包括,唱片公司,代理、销售渠道等。区块链时代,国际歌星把歌发在区块链技术下,每个人都有可能成为国际歌星的合伙人,可能给国际歌星写歌,也可以购买Token 获得发行收益的分红权等,享受唱片发行、下载的收益。
7.信任会变得便捷且低成本
人工智能大数据和区块链的综合作用,可以解决事实层面的争执。区块链不许篡改的特性,让几百甚至上万台机器保持同样的数据,并进行加密。基础的事实会值得信赖。在此基础上,与之相配套的有合约的有授权的相关信息都无法更改。由机器取代人工系统,打破人工操作的漏洞、作弊乃至腐败的可能,让每个人的信息都能确认到真实可信。
在此基础上,如果商业系统信任度好,大家在执行设计好的系统的过程中,人与人之间信任就会增强。
8.交互引发创意,创意产生收益
区块链是全方位的账本,有一些交流当下只是想法和创意,但是也许是未来某项事业甚至产业的起点,在以往的会计制度里,未必有价值。但是在区块链技术之下,可以将现在没看到的价值也记录下来,如果因此引发产品,创意的人可以收益。人类的各种活动都可能有价值有创造性、值得记录。
由此延伸出,比较好的区块链的应用,是可以记录创意相关模式,生意机会的介绍等内容,把有价值的东西放在一个生态中,区块链可以创立新的合作的方式。
9.未来会有更多的法律配套
区块链的世界不是无序的世界。技术会为人所用,人是理性的。
记录可以解决各种事实纠纷,也会引起更多的授权的权限、专利与创意的版权管理等诸多问题。未来会有更多的法律配套,既做到规范管理服务消费与生活,又要规避相关的风险与问题,避免和打击犯罪
区块链技术是什么?未来可能用于哪些方面?
区块链论文精读——Pixel: Multi-signatures for Consensus
论文主要提出了一种针对共识机制PoS的多重签名算法Pixel。
所有基于PoS的区块链以及允许的区块链均具有通用结构,其中节点运行共识子协议,以就要添加到分类账的下一个区块达成共识。这样的共识协议通常要求节点检查阻止提议并通过对可接受提议进行数字签名来表达其同意。当一个节点从特定块上的其他节点看到足够多的签名时,会将其附加到其分类帐视图中。
由于共识协议通常涉及成千上万的节点,为了达成共识而共同努力,因此签名方案的效率至关重要。此外,为了使局外人能够有效地验证链的有效性,签名应紧凑以进行传输,并应快速进行验证。已发现多重签名对于此任务特别有用,因为它们使许多签名者可以在公共消息上创建紧凑而有效的可验证签名。
补充知识: 多重签名
是一种数字签名。在数字签名应用中,有时需要多个用户对同一个文件进行签名和认证。比如,一个公司发布的声明中涉及财务部、开发部、销售部、售后服务部等部门,需要得到这些部门签名认可,那么,就需要这些部门对这个声明文件进行签名。能够实现多个用户对同一文件进行签名的数字签名方案称作多重数字签名方案。
多重签名是数字签名的升级,它让区块链相关技术应用到各行各业成为可能。 在实际的操作过程中,一个多重签名地址可以关联n个私钥,在需要转账等操作时,只要其中的m个私钥签名就可以把资金转移了,其中m要小于等于n,也就是说m/n小于1,可以是2/3, 3/5等等,是要在建立这个多重签名地址的时候确定好的。
本文提出了Pixel签名方案,这是一种基于配对的前向安全多签名方案,可用于基于PoS的区块链,可大幅节省带宽和存储要求。为了支持总共T个时间段和一个大小为N的委员会,多重签名仅包含两个组元素,并且验证仅需要三对配对,一个乘幂和N -1个乘法。像素签名几乎与BLS多重签名一样有效,而且还满足前向安全性。此外,就像在BLS多签名中一样,任何人都可以非交互地将单个签名聚合到一个多签名中。
有益效果:
为了验证Pixel的设计,将Pixel的Rust实施的性能与以前的基于树的前向安全解决方案进行了比较。展示了如何将Pixel集成到任何PoS区块链中。接下来,在Algorand区块链上评估Pixel,表明它在存储,带宽和块验证时间方面产生了显着的节省。我们的实验结果表明,Pixel作为独立的原语并在区块链中使用是有效的。例如,与一组128位安全级别的N = 1500个基于树的前向安全签名(对于T = 232)相比,可以认证整个集合的单个Pixel签名要小2667倍,并且可以被验证快40倍。像素签名将1500次事务的Algorand块的大小减少了约35%,并将块验证时间减少了约38%。
对比传统BLS多重签名方案最大的区别是BLS并不具备前向安全性。
对比基于树的前向安全签名,基于树的前向安全签名可满足安全性,但是其构造的签名太大,验证速度有待提升。 本文设计减小了签名大小、降低了验证时间。
补充知识: 前向安全性
是密码学中通讯协议的安全属性,指的是长期使用的主密钥泄漏不会导致过去的会话密钥泄漏。前向安全能够保护过去进行的通讯不受密码或密钥在未来暴露的威胁。如果系统具有前向安全性,就可以保证在主密钥泄露时历史通讯的安全,即使系统遭到主动攻击也是如此。
构建基于分层身份的加密(HIBE)的前向安全签名,并增加了在同一消息上安全地聚合签名以及生成没有可信集的公共参数的能力。以实现:
1、生成与更新密钥
2、防止恶意密钥攻击的安全性
3、无效的信任设置
对于常见的后攻击有两种变体:
1、短程变体:对手试图在共识协议达成之前破坏委员会成员。解决:通过假设攻击延迟长于共识子协议的运行时间来应对短距离攻击。
2、远程变体:通过分叉选择规则解决。
前向安全签名为这两种攻击提供了一种干净的解决方案,而无需分叉选择规则或有关对手和客户的其他假设。(说明前向安全签名的优势)。
应用于许可的区块链共识协议(例如PBFT)也是许多许可链(例如Hyperledger)的核心,在这些区块链中,只有经过批准的方可以加入网络。我们的签名方案可以类似地应用于此设置, 以实现前向保密性,减少通信带宽并生成紧凑的块证书。
传统Bellare-Miner 模型,消息空间M的前向安全签名方案FS由以下算法组成:
1、Setup
pp ←Setup(T), pp为各方都同意的公共参数,Setup(T)表示在T时间段内对于固定参数的分布设置。
2、Key generation
(pk,sk1) ←Kg
签名者在输入的最大时间段T上运行密钥生成算法,以为第一时间段生成公共验证密钥pk和初始秘密签名密钥sk1。
3、Key update
skt+1←Upd(skt) 签名者使用密钥更新算法将时间段t的秘密密钥skt更新为下一个周期的skt + 1。该方案还可以为任何t0> t提供 “快速转发”更新算法 skt0←$ Upd0(skt,t0),该算法比重复应用Upd更有效。
4、Signing
σ ←Sign(skt,M),在输入当前签名密钥skt消息m∈M时,签名者使用此算法来计算签名σ。
5、Verification
b ← Vf(pk,t,M,σ)任何人都可以通过运行验证算法来验证消息M在公共密钥pk下的时间段t内的签名M的签名,该算法返回1表示签名有效,否则返回0。
1、依靠非对称双线性组来提高效率,我们的签名位于G2×G1中而不是G2 ^2中。这样,就足以给出公共参数到G1中(然后我们可以使用散列曲线实例化而无需信任设置),而不必生成“一致的”公共参数(hi,h0 i)=(gxi 1,gxi 2)∈G1× G2。
2、密钥生成算法,公钥pk更小,参数设置提升安全性。
除了第3节中的前向安全签名方案的算法外,密钥验证模型中的前向安全多重签名方案FMS还具有密钥生成,该密钥生成另外输出了公钥的证明π。
新增Key aggregation密钥汇总、Signature aggregation签名汇总、Aggregate verification汇总验证。满足前向安全的多重签名功能的前提下也证明了其正确性和安全性。
1、PoS在后继损坏中得到保护
后继损坏:后验证的节点对之前的共识验证状态进行攻击破坏。
在许多用户在同一条消息上传播许多签名(例如交易块)的情况下,可以将Pixel应用于所有这些区块链中,以防止遭受后继攻击并潜在地减少带宽,存储和计算成本。
2、Pixel整合
为了对区块B进行投票,子协议的每个成员使用具有当前区块编号的Pixel签署B。当我们看到N个委员会成员在同一块B上签名的集合时,就达成了共识,其中N是某个固定阈值。最后,我们将这N个签名聚合为单个多重签名Σ,而对(B,Σ)构成所谓的 区块证书 ,并将区块B附加到区块链上。
3、注册公共密钥
希望参与共识的每个用户都需要注册一个参与签名密钥。用户首先采样Pixel密钥对并生成相应的PoP。然后,用户发出特殊交易(在她的消费密钥下签名), 注册新的参与密钥 。交易包括PoP。选择在第r轮达成协议的PoS验证者,检查(a)特殊交易的有效性和(b)PoP的有效性。如果两项检查均通过,则 使用新的参与密钥更新用户的帐户 。从这一点来看,如果选中,则用户将使用Pixel登录块。
即不断更换自己的参与密钥,实现前向安全性。
4、传播和聚集签名
各个委员会的签名将通过网络传播,直到在同一块B上看到N个委员会成员的签名为止。请注意,Pixel支持非交互式和增量聚合:前者意味着签名可以在广播后由任何一方聚合,而无需与原始签名者,而后者意味着我们可以将新签名添加到多重签名中以获得新的多重签名。实际上,这意味着传播的节点可以对任意数量的委员会签名执行中间聚合并传播结果,直到形成块证书为止。或者,节点可以在将块写入磁盘之前聚合所有签名。也就是说,在收到足够的区块证明票后,节点可以将N个委员会成员的签名聚集到一个多重签名中,然后将区块和证书写入磁盘。
5、密钥更新
在区块链中使用Pixel时,时间对应于共识协议中的区块编号或子步骤。将时间与区块编号相关联时,意味着所有符合条件的委员会成员都应在每次形成新区块并更新轮回编号时更新其Pixel密钥。
在Algorand 项目上进行实验评估,与Algorand项目自带的防止后腐败攻击的解决方案BM-Ed25519以及BLS多签名解决方案做对比。
存储空间上:
节省带宽:
Algorand使用基于中继的传播模型,其中用户的节点连接到中继网络(具有更多资源的节点)。如果在传播过程中没有聚合,则中继和常规节点的带宽像素节省来自较小的签名大小。每个中继可以服务数十个或数百个节点,这取决于它提供的资源。
节省验证时间
区块链里数字身份的意义(附一篇引发思考的优秀区块链文章)
微信作为当前互联网的基础设施和连接器,所有的价值都基于“连接”,人与人的连接,人与财的连接,人与事的连接,现在也可以人与物的连接(摩拜小程序扫码骑车),但所有的“连接”都有一个前提就是 我信任微信,信任腾讯,信任法制对互联网的规范,信任 周围的人都在用微信,这种信任追根溯源是对中心化的信任,对名誉好的企业信任,对机构,法制,社群的信任。
而如今区块链似乎可以实现区块链网络里的每个节点变成“微信”,为了形成这种去中心化的信任,我们需要给节点“微信”定义唯一可信的数字身份, 这个数字身份不仅仅是你有了区块链网络里管理你自己数字资产的私钥,还要让这个数字身份最终服务于现实生活,应用场景落地,因此还需要赋予之前提到的法制,机构,社群的信用标签。
未来的世界是分布的,并且每个节点都是可验证,可信任的,无论放在区块链还是现实世界,每个节点都变成我们大家信任的“微信”,同时我们自己也可以成为被别人信任的“微信”。
附:数字身份对于区块链的意义-刘永新(NEL)
1.特修斯之船-如何定义你自己
生活中,我们经常使用身份,我们经常会向别人介绍自己,有时会发自己的名片,有时会出示自己的身份证,可是身份的内涵究竟是什么,如何定义身份,可能很多人并不清楚。
有一个著名的思想实验叫做“特修斯之船”,特修斯之船可以在海上长久不间断航行数百年,一块木板腐烂了,就换一块新的木板,直到有一天,船上所有的木板都不是原来的木板,那么这艘船还是原来的特修斯之船吗?
人体就像是特修斯之船,细胞一直在做着新陈代谢,那么所有的细胞都更新了一遍,你还是不是原来的你?如果你的思想、性格也改变了呢?
所以,如何定义你自己好像并不是一件简单的事情。
2.生活中的身份
在生活中,我们有很多种身份,例如在公司里,你有自己的职位,在家庭里,可能是丈夫、妻子或者孩子,对于银行来说,你是他的客户,对于你的房子来说,你是他的主人,是租客的房东,对于你的车子来说,你是车主。
所以我们发现,在不同的场景中,你有不同的身份,不同的身份通常对应了不同的客体。对于银行来说,它在意的是你是不是他的客户,你在家庭里承担什么样的角色并不重要,对于车子来说,只要你有它的钥匙就可以启动它,你是不是房东它并不关心。
3.定义身份
根据前面的探讨,我尝试定义身份:
身份是关系的标识,
关系是双向的,
关系代表了双方之间的权利和义务。
所以对于不同的客体,你们有着不同的关系,你有着不同的权利和义务,有着不同的身份。
对于国家来说,你有着公民身份,通常用身份证代表,公民身份代表了你有着纳税的义务,代表着你有选举投票的权利。对于银行来说,你是他的客户,代表了你在它那里的存款和负债。对于区块链来说,你掌握了私钥,代表你拥有私钥控制的资产,私钥就是你的身份。
所以,我们不应该放弃客体而去探讨身份,重要的不是你是谁,重要的是你在别人眼里是谁。
在身份使用的过程中,包含认证和验证两个过程,例如中国人出生之后要到派出所上户口,这就是认证过程,此后出示身份证,就是验证过程。在网络上账号的注册和登录就是身份认证和验证过程。而区块链对资产所有权的认证和验证是通过共识算法达成的,可以简单的认为是51%的投票认可。
4.可信数据
中本聪在比特币的创世块中写入了一句话:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,这句话是当天泰晤士报的头版头条,意思是“总理大臣第二次拯救银行于危险边缘”。
很多人认为,这句话体证明了泰晤士报当天一定发表了这篇文章,体现了区块链具备的存在性证明的能力。
然而,区块链只能保证写入数据的不可篡改,无法保证数据的真实性。我们之所以认为这篇报纸文章一定存在,是因为写入区块链的是中本聪,数据的真实性是由中本聪的信誉保证的 。
实际上,数据的真实性是通过两种方式产生的:
去中心化方式,或者说51%民主投票,例如比特币交易数据的真实性实际上是通过51%算力投票的方式保证的,对于链外数据上链时,也可以通过人工投票的方式保证数据的真实性,例如去中心化预测平台Augur。
但是,不是所有的共识都能通过少数服从多数的方式达成。
例如一个艺术品究竟是真还是假,是通过专家鉴定的,而无法通过少数服从多数,鉴定结果的可信度是通过专家的信用保证的。对于一个人是不是中国人,是在上户口的时候,由派出所认证的,而不是由全体中国人投票认证的。所以对于特定的场景,有时候不得不通过公认的权威来确认事件的真实性。
通常,链上原生的数据,例如代币的分发、交易等数据可以非常方便的通过少数服从多数的投票机制来达成共识,但是对于链下数据上链时,其数据真实性需要依赖上链者的身份信誉背书,有时候也需要法律手段通过问责机制来威慑造假行为。
5.可信数据上链
所以对于链下数据的上链,数据的真实性可以通过少数服从多数的投票或者权威身份的信誉背书完成。
可信数据上链的基本流程应该是这样的:
首先,你要有个数字身份,这个身份的认证有可能是通过51%的投票产生,也有可能是通过权威认证。
然后在数据上链的时候,需要附加上身份信息。
数据使用者获取到数据后,对身份信息进行验证,然后根据验证结果决定数据的可信度。
6.身份管理
当我们使用网络应用时,需要注册、登录账号,有时候,为了方便,我们会使用第三方应用来注册及登录,这种身份托管方式虽然提供了便利性,但是第三方应用其实可以在未经我们授权的情况下登录应用,并进行操作以及获取个人数据。
所以理想情况下,我们希望能够兼顾便利性和安全性,我们希望能够通过同一个账号登录不同应用,并且完全是由自己控制。
数字身份大体可以分为三类:
数字主权身份,在中国表现形式是CA证书、EID等方案,要满足政府监管,兼容国家法律,必须知道主权身份。
数字网络身份,即各种APP的登录账号
数字资产身份,即各种区块链资产的地址及私钥
数字身份管理应用应当能兼容这几种身份,能够实现身份的认证、验证、注销、丢失找回等。
还应当有一个数据管理平台,实现数据的存储及权限管理。
区块链平台可以作为数据存证平台,将数据的指纹、读写记录等进行存证,智能合约可以实现身份的验证,通过加密技术避免多余信息泄露,也可以通过多重签名实现密钥找回。同时,区块链也是数字资产的登记平台。
在此基础上,可以实现丰富的应用场景,例如:APP登录,电子合同签署,供应链,版权保护,资产数字化。
当数字身份和区块链结合之后,再加上数据管理平台,就可以实现联盟链的需求,例如银行间的KYC联盟。联盟链的本质是基于身份的数据互信,是不是一条单独的链并不重要。
而区块链资产和主权身份关联起来后,就可以满足政府监管需求,可以在应用层增加满足监管需求的监管策略。
因此,未来区块链要想大规模应用,必须要解决数字身份问题,数字身份是链上和链下的桥梁,是区块链走向合规监管的桥梁。
而随着构建在区块链上的应用和资产越来越多,因为有统一的身份标识,大数据分析也成为可能,因此,大数据和区块链的结合,也离不开数字身份。