Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.79k stars 444 forks source link

Blockchain Engineering projects - class of 2020 #4863

Closed synctext closed 4 years ago

synctext commented 4 years ago

Delft-DAO

What is a DAO? Within the coming decade 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.

Within this course you can create your very own autonomous organisation, the Delft-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 Delft-DAO is designed to be the first sustainable DAO. How can we empower leaderless organizations? How can it earn money from manipulating bits?

Advisor: J.A. Pouwelse, TUDelft blockchain lab founder (weekly meetings on Wednesdays)

Several teams from the class will create running code (requirements for a passing grade..) for one of the following functionalities. Four teams together create the building blocks of the complete Delft-DAO.

MattSkala commented 4 years ago

Current status:

qstokkink commented 4 years ago

Some pointers for your documentation effort:

Regarding the "zero byte" and "version" in the protocol spec, we are backwards compatible with this: https://github.com/Tribler/dispersy/blob/2d4753c83e7e817c9cf85d702519d2904674b23d/conversion.py#L117-L125 . Maybe also useful to read this (once) https://github.com/Tribler/dispersy/blob/2d4753c83e7e817c9cf85d702519d2904674b23d/docs/system_overview.rst it explains most of the magic variables in IPv8 (though most of it is out of date). Here are the original docstrings for most low-level messages: https://github.com/Tribler/dispersy/blob/2d4753c83e7e817c9cf85d702519d2904674b23d/payload.py . Lastly, here is where the GlobalTimeDistribution comes from (formerly part of the *SyncDistribution family): https://github.com/Tribler/dispersy/blob/2d4753c83e7e817c9cf85d702519d2904674b23d/distribution.py#L343-L357 .

You should probably be able to infer the remainder from the IPv8 codebase.

stef-roos commented 4 years ago

A Decentralized Tipping System Tipping artists and developers on the web, while frequently desired, is often complicated due to incompatible payment systems or high fees for international payments. Building a tipping system on top of a ledger has the potential to simplify the process. The XRP ledger is a very suitable substrate for such a tip platform as it has minimal transaction fees, which works well with the typical low amounts involved in tipping. A tipping platform should allow users to i) easily embed their payment information to be tipped in a website, ii) tip other users when encountering such payment information, and iii) set up automatic tipping when consuming tip-able content for the first time.
In this project, you will

Deliverables: code, test cases, set up for user study, report

stef-roos commented 4 years ago

A Decentralized Bill Splitting Platform There are many situation when people order together and one of them pays the bill. Two examples are ordering food or buying new appliances for a shared flat. The payer then has to ensure that the remaining people pay their share of the bill. The process might cause the payer to loss money and can be cumbersome, especially if people use different payment systems. A payment platform based on a ledger will simplify the process. A suitable ledger for such a platform has to offer a low transaction fees, as transactions are usually low value and frequent. The XRP ledger designed by Ripple is well suited here both due its stability and low fees.
In this project, you will

Deliverables: code, test cases, configuration for performance evaluation, report

stef-roos commented 4 years ago

Log Inference in Ripple A common method for finding bugs in complex communication levels is to build models on the logs and compare these logs to the theoretical model. Up to now, blockchains make little use of these techniques and hence have a high probability of having critical bugs. In this project, you will

Deliverables: configuration for tool, changes to Ripple’s logs (if present), report

stef-roos commented 4 years ago

Improving Syscoin’s Transaction Propagation Syscoin focused on fast payments using an alternative Directed Acyclic Graph (DAG) structure rather than a conventional blockchain. In order to allow for fast payments, the dissemination of transactions is critical and has been modified recently. In this project, you will

You will have the chance to work closely with Syscoin’s development team to get an overview of the code and discuss your suggested changes. Deliverables: Modified code, setup for performance evaluation, report

stef-roos commented 4 years ago

Hardware Wallet Integration in Syscoin Hardware wallets provide a highly secure method for storing private keys. For usability even by non-experts, it should be easy to link the hardware wallet with the ledger. Syscoin, a system focussing on fast payments and interoperability between different currencies, aims to develop a web client for hardware wallets. In this project, you will

