-
Notifications
You must be signed in to change notification settings - Fork 457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blockchain Engineering projects - class of 2021 #5944
Comments
A Mobile and Generic Asset Exchange using Liquidity PoolingEver since the introduction of Bitcoin, there has been a proliferation of blockchain-based currencies and applications. Nowadays, the majority of blockchain-based applications orient around decentralized finance (DeFi), an experimental form of finance that enables value transfer and exchange directly between participants, without intermediaries. The number of different DeFi application is quickly growing. Many of these DeFi applications are deployed using smart contract logic, e.g., on Ethereum. Currently, decentralized exchanges (DEXes) make up a significant part of the DeFi landscape. DEXes enable the trade between different pairs of digital assets, without risks. Some DEXes facilitate trade by having traders create buy and sell orders and automatically execute orders when a trading opportunity arises. Newer DEXes like Uniswap use a different approach to trade assets. In this approach, there is a pool for every pair of assets, and users can deposit assets in these pools. Such users are called Liquidity Providers and are rewarded with special 'share' tokens. Traders can then exchange asset A for B by depositing asset A in the pool, in exchange for asset B. Existing DEXes using liquidity pooling only allow the trade of assets that are locked to the ecosystem in which the DEX operates. For example, Uniswap can only exchange Ethereum-based assets, significantly limiting the applicability of this approach. Recently, we have introduced an approach to enable generic asset trading using traditional order books (we will share the paper with you at the start of the project). This approach enables the trade of any asset, managed by any ecosystem. Risks are manageable by splitting up a trade into a series of smaller, intermediate payments. The goal of this project is to engineer a basic and generic DEX, based on Liquidity Pooling. All operations and asset transfers will be recorded on TrustChain, our lightweight distributed ledger. This approach makes it possible to detect fraudulent behavior, specifically stealing assets. You will integrate this application in our Superapp, which already has several decentralized applications integrated and deployed (e.g., for social networking, music streaming, and federated machine learning). Your final demo will show a simple asset exchange between two real cryptocurrencies, e.g., Bitcoin and Ethereum tokens. For simplicity, you may assume that the liquidity pool will be managed by a trusted identity in the network. (image source: https://uniswap.org/docs/v2/protocol-overview/how-uniswap-works/) |
Z1: Efficient Transaction Advertisement Protocol Existing blockchain solutions suffer from multiple broadcasting of the same transaction over the network. Each transaction is received by the nodes (miners) in the network twice: once during the advertisement, i.e. broadcasting of the transaction at the beginning, and once after the validation, i.e. broadcasting of the block including the transaction. While validation is essential since each node in the network stores every validated transaction, the advertisement does not need to be received by all nodes. In [1], the authors propose a smart routing protocol that reduces the redundant transaction advertisement from the size of the network to a factor of the average shortest path length. The routing mechanism is built upon a specific type of consensus protocol where the round leader who creates the transaction block is known in advance. In this project, you will review the existing (draft) implementations of Bitcoin-NG provide a complete implementation of Bitcoin-NG implement the routing protocol given in [1], test and compare the existing routing protocol with the one in [1] Deliverables: Code, setup for test and comparison, report References: |
Z2: Supply Chain Visibility (SCV) assignment Assignment To create a supply chain visibility blockchain network with a visualization dashboard to support any actor. Whenever possible, events providing visibility generated by physical activities (load, discharge, arrive, depart, etc.) should be automatically distributed (i.e. with minimal user intervention) to customers and next legs in a chain. Systems environment An actor may bundle business transactions of customers into one business transaction to a service provider or split one customer business transaction over several service providers. Each service provider may perform a leg in a chain or several services providers may compete for the same leg. An example is that there are many carriers able to transport containers from and to the Rotterdam Port. Interfaces A service provider will have a transport means like a truck or vessel calling upon various locations to load and discharge objects (e.g. packages, pallets, containers). This is called an itinerary: a timed sequence of events with the following properties and values of ‘event’: Processing (‘smart contracts’, ‘chain code’, etc.) First of all, the system needs to be configured. This by sharing itinerary – and business transaction events. These set the basic conditions. Background documentation Background document is the document of FEDeRATED on Supply Chain Visibility (http://www.federatedplatforms.eu/index.php/library/category/2-masterplan - the Semantics - Supply Chain Visibility Ledger document). |
Z3 Token based Supply Chain Finance Inventory Finance by Logistics Service Providers (LSPs) Solution Platform Baseline : https://github.com/ethereum-oasis/baseline/tree/bri-1-privacy/examples/bri-1/base-example TradeTrust : https://github.com/TradeTrust |
Z4: BlockCert: Supply Chain Logistics Customer: TNO, TU Delft, Windesheim Spark! Living Lab (https://sparklivinglab.nl/) explores the application of blockchain technology within supply chain and logistics. One of the use cases currently explored together with companies is BlockCert. BlockCert aims to digitize certifications in agri-food, in order to create a more transparent and efficient data transfer in supply chain. At least 3 parties are involved in the current process: a producer (of French fries), a grower (of potatoes) and an independent certification body. A grower needs to be certified to be allowed to supply potatoes to the producer. Currently, the producer doesn’t have real-time insights in the certification status of the growers. When the grower isn't in time with submitting a yearly updated certificate, they are not allowed to deliver their potatoes. Nowadays the issuer shares an Excel file with this information with the producer, but there are other certification bodies as well, making the process slow and difficult. Within this assignment, you create a blockchain-based solution to issue, validate and revoke certifications. The teams will create running code that supports these requirements:
If working well, the developed application will serve as a base for further development with an extended network of growers, producer and certification bodies. A previous student team analyzed this process with involved companies and created a Figma design for the applications. Written reports and video presentations of their work will also be made available for the future teams. This can be used by the student team as a starting point. The Spark! Living Lab – Lab manager is available to support the team on a weekly basis Deliverable: code, test cases, setup for the user test, report. |
Making Blockchains Scale: A Framework for Novel Payment Channel Network Routing Protocols Task: In this project, you first review the implementations of Spider, Boomerang, and Interdimensional SpeedyMurmurs. You then define criteria a simulation framework for the evaluation of these algorithms has to fulfill (e.g., scalability, concurrency, realistic latencies). Based on these criteria, you choose a framework and implement the three algorithms (you may choose one of the frameworks used in the original evaluation). After verifying your implementation, you define suitable evaluation scenarios and metrics and compare the three algorithms for these scenarios and metrics. References |
Class of 2021 is adding the following to the Superapp:
|
Online Lecture URL
The URL for the lectures is this WebEx link (for each of the 8 lectures). The password for this meeting can be found in the Brightspace announcements.
Project descriptions for CS4160 master course
Official place for "class projects" of the Feb 2021 edition of CS4160 by Delft University of Technology. Prior year examples: 2020 edition projects, 2018 projects.
class schedule:
Project: self-evolving AI-DAO (4 teams, maximum 20 students)
Advisor: J.A. Pouwelse, TUDelft blockchain lab founder (weekly meetings on Wednesdays)
Student from Delft have created a blockchain-based alternative to Spotify. Completely decentralised. Uses Bittorrent for streaming, Bitcoin for payments to artists, Trustchain with IPv8 for music discovery and IPv8 for app-to-app connectivity. With multiple teams the aim is to take this code to the next level: self-evolution.
A total of 4 students teams (4-5 students in each team) will work together on a cutting-edge scientific problem: how to create a software system which can be expanded in real-time and increasingly become more 'intelligent'. Build upon the existing open source app by TUDelft on the Android Play store using blockchain technology: the Superapp. You will help transform essential parts of the music industry and replace them with open source software. Current code:
GIF: Browsing and streaming music with Bittorrent
GIF: Sending money to artists using Bitcoin
DAO - organisations in software
To make a "self-evolving" app we use the DAO concept. What is a DAO? Within the coming decades the future of jobs, employment and the nature of the firm will change profoundly. Automation, AI, and robots will replace many of today's jobs. A new type of company is a company without any employees, without any machines or physical infrastructure. A Decentralized Autonomous Organizations, DAO, only exists in software. It goes beyond smart contracts, it is a complete company inside software. DAO development is still in the experimental stage. Background reading. Very optimistic view on DAO, official US review of DAO by Securities and Exchange Commission.
Within this master course you can create your very own autonomous organisation, the AI-DAO. Learn to engineer a decentralised autonomous organisation, use the existing tools, and understand the security risks. The aim is to alter the nature of the firm in the Internet age, see the Nobel prize winning theory. Production cost become essentially cost-free. An organisation which exists purely in cyberspace. The AI-DAO is designed to be the first sustainable DAO. How can we empower leaderless organizations? How can it earn money from manipulating bits?
Scientific challenge: Self-evolving
A key step in an autonomous system is that it can evolve independently. This enables growth and evolution independently of any central organisation, sponsoring government, or tribe of volunteers.
You will collectively solve the problem of paying somebody to make new features in open systems which are fully decentralised. This goes further then paying somebody Bitcoins to create a new version. Decentralised technology is very robust to failures, manipulation, faults, and courtcases. For instance, The Internet itself is almost impossible to shutdown so is the "Tor darknet". With other teams you will address a key drawback of decentralised technology: difficult to update, nearly impossible to evolve, and lacks incentives to develop new features.
dApp ecosystem
"Distributed Applications" are a distributed way of running code. You will help develop an ecosystem of "global code". Code is running atop a blockchain and peer-to-peer (P2P) network that acts as a kind of operating system. This provides security, resilience, privacy, and novel features. This is related to smart contracts, but has no slow single virtual machine (all discussed in the online classes material). Background material, read FBASE trustworthy code execution
PNG: difference between cloud and decentralised Apps
4 teams of 4-5 students per team.
The task of building the "self-evolving AI-DAO" has been broken into 4 parts. The course finishes when your all your pull requests are accepted upstream and your part works.
Create a dApp with federated machine learning to understand music taste of user and recommend more. Exchange training vectors on the blockchain overlay. Never share with others what Bittorrent music swarms you like. By only sharing training data you can discover new music and still preserve privacy. Prior work and this.
Closely working with the Android OS. Download code in .jar format using Bittorrent. Live code injection to update Android code. Bypass the Android security model. Solve the state preservation problem. Facilitate the discovery of new code. Spread magnet links to dApps and their attached Bitcoin bounty wallet address. Prior work
Your team ensures people get paid for evolution of features. Use muti-sig wallet and quorum-based voting to create real-world Bitcoin payouts. Sync the vote progress with others, visualise as votes come in (approve or reject) and display the undecided votes. Any developer can contribute code to the DAO and get paid. It disconnects the DAO from any bank, government, and legal system. Help create a global economy that is hyper-efficient, fair, honest, and digital. prior work
Your responsibility is to create an operational DAO. Your work ensures any group of people of unlimited size can control an unbounded amount of Bitcoin. Any user can create a DAO, get discovered, and grow. Join any DAO and manage the multi-signature wallet. Create a background task which verifies new members, checks their entry fees, automatically approves them, and shows the vote approval status of any pending new member. Build up a deep understanding of P2SH transactions which utilise threshold encryption.
prior work
Running code
We have running code! Class of 2021 is adding the following to the Superapp:
The text was updated successfully, but these errors were encountered: