编者按:区块链涉及到的技术很多,从互联网底层到不明觉厉的密码学,可是往往关注币价者多而研究技术的人少。牛市的时候,大家为了炒币也会努力学习,熊市的时候,反正也没啥事,我觉得可以更加努力学习。作为一个文科生,我当然会有很多理科生看起来觉得很白痴的问题。作为一个记者,我不难找到业内懂的人用人话给我解释,而且他们往往不会当面嫌弃我。这是小明学习笔记第四期,学习的是VRF。之前第一期学习的是虚拟机,第二期是跨链,第三期《小明学习笔记|一文看懂互联网TCP/IP协议》,之后想学习有开源历史和文化等。如果有其他有趣问题,欢迎投稿和提问。话说这篇小明学习笔记真的拖了太久,本来在设想中就是特别短的一篇,但是由于云栖大会、公链101等各种栏目和编辑部琐事,实在是已经变成了“小明更新笔记日,例会无忘告主编”了。VRF这个东东,在不少区块链项目中都会听到,比较火的Algorand和Dfinity的共识机制都用到了它。它的全称叫VerifiableRandomFunction,那它跟一般的随机函数有什么不同?有什么用,为什么区块链需要用到VRF?这次被我骚扰的是资深全栈工程师黄祺,他曾在BFTF区块链知享会中介绍区块链中VRF的应用。在区块链中,大部分的共识算法,无论是POW、POS,或是由他们衍生出来的DPOS,都需要选出一堆或者一个节点来参与共识或者打包区块,这个过程虽然会有持币情况、设备配置、信誉等各种因素影响,但必须是随机的、无法被预测的。这时候就可能会用到随机算法。在BFTF的分享沙龙上,黄祺解释,可验证随机函数可以看作是一个随机预言机,就是可以通过任意的一个输入,获得一个随机数输出。可验证随机函数比随机预言机多了一个非交互的零知识证明,可以用来该随机数输出的正确性,表明这个随机数的确是某个人生成的。先说RO,有两个特征:1、对于不同的Input,Output的值是随机的,并且均匀分布在值域范围内。2、对于相同的Input,它得到的Output一定是相同的。举例说明一下,假设某公链网络用普通的RO选节点,有可能是这样的情况:假设全网有100个节点,我想生成下一轮一个节点谁打包,我以某一轮的轮次作为输入,然后随机输出的值必须要是在1-100之间的自然数。这就每一轮都选出了一个打包节点的人。这里的问题是,由于输入对应的输出肯定是相同的,而输入是公开的,就使得每一轮的抽签结果变得可以被预知,攻击者可以尝试控制这个过程或者攻击特定的节点。可是如果输入不公开的话,我们要怎么保证这个输入结果没有问题呢?VRF就用到了零知识证明,让结果“可验证”。VRF的方式是,让各个节点自己抽签,如果抽中了之后,大家可以很容易地验证这个结果确实是你生成的。具体过程有可能是这样的:假设现在是round10,节点们可能会轮流抽签,以节点自己的私钥+一个全网都知道的随机数作为输入,生成了一个随机数;设置一个条件:100个节点轮流抽签,谁先抽出来的随机数大于10,就是这一轮的打包者。假设5号节点抽到了11,可是只有5号知道其他人不知道,因此他在广播这个随机的同时还需要广播一个零知识证明。通过零知识证明,全网只需要通过5号的公钥就可以验证,接受5号为这轮打包者。So,普通RO在私钥+零知识证明的作用下,抽签过程就可以在本地进行、不公开私钥同时又可以全网验证。黄祺总结,可验证随机函数一共包含四个函数:1、生成密钥,生成一个公钥私钥对;2、生成随机数输出;3、计算零知识证明;4、验证随机数输出。看完上面的之后,我们大概可以明白,VRF的目的就是要生成一个真正随机而且无法被预测的值。在区块链选出块节点的过程中,为了保证安全,随机是一个基本要求。不过,区块链选节点不单纯是随机就OK的,还要考虑到攻击成本等,所以共识机制往往加入算力和持币权益等影响因素,以增加攻击者的攻击成本。如果单纯使用随机算法,就很容易受到女巫攻击,攻击者可以廉价找大量的傀儡机来增加自己抽中的概率。这么一想,你会很容易明白为什么有那么多新型的共识算法都用到了VRF,其实它们想达到的目的跟POW的答题过程有点像,都是为了找到随机而又安全地抽取出块节点。POW被诟病的问题是功耗大和性能低,但是安全边界明显,而且比特币运行已久都没有大问题。POS共识算法本身不需要大量算力,VRF可又以在本地抽签,所以POS共识算法用VRF的好处是功耗比较低,而且最新的算法,验证零知识证明的速度已经非常快。有不少知名的公链项目都用到了VRF,包括本体、Cardano、Dfinity和Algorand。不同的项目用到VRF的不同点主要在于是怎么产生一开始的输入,以及输出要怎么用。以下是VRF在一些项目中的作用:根据本体官网,VBFT的每轮共识中:根据VRF从共识网络中选择备选提案节点,各个备选节点将独立提出备选区块;根据VRF从共识网络中选择多个验证节点,每个验证节点将从网络中收集备选的区块,进行验证,然后对最高优先级的备选区块进行投票;根据VRF从共识网络中选择多个确认节点,对上述验证节点的投票结果进行统计验证,并确定出最终的共识结果。所有节点都将接收确认节点的共识结果,并在一轮共识确认后开启新的共识。根据上交所技术公司的朱立解释,Algorand和Dfinity的共识算法中用VRF的套路大概是这样的:输入值由前一个随机数和某种代表高度、轮次的变量进行组合,然后用私钥对之进行签名,最后哈希一下得出最新的随机数。他认为:“这样产生的随机数旁人很容易验证其合乎算法,"V"就这样得到了;而哈希返回值又是随机分布的,“R”也因此得到保证。在此过程中,为降低操纵结果的可能性,有两个注意事项:A)签名算法应当具有唯一性,也就是用同一把私钥对同样的信息进行签名,只有一个合法签名可以通过验证——普通的非对称加解密算法一般不具备这个属性,如SM2。如果用的签名算法没有这种uniqueness属性,那在生成新随机数的时候就存在通过反复多次尝试签名以挑出最有利者的余地,会降低安全性。B)避免在生成新随机数时将当前块的数据作为随机性来源之一,比如引用本块交易列表的merkleroot值等等,因为这样做会给出块人尝试变更打包交易顺序、尝试打包不同交易以产生最有利的新随机数的余地。在设计和检视新的共识算法时,以上两个注意事项是要特别留意的。VRF的返回结果可以用来公开完成节点或节点群体的选择,也可以私密地完成选择。以Dfinity为例,它是利用mod操作来唯一、公开地确定一个Group。Algorand、OuroborosPraos是私密选择的范例,大致套路是对VRF的最新返回值,配上轮次等变量后用私钥进行签名并哈希,如果哈希值小于某个阈值,节点就可以私密地知道自己被选中。这种方法很可能在网络节点数较多时的表现会更稳定,否则幸运儿个数上下波动会较大,进而影响协议表现,包括空块和分叉。”根据CSDN博主Omni-Space解释,Cardano的共识机制运作如下:首先是一些术语及作用的解释:在Cardano的运行中,时间被分为slot。每个slot只能产生一个块,若这个块有问题,或者应该产出这个块的“矿工”(也就是stakeholder的候选人)不在线,或者产出的块没有广播给大多数人,那么这个slot是当作废弃的,也就是会跳过这个slot的块。图片来自黄祺《区块链中VRF的应用及原理解析》多个slot为一个epoch,权益的计算是以每个epoch开始前的历史来计算,也就是说在这个epoch中所产生的权益变化不影响当前的这个epoch中的slot的出块者的选择和其他和历史相关的东西。当前epoch中所产生的这些历史只能在以后的epoch中生效。每个epoch的开头有个genesisblock(注意是每一个epoch,不是整个链),这个genesisblock不会上链(整个链初始的那个genesis会,当然这一点可以根据实现自己决定),而是当前这个节点(矿工)自己在内存中生成,这个genesisblock会记录好当前这个epoch中的可能参与出块的stakeholder的候选人,及一个随机种子ρ。stakeholder是权益持有者,也就是潜在矿工,在Cardano的实现中权益stake并不是直接指代有多少Ada,而是和有多少Ada相关联(更详细的我不是很清楚),同时要成为一个stakeholder需要有2%的Ada才行。当然论文中不关注这些,直接定义了stakeholder。而stakeholder并不一定要参与出块,只有记录在每个epoch的genesisblock中的stakeholder才能参与当前epoch中slot的出块,所以记录在每个epoch中的genesisblock中的stakeholder叫做“stakeholder候选人”由这些epoch衔接而成的链就是由Ouroboros共识产生的链,这个链的基本属性和Bitcoin相同(如每个块包含上一个块的hash等等)。SlotLeaderSelection是指根据权益占比选择按概率选择出当前slot的出块者。指代的是在当前的epoch中,按genesisblock中记录的stakeholder候选人的权益分别占用的比例为这个epoch中的每一个slot选择出块者的概率(注意这个概率是独立事件,也就是有可能在同一个epoch中重复选出相同的人)。在论文中用函数来表示按照权益占比为概率从stakeholder候选人选出该slot的出块者U。注意在论文中只是定义了这个函数具有这样的作用,在Cardano中使用了“follow-the-satoshi(fts)”算法(fts具有论文中定义的这个函数的性质)来选出这个slotleader也就是出块者。securemultipartycomputation(MPC)MPC协议,参与者使用一种能达成MPC的密码学协议来参与生成下一轮epoch的随机种子ρ,这个MPC协议必须是保证guaranteeoutputdelivery(G.O.D,下文会解释)。这个随机种子ρ是用于SlotLeaderSelection中的。在已有这些基础术语及作用的基础上,现在来简单介绍一下的工作流程:如图所示,执行流程如下:(注:我并不保证这个流程是完全符合Cardano源码的实现(毕竟我没看过),但是是符合论文的描述的):从链的真正创世块开始,硬编码进入了一些公钥和这些公钥vk对应的权益s及初始的种子ρ,之后,这个epoch会采用这些基础信息继续运行。每个节点自己独立运行代码,根据当前epoch的种子ρ,执行F(比如follow-the-satoshi),把genesisblock中的权益,ρ和slot的index作为输入,根据概率获得当前这个slot应该由谁出块。若发现是自己出块,则执行打包交易等等操作,和bitcoin没有太大区别,但是除了基础工作之外,还会生成一个随机数,但是这个随机数不放到链(块)中,而是放一个承诺(后文解释)。若不是自己出块,则等待出块者出块并广播。收到这个块的时候就进行和bitcoin类似的检查,要是长时间未收到(超出这个slot的时间)则会认为这个slot的块废弃。在当前epoch中不断重复2的流程直到这个epoch中的所有slot结束。在整个epoch的过程中会产出一个在这个epoch参与出块者们(slotleaders)都共同认同的随机种子ρ。在自己的内存里记录好这个ρ及下一个epoch参与的stakeholders,开启下一个epoch周期,进入2的流程。以上就是Ouroboros大致执行的流程。VRF在区块链领域的运用大致如上,不过在如上场景有没有更好的解决方式,或者这个技术还能用在什么场景,还是值得讨论的问题。参考文章:随机选择算法区块链中VRF的应用及原理解析对可验证随机函数VRF的简明解释简评三个基于VRF的共识算法可验证随机函数VRF之Algorand算法图灵奖得主SivioMicali的Algorand区块链协议简介Algorand白皮书1607.01341版本Cardano白皮书VerifiableRandomFunctions我是Odaily星球日报编辑卢晓明,探索真实区块链,爆料、交流请加lohiuming,烦请备注姓名、单位、职务和事由。
Zhu Su:《大空头》作者将SBF描绘成《星球大战》主角,CZ则是头号反派:12月28日消息,三箭资本创始人Zhu Su发推称,他4月份曾在巴哈马参加一场晚宴,当时FTX创始人SBF、《大空头》作者Michael Lewis、加拿大投资人Kevin O'Leary和前白宫通讯联络主任Anthony Scaramucci等人在场。
Zhu Su表示,Michael Lewis花了几个月的时间为SBF写传记,将他描绘成Luke Skywalker,并将CZ描绘成Darth Vader。现在那些在SBF身上三倍下注的人可能已经陷得太深了,或者已经花掉了受贿的钱。他们现在醒悟也不晚,像Michael Lewis这样的人曾经创作一些好作品,但如果任凭其放任自流,真的很可惜。
据悉,Luke Skywalker、Darth Vader分别为《星球大战》的主角和反派人物。
据金色财经此前报道,SBF在以2.5亿美元保释金获释后,被软禁在其父母的住宅里。《大空头》作者Michael Lewis已经拜访SBF,可能是在谈论他在加密货币领域垮台的最新转折,他在几周内从30岁的亿万富翁变成面临115年监禁。[2022/12/28 22:11:57]
Borderless Capital完成了1000万美元的星球基金:11月24日消息,致力于Algorand生态系统的迈阿密风险投资公司Borderless Capital今天宣布完成了PLANETS.Fund,这是一个1000万美元的基金,专注于建立一个绿色数据经济。该基金将投资于围绕PlanetWatch的生态系统,这是世界上第一个建立在Algorand区块链上的去中心化的室内外空气质量监测网络。参加PlanetWatch网络的 \"PlanetWatchers\"或空气质量传感器主机因流传空气质量数据而得到PLANETS代币的奖励。PLANETS.Fund计划将筹集到的资金用于在全球范围内部署一个由数千个PlanetWatch空气质量传感器组成的全球网络。该基金还将长期持有PLANETS代币和股票。(PRNewswire)[2021/11/24 7:07:43]
凯撒文化:动物星球游戏按照元宇宙设计,上线存在不确定性:9月28日消息,凯撒文化在互动平台表示,代号为“动物星球”的游戏背景环境完全按照元宇宙的模式设计,具备时间、环境、生态三大维度要素,还引入了NFT技术。该游戏项目目前还在研发阶段,上线时间和地区受到诸多因素影响,仍存在不确定性。[2021/9/28 17:11:59]
超级星球代币GDP价格“归零”,被质疑跑路:近日数字货币项目超级星球GDP价格“归零”,行情软件显示其价格为0.009元/枚,一年内跌近90%。超级星球官方微博“超级星球Hyperland”不乏有质疑是否已跑路的声音,该项目维权群也已经建立,成员数百人。
此外,在超级星球APP里,唯一还在售的理财项目为MOF星球,购买该理财项目需勾选阅读并接受《可转换债券协议》,协议显示,债券本金总额限于7000QC,年利率高达100%-250%。一位区块链行业资深律师对对此表示,这种数字货币理财模式有法律风险,发行可转换债券,实际上就是一种变相ICO(首次代币发行)。(每日经济新闻)[2020/3/31]
网易星球主管:网易星球并没有存储任何用户数据 目前市场上黑钻交易的信息均为假:网易星球产品负责人顾费勇今天接受了网易科技的采访,顾费勇表示网易星球是基于区块链技术的生态价值共享平台,为平台用户更好更安全记录行为数据,可有效提升用户行为在整个生态内的价值。对于网易星球被质疑刻意收集用户信息并交易,顾费勇回应称网易星球并没有存储任何用户数据,用户是在区块链上进行信息记录行为,所有的用户数据仅用户个人使用私钥才能使用,任何第三方包括网易金融在内未经用户许可的情况下都没有权限查看使用用户个人数据。他们设计这个产品的初衷,其实是为了用区块链技术来重构商业价值与生态。顾费勇还提醒投资者,黑钻是依托于区块链技术,基于个人行为贡献产生的价值,只限于用户本人使用,不可以交易。因此目前市场上出现的关于一些黑钻交易的信息都是虚假的,与网易星球没有任何关系。为此也提醒用户,注意甄别信息,防止上当受。[2018/2/10]
本文来自:链内参,编译:内参君,原作者:YoavVilner,文章来源:https://www.forbes.com/sites/yoavvilner/2018/10/06/the-financ.
编者按:我甚至不知道他的性别年龄或任何过往,围绕他的重要线索包括一篇名为《Bitcoin:APeer-to-PeerElectronicCashSystem》的论文.
10月中旬,芝加哥商品交易所披露了一组比特币期货在2018年的交易数据,比特币期货在芝商所不管是日均交易量还是持仓量,都在直线增长.
编者按:本文作者迈克尔?J?凯西是麻省理工学院数字货币计划区块链研究高级顾问兼Coindesk咨询委员会主席,他最近发文称希望西方加密货币行业能够从支付宝微信引发的无现金支付革命中学习经验教训.
区块链技术虽然没有大规模的落地应用,但是已在多个领域进行了尝试,其中就包括在能源领域的应用。通过建立去中心化的能源系统,能源供应的相关信息和交易就可以直接在生产者和消费者之间进行处理.
前言 电商行业是典型的万亿美元蓝海市场。近年来,电商市场保持着快速增长的势头,2017年全球电商市场交易额达2.3万亿美元,中国以29.16万亿元位居全球首位。电商市场长期以来面临着几大痛点.