❶ 区块链论文精读——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使用基于中继的传播模型,其中用户的节点连接到中继网络(具有更多资源的节点)。如果在传播过程中没有聚合,则中继和常规节点的带宽像素节省来自较小的签名大小。每个中继可以服务数十个或数百个节点,这取决于它提供的资源。
节省验证时间
❷ 区块链论文结尾可以引用文献吗
在论文的结尾引用文献是一种很常见的做法,无论是区块链论文还是其他类型的论文都可以采用这种方式。在引用文献时,需要注意以下几个方面:
引用格式:在论文结尾引用文献时,需要按照所使用的引用格式规范将所有文献资料进行排版。常用的引用格式包括APA、MLA、Chicago等,需要根据题目、作者、出版社等元素进行格式化排版。
引用内容:在引用文献时,应该只引用与论文主题相关的资料,避免引用和主题无关的内容。此外,引用的内容需要与论文中的文字和内容相符,保持论文的逻辑关系和连贯性。
引用数量:在论文的结尾引用文献时,不应该引用过多的文献。袭燃引用的文献数量应该根据实际需要进行适当控制,避免引用过多无关的文献。
在区块链论文的结尾引用文献时,可以参考一些典型的区块链论文或书籍,并将其列入参考瞎皮文献表中。这有助于钩子性结尾,引出一个新的研拍神虚究方向,也可以为分析论文的主题提供更加充分的理论依据。
以下是一些值得推荐的关于区块链的论文和书籍:
尼克·萨博:《区块链应用:其工作原理及重要的领域》, O'Reilly Media出版社,2017年
安东·安德森和唐·塔普斯科特:《区块链革命:如何改变贸易、金融、公司和我们的未来》,出版社: Portfolio,2016年
乔丹·多卡诺斯基和比塞塔·纳拉亚南:《区块链识别和解释:技术、工具和应用(识别和解决)》,Manning Publications,2018年
A.B. Călin, A. Turcanu, F. Drăgănescu:《Blockchain - A Primer》,出版社: Universe,2019年
苏黎普银行集团经济研究团队:《区块链:创造价值的多元应用》,2017年。
这些书籍和论文涵盖了区块链技术在金融、贸易、智能合约等方面的应用,以及区块链技术的本质和未来发展趋势。阅读这些资料,可以帮助您深入了解区块链技术及其应用,掌握相关技术和概念,为区块链相关研究和论文写作提供有价值的参考资料。
❸ POA(Proof of Activity)区块链共识算法
POA(Proof of Activity)算法是一个区块链的共识算法,基本原理是结合POW(Proof of work)和POS(Proof of stake)算法的特点进行工作,POW算法和POS算法的具体内容可以参考:
POW算法 : https://www.jianshu.com/p/b23cbafbbad2
POS算法 : https://blog.csdn.net/wgwgnihao/article/details/80635162
POA算法相比于其他算法可以改进网络拓扑,维持在线节点比例,需求更少的交易费同时减少共识算法过程中的能量损耗。
POA算法需求的网络中同样包含两类节点,矿工和普通参与者,其中普通参与者不一定一直保持在线。POA算法首先由矿工构造区块头,由块头选出N个币,这N个币的所有者参与后续的校验和生成块的过程。
从这里可以看到POA算法不仅与算力有关,后续的N个参与者的选举则完全由参与者在网络中所拥有的币的总数量决定。拥有越多币的参与者越有机会被选为N个后续的参与者。而后续N个参与者参与的必要条件是这N个参与者必须在线,这也是POA命名的由来,POA算法的维护取决于网络中的活跃节点(Active)。
POA算法的一个理想的基本流程是,类似于POW协议,矿工构造出一个符合难度要求的块头,通过矿工得到的块头计算衍生出N个币的编号,从区块链中追溯可以得到这几个币目前所述的参与者。矿工将这个块头发送给这N个参与者,其中前N-1个参与者对这个块进行校验和签名,最后第N个参与者校验并将交易加入到该块中,将这个区块发布出去,即完成一个区块的出块。
一个理想过程如下图所示:
在实际运行中,无法保证网络上所有参与者都在线,而不在线的参与者则无法进行校验和签名,这个无法被校验和签名的块头则会被废弃。
即在实际运行中,应该是一个矿工构造出块头后广播给各个参与者签名,同时继续重新构造新的块头,以免上一个块头衍生的N个参与者存在有某一个没有在线,而导致块头被废弃。
因此,在这种情况下,一个块是否被确认不仅与矿工的计算能力有关同时也与网络上的在线比例有关。
与纯POW相比,在与比特币(POW)同样10分钟出一个块的情况下,POA由于会有参与者不在线而产生的损耗,因此,10分钟内矿工可以构造的块的数量会更多,即块头的难度限制会降低,那么矿工在挖矿过程中会造成的能量损耗也会降低。
与纯POS相比,可以看到POA的出块流程并不会将构造区块过程中的相关信息上链,可以明显减少区块链上用于维护协议产生的冗余信息的量。
本节对上诉协议中一些参数设置进行分析
在矿工构造出块头后对块头进行校验和区块构造的N个参与者的数量选定比较类似于比特币中每一个块的出块时间的选取。比特币中选择了10分钟作为每一个块的期望出块时间并通过动态调节难度来适应。
这里N的取值同样可以选择选定值或者动态调节。动态调节需要更加复杂的协议内容,同时可能会带来区块链的数据膨胀,而复杂的协议也增加了攻击者攻击的可能性。另外暂时没有办法证明动态调节可以带来什么好处。静态调节在后续的分析(4 安全分析)中可以得到N=3的取值是比较合适的。
从上面的描述可以看到,构造新的区块的除了矿工还有从块头中衍生出来的N个币所有者。在构造出一个新的区块后,这些参与者同样应该收到一定的激励,以维持参与者保持在线状态。
矿工与参与者之间的非配比例与参与者的在线状态相关。给予参与者的激励与参与者保持在线状态的热情密切相关,越多参与者保持在线状态,能更好地维持网络的稳定。因此,可以在网络上在线参与者不够多的时候,提高参与者得到的激励分成比例,从而激发更多的参与者上线。
如何确定当前参与者的在线情况呢?可以最后第N个参与者构造区块时,将构造出来但是被废弃的块头加入到区块中,如果被丢弃的块头数量过多,说明在线人数过低,应当调节分成比例。
同时最后第N个参与者与其他参与者的分成同样需要考虑,第N个参与者需要将交易加入区块中,即需要维护UTXO池,同时第N个参与者还需要将被丢弃的块头加入新构建的区块中。
为了激励其将废弃区块头加入新构建的区块中,可以按照加入的区块头,适当增加一点小的激励。虽然加入更多的区块头,可以在下一轮的时候增加分成的比例,应当足够激励参与者往区块中加入未使用的块头了(这里参与者不可能为了增加分成而更多地加入区块头,每一个区块头都意味着一位矿工的工作量)。
一个参与者如果没有维护UTXO池则无法构造区块,但是可以参与前N-1个的签名,因此为了激励参与者维护UTXO池,作为最后一个构造区块的参与者,必须给予更多的激励,比如是其他参与者的两倍。
从3.2的描述中可以知道一个用户必须在线且维护UTXO池才可能尽可能地获得利益。这种机制势必会导致一些用户将自己的账户托管给一个中心化的机构。这个机构一直保持在线,并为用户维护其账户,在被选为构造区块的参与者时参与区块的构建并获取利益。最后该机构将收益按照某种形式进行分成。
上面说到参与者必须用自己的密钥进行签名,而托管给某个机构后,这个机构在可以用这个密钥签名构造区块的同时,也有可能使用这个密钥消费用户的财产。这里可以采用一种有限花销的密钥,这个密钥有两个功能,一个是将账户中的部分财产消费出去,另一个是将所有财产转移到一个指定账户。在托管的时候可以使用这个密钥,在被通知部分财产被花费后可以立即将所有财产转移到自己的另一个账户下,以保证财产的安全。
从上面的分析可以看到,POA的安全性与攻击者所拥有的算力和攻击者所拥有的股权有关。假设攻击者拥有的在线股权占比为 ,则攻击者的算力需要达到其他所有算力的 倍才能达成分叉。假设攻击者股权总占比为 ,网络中诚实用户的在线比例为 ,则攻击者的算力需要达到其他所有算力的 倍才能达成攻击。
攻击的分析表格如下:
从上文的分析可以看到,POA算法相比于其他算法可以改进网络拓扑,维持在线节点比例,需求更少的交易费同时减少共识算法过程中的能量损耗。同时,PoA协议的攻击成本要高于比特币的纯PoW协议。
参考文献:Proof of Activity: Extending Bitcoin’s Proof of Work via Proof of Stake
❹ 怎么在知网数据库里利用高级检索查找2000年以来有关国内微信营销的风险及策略
同学们好!欢迎大家回到信息检索微课堂,上节课为大家讲解了如何利用知识元检索,解决专业学习及日常生活中遇到的问题。今天为大家带来中国知网高级检索利用介绍,大家在利用一框式检索时,可能会遇到如下问题,我想要检索某一著名学者在一定时间段内关于某一主题的研究成果,这时仅仅依靠一框式检索就显得捉襟见肘了。利用高级检索即可完美解决上述问题。
一、进入方式
进入中国知网后,点击一框式检索右侧高级检索,即可进入高级检索页面。
高级检索分为高级检索、专业检索、发文检索以及句子检索四个模块。今天为大家介绍前两种模块。
二、使用介绍
(一)高级检索
在高级检索页可利用布尔逻辑词AND、OR、NOT对各类检索条件进行串联,起到组合检索的作用。其中涉及各类选项含义如下:
1.“ + - ”可以自定义增加和减少检索字段;
2.“并且/或者/不含”表示检索词之间或检索字段之间的逻辑关系;
3.“词频”是指该关键词出现的频率(目前不能修改,默认是至少出现一次);
4.“精确”是输入的检索词在检索结果字序、字间间隔是完全一样的;
5.“模糊”是输入的检索词在检索结果中出现即可,字序、字间间隔可以产生变化。
例如需要检索与“图书馆”主题相关且作者单位为“山西工商学院”在2010至2020年之间发表的文献,即可按照以下方式进行检索。
(二)专业检索
进入专业检索界面。界面的左侧分别是检索条件表达式的输入框,期刊发表时间和期刊来源;右侧是基本语法的介绍和示例。
SU=主题、TKA=篇关摘、TI=题名、KY=关键词、AB=摘要、FT=全文、AU=作者、FI=第一作者、RP=通讯作者、AF=作者单位、JN=期刊名称、RF=被引文献、RT=更新时间、YE=期刊年、FU=基金、CLC=中图分类号、SN=ISSN、CN=CN号、CF=被引频次。
使用示例示例:
1.TI='生态' and KY='生态文明' and (AU % '陈'+'王' ) 可以检索到篇名包括“生态”并且关键词包括“生态文明”并且作者为“陈”姓和“王”姓的所有文章;
2.SU='北京'*'奥运' and FT='环境保护' 可以检索到主题包括“北京”及“奥运”并且全文中包括“环境保护”的信息;
3.SU=('经济发展'+'可持续发展')*'转变'-'泡沫' 可检索“经济发展”或“可持续发展”有关“转变”的信息,并且可以去除与“泡沫”有关的部分内容。
4.TI='转基因$ 2'可检索在篇名中“转基因”至少出现2次的文献。
5.KY=xls('区块链') AND KY=xls('金融科技') 可检索到关键词同时包含“区块链”和“金融科技”的中英文文献。
这就是本次信息检索微课堂的所有内容啦,大家学会了吗?希望可以对大家的专业课程学习有所帮助,在上节课中为大家留下两个问题,本期公布正确答案,词典模块共有七大部分,上节课为大家讲解了六种模块。以下是本次的课后小练习,大家知道答案可以将答案写在评论区,希望大家积极参与,正确答案将在下期公布。我们下期再见啦!
❺ 比特币与我们的世界(下)
文接《比特币与我们的世界(上)》
理想与现实
随着比特币的不断发展,比特币的技术联盟也在逐步完善整个体系的构建。轻量化钱包,正是他们的一种改良试验。轻量化钱包本身并不会保存全部账本,而是仅仅保留与自己相关的交易,这样就极大减轻了自己的体量,非洲酋长也就不再需要记录我去超市买羽绒服这件事了~。
埃森哲发明的一种采用“变色龙散列”(Chameleon Hash)密钥的可编辑区块链技术也在试图解决我们少年时留下的放荡不羁的交易记录。