BUIP193: Bitcoin Unlimited be a “Customer” for a student project at NTNU

The following two proposals have been submitted as potential student projects:

Project 1: Development of interface for a Constant Product Market Maker (Token Swap) contract on Bitcoin Cash or Nexa

Abstract:

In this project, students will be challenged to create an interface for interacting with a CPMM (Constant Product Market Maker) contract, also known as token swap, on Bitcoin Cash or Nexa.

The project’s primary requirements include supporting fund deposits and withdrawals. If time permits, extending the interface for token swaps is desired. Students will be provided with a minimal working contract and may rewrite, extend or modify it as needed.

Participants must learn the basics of Script, the programming language used for smart contracts on Bitcoin, Bitcoin Cash, Nexa, and other UTXO-based blockchains’ virtual stack machines. It is important to note that this differs significantly from EVM-based chains like Ethereum.

Project description:

Bitcoin Cash and Nexa, newly supporting native tokens, present an opportunity to bootstrap decentralized finance on these chains through on-chain token swaps. This project aims to provide a simple interface for fund deposits, withdrawals, and, if time permits, token swaps. Students will be given a minimal working contract, which they may rewrite, extend, or modify as needed.

As pioneers in this technology, participants will be among the first to implement token swaps on these chains, a highly desired and potentially profitable feature. Students can choose to work on either Bitcoin Cash, which brings sound money to the world as “Peer-to-Peer Electronic Cash,” or Nexa, a new chain by Bitcoin Unlimited for experimenting with scalability and extended smart contract capabilities.

Participants will experience open-source development firsthand, with the software released under the open-source MIT license. Learning the basics of Script, the programming language for smart contracts on UTXO-based blockchains, is crucial. Note that this differs significantly from EVM-based chains like Ethereum.

Though the project may be more challenging due to the limited availability of non-EVM ecosystem tools, the project scope will be tailored accordingly, providing a valuable learning experience for students.

Students will decide on the open-source tools used for the project, with suggested programming languages including TypeScript/JavaScript, Rust, and Python, but other languages may be proposed if deemed a better fit.

The customer for this project is Bitcoin Unlimited (https://www.bitcoinunlimited.info), an organization supporting the continued growth and adoption of Bitcoin as a peer-to-peer electronic cash system. The mentor for this project is Dagur Valberg Johannsson, a software developer specializing in UTXO-based blockchains (https://valbergconsulting.no), with an office in Trondheim.

Expected deliverables include an interface for fund deposits, withdrawals, and, if time permits, token swaps, as well as a smart contract for Bitcoin Cash or Nexa.

Project 2: Funding and Retrieving Time-Locked Bounties on Nexa

Abstract:

CLTV (Check Lock Time Verify) is a method to fund a smart contract, but locking the funds until a certain time period has elapsed.

Similar to employers giving employees a stock as economic incentive that can only be sold after a period has passed (for example 1 year), we wish to have the same option to hand out tokens to stakeholders with same selling restrictions.

This will act as an economic incentivize to achieve long-term goals as a group.

The deliverables for this project include a simple CLTV contract for the Nexa blockchain, a website for creating time-locked bounties and displaying all currently funded bounties, and a backend for releasing bounties after the time-lock is over.

Project description:

In this project, students will develop a solution for creating time-locked bounties on the Nexa blockchain using CLTV. The primary objective is to create an economic incentive system that encourages long-term commitment and collaboration among stakeholders.

The project will be divided into three main components:

  1. CLTV Contract: Students will research and develop a simple CLTV contract tailored for the Nexa blockchain. This contract will enable the funding and time-locking of tokens, ensuring they can only be released once the specified time period has passed.
  2. Bounty Website: Students will design and implement a user-friendly website that allows users to create time-locked bounties, view all currently funded bounties, and access relevant information about each bounty (e.g., locked tokens, time remaining, etc.). The website should be intuitive and provide clear guidance on how to use the platform.
  3. Bounty Release Backend: Students will develop a backend system that automatically releases bounties once the time-lock has expired.

All software developed will be released with the open source MIT license.

Students will decide on the open-source tools used for the project, with suggested programming languages including TypeScript/JavaScript, Rust, and Python, but other languages may be proposed if deemed a better fit.

The customer for this project is Bitcoin Unlimited (https://www.bitcoinunlimited.info), an organization supporting the continued growth and adoption of Bitcoin as a peer-to-peer electronic cash system. The mentor for this project is Dagur Valberg Johannsson, a software developer specializing in UTXO-based blockchains (https://valbergconsulting.no), with an office in Trondheim.