区块链fabric面试题
❶ 如何创建属于自己的 fabric 区块链
这个是需要借助平台进行创建。
IBM中国研究院开发的超能云(SuperVessel)平台提供了给区块链爱好者、开发者的区块链开发测试环境。通过该平台,用户能够免费、超快速创建基于Hyperledger Fabric的多节点区块链、并在自己的链上花式玩转智能合约。
当然,国外的去中心化内容分享平台DECENT也是可以创建的。
❷ 区块链是什么怎么理解区块链应用呢
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
说说区块链的社会或者经济意义吧。以前的很多科技,其实都是致力在“生产力”这一块,比如说人工智能,它是生产力的一种进步。而区块链,对生产关系有很大的改进,致力的是生产关系。那么为什么这么说?
因为所谓的生产关系,其实就是人和人之间、商业伙伴之间,如何做生意。而这些东西,原来都是在人互相之间的认知过程中,并没有用什么特别的程序,把它程序化,或者量化。
比如我跟你现在是好朋友,我们就可以做生意,如果有人挑拨我们的关系,我们不是好朋友了,我们就不做生意了,即使我们做生意能够赚钱,我们也不干,因为大家互相之间已经没有任何信任了。
而区块链,它其实是由于数据都经过各方面节点的认证,同时备份,所以我的数据,是尽可能真实且肯定不能篡改的,那么既然这样,你相信我的数据,你就可以在此基础上,做一个程序编程,然后把这些数据,可以用来做什么样的商业合同、商业合作的这个“生产关系”,给程序化。这样大家就相信数据,相信算法编出来的程序,而由于你相信这个数据,相信这个程序,你就可以在这个程序上去开发各种APP,这些APP就是生产关系,就是到底去做什么生意。这个就是:区块链其实是对“生产关系”的一种重构。
❸ 有对IBM Hyperledger fabric架构有更深入了解的吗
Hyperledger fabric和公有链的区别见我在这里的回答。 区块链是什么,如何简单易懂地介绍区块链? - 知乎 Hyperledger-fabric算是目前在联盟链(私有链)这领域做得最成熟的了。新版本(v1)的整个结构大概是这样: 首先,链上有些chaincode(链码),可以理解为智能合约,总之是已经同意的逻辑。 然后一笔交易可以指向并触发这些合约,然后得到一个输出,这个输出也会被写在交易里。 此外,新版本相比于旧版本的变化是,整个网络的节点被分为两种(client我不认为是网络中的节点,因为不参与共识)。一种叫endorser(批准者),一种就是普通节点(peer)。此外还有某个叫做orderer(排序)的功能模块,有些节点可以身兼orderer,这个模块的主要功能是负责给交易排序和打包成区块。 交易的过程是这样: 1,首先,每个链码都有规定的批准者,假设我们考虑一个用于汽车交易的链码,它规定的批准者有A,B,C三个节点,比如说,这个链码规定了如下逻辑:这个交易生效的前提是A,B,C中的两个批准了这笔交易。 2,这个时候,假设用户小明要买车,他生成一笔交易请求用于触发这个用于交易的链码,他把这个请求发给A,B,C三个节点等待批准。 3,如果请求无误可信,A,B,C三个节点认可了这个请求,他们会直接进行运算生成结果然后写成交易反馈给用户(这个时候并不写入区块链,或者他们管这个叫账本)。 4,用户收到返回的交易之后,如果确认返回的交易结果一致,则把交易发给排序模块,然后排序模块将所有收到的交易根据时间排序,打包形成区块,然后发给所有节点。注意,这里排序模块不对交易进行任何验证,也就是不管他们收到的交易是不是得到了足够的批准,只要格式对,他们都打包进区块。 5,所有节点验证每笔交易是不是得到了足够的批准,如果是,则注明有效交易,否则著名无效交易,但不论结果如何,所有交易都会被写进账本。 6,最后,如果交易成功,节点通知用户交易已经加入账本。 相比于之前的版本,v1多了这些东西: 1,排序模块从逻辑上被拆了出来,然而实际上节点可以兼职排序。 2,多了批准者这个东西,也就是说,只有批准者会知道你的交易的详情,而其他节点在验证的时候只验证是不是得到了规定的批准者的批准。 3,我这里没写,但是多了一个叫通道的东西,不同的通道本质上就是不同的独立的区块链。 注:我不是这个项目的参与者,所以以上的介绍完全基于个人看他们说明文件的理解,他们文档里对于区块链的一个核心问题——存在恶意节点的情况所言甚少,所以我也不清楚他们对于恶意节点有多高的容忍度。 但是,光从这个结构本身看,的确,v1增加了很多功能,结构也很清晰,很灵活,可以支持不同的应用场景。然而,从理论的角度讲,并没有多少创新性可言,区块链技术的目前的两个主要问题——scalability(可扩展性)和私密性,它都没有解决。尽管它号称解决了这两个问题,实际上还是建立在牺牲可靠性和安全性的基础之上的。
❹ 为什么说区块链岗位招人全靠忽悠
然而,这些无辜的员工,机会又在哪里呢?说白了,部分区块链创业者,一心想着“空手套白狼”,通过“忽悠”的方式,层层剥削。利用不对称的行业信息,使得区块链、数字货币等项目被过度包装,给人一种充满“希望”的感觉。这部分区块链创业者与生俱来的“劣根性”,在一定程度上导致了行业呈“病态”的发展趋势。
某些区块链创业者高呼要拥抱时代、拥抱变化、拥抱未来,强调着去中心化“公平”的魅力。但现实中却为一己私利,伤害了求职者等相关群体的利益,这本身就是一种极大的不公平。
而信息的不对称,并不是永存的。区块链、数字货币等都是值得关注的领域,但却不是可以一直让部分创业者当作无限挥霍的资本。而对于想要加入其中的求职者,还是要擦亮眼睛,否则一不留神就可能“大跌眼镜”。
❺ 区块链在金融领域的潜在应用场景有哪些
因区块链技术最先产生的数字货币对金融领域造成巨大的冲击,研究和应用区块链技术成为当今金融领域的一项重要任务。从本质上来说区块链技术仍然属于一种技术手段、工具,在金融领域应用和在实体经济领域的应用都是平行的,既有各自的相对独立性,但又有一定的交叉,也就是说对实体经济的推动作用是间接的。 1、无论金融还是实体,供需之间交易的基础之一是信任,现行的银to企、企to企、企to人等都是以货币为纽带。而货币的发行权在国家,经营权在银行,随着区块链技术的进一步普及和广泛应用,今后企业与企业,或个人与个人之间可以自组织发行数字货币(数字信用),银行的地位将从目前的垄断经营变成市场平等竞争经营。所以金融领域广泛应用区块链技术对实体经济的影响是间接的。 2、区块链技术是现实(实体)与虚拟之间的桥梁,通过区块链技术可以对现实世界在虚拟世界里进行再造、重构和新定。如现实的纸币在虚拟世界里的数字货币,现实股票交易在虚拟世界里的股票数字化交易,现实的进出口贸易在虚拟世界里的数字结算、数字清关、数字单证、票据等等,可极大的提高了业务流程的效率,节省交易的成本。目前所有交易都离不开银行,银行在交易中起到了中心枢纽的作用,银行应用区块链技术必定提高其结算的效率,间接促进了实体经济的效率,但今后这种影响会逐步减弱。因为区块链技术最大的特点是去中心化,它的分布式记账系统就是一个无中心的网络系统。 3、区块链技术的应用实际上是将目前互联网流动的信息价值化和信用化,通过区块链将互联网内的有(使用价值、交换价值、文化价值)的信息,进行重组和新构形成价值互联网,其意义十分重大,无论是对金融行业还是实体经济都将带来革命性的促进作用。
❻ 主流区块链技术有哪些
本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。区块链技术的流派未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3 Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。第三是按照梅兰妮· 斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的The DAO。第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。主流区块链技术平台了解流派划分,仍是只能用来指点江山,吹牛论道,要动手,总要有个切入点。区块链货币据说已经有上千个了,但值得关注的技术平台大概只有数十个,而如果要进入区块链开发领域,打下一个好基础,练出一身好功夫,捞到几个好offer,则值得深入研究学习的平台,屈指可数。首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。比特币Bitcoin Core是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,Bitcoin Core是最佳切入点,能够学到原汁原味的区块链技术。当然,Bitcoin Core是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。比如侧链技术的主要领导者Blockstream是由密码学货币元老Adam Back领衔的,而Blockstream是Bitcoin Core最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。但比特币作为一个典型的区块链1.0系统,是不是支撑其他类型区块链应用的最佳技术平台,存在很大的争议。另外,也不是所有人都有能力和必要精通区块链底层技术。所以对那些急于冲到区块链领域里做(quān)事(qián)的人来说,可能更直截了当的学习目标是以太坊和Hyperledger Fabric。在以太坊上面用Solidity进行的智能合约开发是切入区块链开发最简单的方式,没有之一。以太坊的理想非常宏大,由于配备了强大的图灵完备的智能合约虚拟机,因此可以成为一切区块链项目的母平台,是驮住整个区块链世界的大乌龟。在以太坊上开发一个类似比特币的加密货币,是一个不折不扣的小目标。一般有经验的开发者在文档指导下,半天到一天即可入门。问题在于,入门以后又如何?靠写Solidity是否就可以包打天下?这是大大存疑的。我们也可以反过来说,如果以太坊+Solidity是区块链的终极解决方案,那么怎么还会出现那么多区块链技术门派呢?特别是,以太坊似乎并没有给现实世界中巨型的中心化组织们留下一条活路,这种彻底不妥协的革命态度有可能也成为以太坊推广的障碍。当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。但尽管如此,跟其他区块链2.0平台相比,以太坊提供的开发环境是最简单最完善的。初学区块链的人绝对有必要学习以太坊,从而对区块链和智能合约建立起一个最“正宗”的认识。主流区块链技术平台的第三支就是Fabric,它是Hyperledger的第一个也是最知名的孵化项目。 Fabric最早来自IBM的Open Blockchain项目,到2015年11月,IBM将当时已经开发完成的44,000行Go语言代码交给Linux基金会,并入Hyperledger项目之中。在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入Open Blockchain,随后改名为Fabric。到目前为止,Fabric与Intel提供的Sawtooth Lake并列为Hyperledger的一级孵化项目,但前者得到的关注远超后者。从技术角度来说,Fabric思路不错,重点是满足企业商用的需求,比如解决交易量问题。众所周知,比特币最大的短板是它每秒钟7个交易的上限,完全无法满足现实需要。而Fabric目标是实现每秒钟10万交易,这个量接近刚刚过去的双十一交易量瞬时峰值,完全可以满足正常条件下的行业级应用。Fabric用Go语言开发,也提供多种语言的API。特别值得一提的是,Fabric比较充分地运用了容器技术,比如其智能合约就运行在容器当中。这也是Go语言带给Fabric的一项福利,因为Go语言静态编译部署的特征很适合开发容器中的程序。Fabric还有一些特点,比如其membership服务可以设置节点准入审查,这是典型的联盟链特征。再比如其共识算法是可定制的。Fabric的短板是体系较为复杂,虽有文档,但缺少经验的开发者学习起来障碍比较大。然而由于其定位清楚,迎合了不少企业的心态,所以已经有多家机构在基于Fabric秘密研发行业内的联盟链项目。
❼ hyperledger fabric 部署的区块链,是否能够动态添加vp 节点
这个是一个纯技术的东西,太负责了,不知道如何去解决。建议去咨询专业的技术人员或者去找官方解决。
普银是经由三方仓储、鉴定、评估、确权的优质藏茶资产,经由加密数字化发行的本位制数字货币,普银严格按照其运营指导大纲——《本位制数字货币白皮书》理念践行。也是一种基于区块链技术开发的数字货币。
❽ 企业应用区块链面临的问题是什么
1.你到底想完成什么?
仔细看看你的要求,问问自己是否真的需要区块链。您是否需要为区块链提供的协议提供额外的保证,还是仅仅需要一个分布式数据库?
2.你有多信任你的合作伙伴?
不受信任的商业伙伴会严重影响区块链项目。而且,他们还可能影响区块链的工作证明或风险证明。
3.你需要怎样公开或开放?
谁需要参与你的区块链?公共区块链与比特币或Ethereum之间有一个连续体,最小的、最小心控制的区块链。我可以想象一些特殊用途的公共区块链,例如电力微网。我可以想象,金融服务中的区块链只服务于一小部分合伙人,本质上是私有的。一个只服务于一个组织的区块链,它可能看起来像区块链,但它没有任何价值。
4.您的数据集成问题是什么?
企业区块链面临的最大问题可能不是协议,而是集成了区块链参与者使用的所有遗留数据格式和数据结构。卫生保健区块链就是一个很好的例子。有数百种医疗记录格式在使用,任何医疗区块链都必须做一些额外工作来处理这些格式。任何跨越企业边界的区块链(甚至是企业边界内的区块链)都需要处理数据集成问题,解决这些问题可能比构建区块链本身更加困难。
5.如果你需要“矿工”,他们会是谁,你将如何补偿他们?
在大多数当前的区块链中,包括比特币和以太币,“矿工”都在验证区块链的一致性和添加块。他们不会免费做这项工作。数字货币ICO非常流行,而且很容易用加密货币支付矿工(毕竟,这就是比特币和以太币的做法),但很难想象企业区块链项目也像这样做。
6.你的性能要求是什么?你将如何满足他们?
比特币和Ethereum区块链目前每秒处理大约12个事务。对于许多企业应用程序来说,这个速度太慢了,差了几个数量级。你需要考虑你需要什么样的性能,以及你将如何实现。有许多可能的解决方案,包括比特币 Lightning Network ,更换矿工执行的计算密集型 “proof of work”(工作证明),还有被许可的区块链,比如 Hyperledger’s Fabric。
7.有没有法律上的问题?
最近,我看到几个人问区块链应用程序是否可以遵守GDPR(一般数据保护条例)和其他规定。这无疑是一个未知的领域。我认为答案是区块链不能遵守;答案将取决于您在区块链中存储的数据、数据的使用方式以及区块链的私有或公开程度。
❾ 如何通俗的理解ibm区块链技术hyperledger-fabric中的共识算法pbft
1、区块链的技术是什么? 如果我们把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。
❿ 区块链公链开发很难吗国内有几家企业可以做
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
而这样的技术想要投入应用,最大的一个问题就是“不可能三角问题”
即无法同时达到可扩展性(Scalability)、去中心化(Decentralization)、安全(Security),三者只能得其二。
市场上目前存在的公链项目,大多难以大规模投入使用。