JiangChSo's starred repositories
KnowledgeGraphCourse
东南大学《知识图谱》研究生课程
BFLC-demo
This project proposes a decentralized federated learning framework based on blockchain, that is, a Block-chain-based Federated Learning framework with Committee consensus (BFLC). Without a centralized server, the framework uses blockchain for the global model storage and the local model update exchange.
PFLM
Privacy-preserving federated learning is distributed machine learning where multiple collaborators train a model through protected gradients. To achieve robustness to users dropping out, existing practical privacy-preserving federated learning schemes are based on (t, N)-threshold secret sharing. Such schemes rely on a strong assumption to guarantee security: the threshold t must be greater than half of the number of users. The assumption is so rigorous that in some scenarios the schemes may not be appropriate. Motivated by the issue, we first introduce membership proof for federated learning, which leverages cryptographic accumulators to generate membership proofs by accumulating users IDs. The proofs are issued in a public blockchain for users to verify. With membership proof, we propose a privacy-preserving federated learning scheme called PFLM. PFLM releases the assumption of threshold while maintaining the security guarantees. Additionally, we design a result verification algorithm based on a variant of ElGamal encryption to verify the correctness of aggregated results from the cloud server. The verification algorithm is integrated into PFLM as a part. Security analysis in a random oracle model shows that PFLM guarantees privacy against active adversaries. The implementation of PFLM and experiments demonstrate the performance of PFLM in terms of computation and communication.
RandRunner
Generating randomness collectively has been a long standing problem in distributed computing. It plays a critical role not only in the design of state-of-the-art Byzantine fault-tolerant (BFT) and blockchain protocols, but also for a range of applications far beyond this field. We present RandRunner, a random beacon protocol with a unique set of guarantees that targets a realistic system model. Our design avoids the necessity of a (BFT) consensus protocol and its accompanying high complexity and communication overhead. We achieve this by introducing a novel extension to verifiable delay functions (VDFs) in the RSA setting that does not require a trusted dealer or distributed key generation (DKG) and only relies on well studied cryptographic assumptions. This design allows RandRunner to tolerate adversarial or failed leaders while guaranteeing safety and liveness of the protocol despite possible periods of asynchrony.
competition-baseline
数据挖掘、计算机视觉、自然语言处理、推荐系统竞赛知识、代码、思路
Multi-party-Non-repudiation-Protocol-based-on-Blockchain-Technology
多方不可否认协议在电子商务和电子邮件等领域都有重要的应用。已知的协议大多依赖可信第三方TTP,但TTP的中心化特性和对可靠性的高要求造成了协议的通信瓶颈。本文利用区块链去中心化特性设计了一种分发不同消息的自适应多方不可否认协议。本文给出了协议的基本假设和符号说明,展示了协议的具体流程,并实现了协议的关键部分,描述了设计决策与实现步骤。同时本文使用形式化分析方法证明出该协议满足公平性、不可否认性和时限性等安全性质,将协议与已有的两类多方不可否认协议进行性能对比,分析表明新协议效率得到一定程度的提高。
2020-Huya-Program-Technical-Challenge
2020虎牙小程序技术挑战赛
weiboSpider
新浪微博爬虫,用python爬取新浪微博数据
generative-adversarial-networks
Introduction to generative adversarial networks, with code to accompany the O'Reilly tutorial on GANs
HackingNeuralNetworks
A small course on exploiting and defending neural networks
20_style-model-for-image-style-fusion-and-transfer
北京大学软件与微电子学院《人工智能实践》课程项目第6小组,新加入APP功能,项目代码持续完善中。
ocr-handwriting-recognition
This is a english handwriting recognition project
USTC-Course
:heart:**科学技术大学课程资源
SimpleCoin
Just a really simple, insecure and incomplete implementation of a blockchain for a cryptocurrency made in Python as educational material. In other words, a simple Bitcoin clone.
cryptography
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
go-ethereum
Go implementation of the Ethereum protocol