You will have the chance to work closely with Syscoin’s wallet development team. Deliverables: Code, test cases, setup for performance evaluation, report

zekierkin commented 4 years ago

OWNING AND MANAGING SHARED ASSETS

We have high expectations of the concept of shared assets in near future markets. For example: ten businesses with solar installations share a battery to store overproduction and to provide services on the energy markets. Or: five neighbors buy one car that is also rented to third parties. BTW an asset can also be code!

The advantages are: less investments than in the scenario of single ownership; and also less idle capacity to be expected. Eg: an individual car only ‘works for its living’ 5% of the time, while a shared one could make 50%.

For this assignment the assets you should think of have two key features: • The assets can make money autonomously by providing a service (store energy, give a ride) • The earnings of the assets flow back to their investors/stakeholders.

Blocklab’s interest is to develop a stand-alone application that will be used for energy hardware such as solar-panels and batteries, but please try to white-label it as much as much as possible so the app can be reused for other asset types.

Assignment: please develop a dApp to jointly own and manage a shared asset.

Features regarding the asset:

Features regading the owners:

Features on decision making:

Feedback:

Tips:

--Graphs, themes, inputs, etc.

oguzhanersoy commented 4 years ago

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.
An example of the consensus protocols is the Bitcoin-NG protocol [2].

In this project, you will

Deliverables: Code, setup for test and comparison, report

References: [1] Ersoy, O., Ren, Z., Erkin, Z. and Lagendijk, R.L., 2018, June. Transaction propagation on permissionless blockchains: incentive and routing mechanisms. In 2018 Crypto Valley Conference on Blockchain Technology (CVCBT) (pp. 20-30). IEEE. [2] Eyal, I., Gencer, A.E., Sirer, E.G. and Van Renesse, R., 2016. Bitcoin-ng: A scalable blockchain protocol. In 13th USENIX symposium on networked systems design and implementation (NSDI 16) (pp. 45-59).

oguzhanersoy commented 4 years ago

Blockchain Application for the Circular Social Housing

The Circular Economy concept (CE) is one of the promising approaches to reduce the impact of linear economic activities where economic growth is decoupled from virgin resource consumption. In a circular economy, as opposed to the linear take-make-use-dispose model, there is no waste generated: waste becomes valuable products in the material loops.

Problem Social housing organizations want to implement circular economy principles to manage their physical assets, namely, building materials, products, and components. Due to the long lifetime of the buildings, tracking materials throughout their lifetime and proving their provenance are tedious tasks with a centralized system.

Assignment You are required to develop a blockchain-based asset management platform solution for tracing and recording every step of the material passports. Material Passport is an electronic identity of the material where a set of useful data describing the main characteristics of the material stored (Size, material composition, manufacturer, etc.).

References

synctext commented 4 years ago

Delft-DAO integration steps:

Delft Definition of DAO: "A DAO is an organisation that functions without any central point of control (decentralised), resistant to interference from any external party (autonomous), by operating based on the collective input of its stakeholders according to the rules encoded in its blockchain, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do." -johan.

synctext commented 4 years ago

Delft-DAO grading & demo meeting: 23 April 11:45 (tentative). Grand experiment direction for grading and wrapping up this course. Final goal: 1) load some Bitcoin on your wallet, 2) you automatically get some voting power, 3) you vote together on executable code of a Delft-DAO Dapp 4) this Dapp gives you a "some AI that understands market fluctuations" 5) somehow everybody votes positive on this 6) a new button appears within the Superapp

synctext commented 4 years ago

So finally, we need to plan the launch of your Delft-DAO with a splash. Please think about storyline and think of an brand name to replace boring "Delft-DAO" for Tweakers.net story.

