区块链研究总结 —— FISCO BCOS

【区块链 + 人才服务】紫金研究院知识库管理系统 | FISCO BCOS应用案例 中国移动紫金(江苏)创新研究院有限公司采用国产开源联盟链底层平台 FISCO BCOS,打造了区 块链知识库管理系统。 阅读详情

本文为区块链技术总结及发展展望一文的子章节。

FISCO BCOS平台是金融区块链合作联盟(深圳)(以下简称:金链盟)开源工作组以金融业务实践为参考样本,在BCOS开源平台基础上进行模块升级与功能重塑,深度定制的安全可控、适用于金融行业且完全开源的区块链底层平台。金链盟开源工作组的首批成员包括以下单位:微众银行、深证通、腾讯、华为、神州数码、四方精创、博彦科技、越秀金科、亦笔科技等9家单位。

FISCO BCOS 最初源自以太坊C++版本,经过多年的发展,在可扩展性、性能、易用性等方面进行了重大修改。我们通过梳理FISCO BCOS的发展历史以及对比以太坊的开发生态,列出其特点。

FISCO BCOS的特点

  • FICO BCOS 平台对以太坊的众多功能删繁就简,保留了区块链最核心的特性。熟悉Solidity和以太坊的开发人员可以迅速的搭建起联盟链和开发智能合约,并可以参考和使用大量的用于以太坊的成熟框架和库,加快开发速度。

  • 去掉了代币逻辑,在生成区块时不会发行和奖励代币。由于去除了代币,gas的消耗不和代币挂钩。FISCO BCOS保留了智能合约引擎的gas控制逻辑,以保障计算安全,针对每个区块里的每个交易能消耗多少gas,在系统的设置里可以配置。

  • FISCO BCOS 平台对于交易量适中,权限管理简单的联盟链应用来说,提供了良好的经济性。例如已经在使用该平台的司法存证系统和盲拍应用。一方面,节点的搭建和扩容步骤简单,合约的开发和维护容易,大大减少了集成链上链下应用的成本。另一方面,在PBFT或RAFT共识机制的支持下,可以实现秒级出块,单链可以满足100tps的交易量。

  • 针对中国市场的需求,特别加入了对国家密码局认定的商用密码的支持。实现了国密加解密、签名、验签、哈希算法、国密SSL通信协议。对于一些对加密有特殊要求的应用场景,FISCO BCOS是为数

【区块链 + 智慧政务】上海市城乡建设和交通发展研究院:基于联盟链的城市停车收费应用示范 | FISCO BCOS 应用案例 上海市城乡建设和交通发展研究院将FISCO BCOS 底层链应用到交通领域, 打造基于联盟链的城市停车收费应用示范系统, 以科学地指导城市交通决策管理和服务。该项目围绕上海市道路停车收费场景, 利用区块链完成收费交易确认与过程监管,加强交通管理的精细化,促进城市交通收费和支付诚信体系的建设。 系统主要包括五大功能: 停车收费数据采集与上链、区块链处理、数据存储、数据分发与共享,以及停车收费管理应用。 阅读详情

相关推荐

【区块链+ 人才服务】区块链虚拟仿真教学平台 | FISCO BCOS 应用案例

区块链虚拟仿真教学平台由树盈科技联合上海区块链工程技术研究中心共同建设, 集“学、练、测、评”于一体, 提供多类精品课程和海量练习资源, 并根据学校的需求个性化定制区块链教学方案, 形成完整的人才能力评价体系, 帮助学员快速掌握区块链技术。

FISCO_BCOS的博客 771

【区块链 + 文化版权】知链(ZBC)平台 | FISCO BCOS 应用案例

随着互联网业务的快速发展, 数字出版成为知识产权传播的主流媒介, 但面临版权归属模糊、侵权行为等挑战。为应对这些挑战,同方知网数字出版技术股份有限公司研发了知链(ZBC)平台,一个基于区块链的公共服务平台。

FISCO_BCOS的博客 1323

FISCO BCOS 区块链(一)

目录 一、搭建 FISCO BCOS 链 1、安装 openssl, curl 依赖 2、安装 build_chain 脚本 二、配置控制台 1、下载java jdk 2、安装控制台 3、拷贝配置文件以及证书 4、启动控制台 三、Java-SDK(idea版) 1、创建 project 2、引入 Java-SDK依赖 3、sol2java.sh 4、导入所需资源 5、创建测试类 参考 FISCO BCOS 官方文档 v2.8.0 一、搭建 FISCO BCOS 链 1、安.

lzh_97的博客 1万+

FISCO BCOS——搭建第一个区块链(搭建但群组FISCO BCOS联盟链)

介绍单群组 FISCO BCOS 联盟链搭建流程,涵盖依赖安装、脚本下载、链搭建、启动、进程与日志检查等关键步骤。

Sgb13993810983的博客 2317

FISCO-BCOS区块链网络环境搭建(亲测成功)

FISCO-BCOS区块链网络环境搭建亲测成功前言目标下载安装下载安装获取节点二进制联盟链初始化机构初始化初始化链证书机构A、B构建群组1初始化机构A初始化机构B机构A修改配置文件修改机构B的配置文件机构A生成并发送节点信息机构B生成并发送节点信息机构A生成群组1创世区块机构A生成所属节点机构B生成所属节点查看群组1节点运行状态证书授权机构初始化机构C机构A、C构建群组2机构A发送节点信息机构C修改配置文件机构C生成并发送节点信息机构C生成群组2创世区块机构C生成所属节点机构A为现有节点初始化群组2查看群组

ic_xcc的博客 1万+

FISCO BCOS(十二)——— 区块链关键概念

1、什么是区块链 区块链(blockchain)是在比特币之后提出的一个概念,在中本聪关于比特币的论文中没有直接引入blockchain的概念,而是以chain of block来描述一种数据结构,比特币采用区块链技术,但是区块链并不等同于比特币。 Chain of block是指由多个区块通过哈希(hash)串联成一条链式结构的数据组织方式。区块链则是采用多项技术交叉组合,维护管理这个chain of block数据结构,形成一个不可篡改的分布式账本的综合技术领域。 区块链已经应用于数字货币、金融、司法、

林中有神君 9329

国产联盟链 Fisco-Bcos 调技术研报告

国产联盟链 Fisco-Bcos 调技术研报告 By Blake chen 组织结构总览 整体架构 FISCO 对外宣传时,称其主要架构为 ”一体两翼多引擎“。 一体是指其群组架构或者称为其多链架构,企业根据业务场景和业务关系选择不同群组,群组之间独立共识以及数据存储。同一个组织节点可以加入不同的群组。群组之间是否有通信、协作方式、以及安全模型还需要源码级研究才清楚其细节。 两翼指的是支持并行计算模型和分布式存储,并行计算改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易;分布式

smilejiasmile的博客 507

FISCO BCOS区块链平台上的智能合约压力测试指南

本指南详细阐述了如何在FISCO BCOS区块链平台上进行智能合约的压力测试,通过使用VSCode、Truffle和Ganache工具。

欢迎来到“Python算法探索”,我是GT算法工程师,一名热爱计算机算法的博主。在这里,我们将一起深入探索Python世界中的各种算法,从基础到高级,从理论到实践。我参加过很多算法比赛,积累了丰富的经验,希望通过这个播客与你分享。让我们一起用Python探 1万+

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 338

小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘

小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装[可道云](http://kodcloud.com/)(Kodexplorer)私有网盘。

engchina的专栏 1万+

【算法实战】Keystone变换:从原理到MATLAB实现的距离走动校正

本文深入解析Keystone变换在雷达信号处理中的距离走动校正应用,从原理到MATLAB实现全面讲解。通过三种实现方法(DFT+IFFT、Sinc插值、Chirp-Z变换)的对比分析,结合实战案例展示如何有效解决高速目标导致的距离单元跨越问题,提升多普勒频谱聚焦质量。

weixin_29055699的博客 292

ZEMAX优化方法---【Zemax学习】

在光学系统自动设计中,优化设计是光学设计中的重要阶段,也是ZEMAX软件的核心功能,涉及评价函数、权因子、阻尼因子等重要概念。在常用的阻尼最小二乘法优化设计的基础上,ZEMAX给我们提供了三种优化选择:Optimization(局部优化)、Global Search(全局优化)和 Hammer Optimization(锤形优化)。

yh的博客 4448

用python提取PDF中各类文本内容的方法

用python提取PDF中各类文本内容的方法

安静的软件工程师 6086

使用vcpkg快速安装opencascade并自动配置部署开发环境

广泛的开源库:vcpkg 提供了上千个流行的 C++ 开源库,用户可以通过简单的命令安装和集成这些库,包括 Boost、OpenCV、SQLite、fmt 等。确保包版本一致性:通过 vcpkg.json 文件,开发者可以指定依赖的库版本,确保项目在不同环境下的构建结果一致,避免由于依赖库版本不一致而导致的构建问题。强大的社区支持:Vcpkg 是开源项目,拥有活跃的社区和微软团队的支持,提供了稳定的更新和问题修复。快速更新:Vcpkg 社区活跃,库的更新速度较快,开发者可以迅速获得库的最新版本。

loujiand的博客 2293

用Python爬取公众号历史所有文章,看这篇就够了

手把手教你爬取公众号历史所有文章

u010522887的专栏 1万+

8、内存交织技术详解

本文详细解析了内存交织技术的基本原理、工作机制及实现方式,探讨了其在提升内存访问速度和系统性能中的关键作用。文章还分析了内存交织的优缺点、实际应用场景以及与其他优化技术的结合应用,并提出了未来发展的可能方向,为理解与运用该技术提供了全面参考。

g9h0i1的博客 549

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 区块链研究总结 —— EOS
下一篇: 区块链研究总结 —— HyperLedger Fabric
feifeilb
博客等级 码龄22年 22粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值