Be creative! Such as: "Fully automated luxury communism" (yes, that's a political left-sided meme on an automated world with a 4-hour workweek; our app is designed to replace capitalism; we will take possession of the means of production, one app install at a time.)

synctext commented 4 years ago

completely opposite view. Alternative of "deep adaptation" where humanity is dying, sort of doomsday p*rn.

synctext commented 4 years ago

Grand ToDo list till end of this course for all groups (not exhaustive!)

Course final goal in marketing terms: Delft-DAO is the first to combine various element into coherent architecture: collective ownership of Bitcoins, distributed apps on Android, Bitcoins for Dapp development and machine learning. The Delft-DAO dAPP execution model empowers any economic activity by combining identity, free group formation, democratic decision making, and scalable leaderless organisation.

ALL GROUPS

Team MultiSIG Create your own currency (Team II)

Team Distributed Democracy

Team Freedom of Computing team

Team AI and create your own Dymbedollars

synctext commented 4 years ago

Superapp build process on Github Latest app, on course exam day: 30 April 2020

synctext commented 4 years ago

Reclaiming The Internet for the social good

the class of 2020 blockchain engineering made some impressive software. A record number of top-grades have been given to students

Our software empowers citizens to take back control of The Internet. More specifically, we present the self-organising technology stack to take back The Internet. Who owns The Internet? The Internet is essentially private property, with few exceptions. Google, Facebook, Amazon, Apple, Tencent, and others operate the central components of our daily digital lives. For instance, we require permission from Google and Apple to publish software for mobile devices. Their monopoly power means no other meaningful method exists to reach billions of smartphone users with newly created apps.

Our work introduces a novel type of low-level network overlay and proof-of-principle zero-server social network. Our zero-server architecture offers various networking primitives. These serve as the basic building blocks for creating full fledged alternatives for the services of "trusted" third parties or Big Tech companies. These primitive increase in strength and cover identity management, communication, code execution and social software engineering. A student development team at master-level with 17 members successfully created various non-trivial extensions to our zero-server architecture within 10 weeks. With their efforts the "superapp" presented here provides operational features such as online voting, shared ownership of money, fully automated decentralised marketplaces, and a Spotify alternative. The full list of Superapp features, at an early proof-of-principle stage of software development: 1. Secure address book. Obtain the public key of your friends with protection against man-in-the-middle attacks. This forms the identity layer with public key of your friends or businesses you interact with 2. Universal communication using imperfect hardware. Secure end-to-end encrypted communication bypassing NAT boxes and other imperfect hardware. Connect to any address book entry in a secure manner. Secure messaging of any message size. 2. Robust social fabric. Discover the current Internet address of your friends and connect to them. When your friends or trusted businesses come online they will form an end-to-end encrypted connection with you. Address churn by creating a social-based zero-server overlay with automated Internet address discovery, based on a UDP-puncturing DHT. 2. Community formation. Everybody can freely start a community which can grow to any size. This is the core of our Decentralized Autonomous Organization. Key features are discovery of DAO communities and joining them. 2. Community accounting. For each address book entry we track their contributions to the common good. Distributed bookkeeping with tamper-resilience using Trustchain 2. Democratic governance. Community members can propose votes with proposition for financial transactions. 2. Shared ownership of money. These communities of any size can democratically control any amount of money. By utilising Bitcoin Multisig we provide a community of any size the democratic control for any amount of money. 2. Distributed Apps. Freely executing code forms the beating heart of the DAO. Improvement of smart contract execution model, specifically optimised for smartphones usage with runtime code injection and bypass the Google security model. 2. Distributed markets. Marketplace with bid/ask orderbook which is distributed. 2. Bounty-based software engineering. Any developer can seed a distributed app in Bittorrent and a DAO can vote on payout of bounty. 2. Decentralised machine learning. Without any central point of control or performance bottleneck perform multi-dimensional curve fitting. 2. Distributed music industry. Support artists by making them self-published, self-promoted, and self-sufficient in general. Replace the music industry offerings with free software. Grown into a full master thesis aiming to remove all proprietary infrastructure between artists and ears of listeners with cost-free ecosystem.