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

BUIP193: Bitcoin Unlimited be a “Customer” for a student project at NTNU
submitted by dagurval
date 15 Mar 2023

Background

As part of a computer science degree at Norwegian University of Science and Technology (NTNU) the students take a course in a subject called "Customer Driven Project”. This is a “learning by doing” project where a group of students get hands on experience by doing all phases of a development of a project for a full semester. Preliminary studies, requirements specification, design, implementation, and evaluation. I did this project as part of my degree as well.

Proposal

On behalf of Bitcoin Unlimited, I’d like to take the role as a customer and work in collaboration with a group of 5 - 7 students to create something useful for Nexa or Bitcoin Cash (or both).

We will get a group of computer science students at fourth year of their study that will work for us on a project of our choosing for a full semester. The result is likely to be a good and useful product (no guarantee). For the students that are motivated to pick us as customer it will be a great introduction to developing with us and blockchain development in general.

The project

TBD. Comments with suggestion welcome.

The scope of the project is one semester and the level of complexity needs to be for students at fourth year of a computer science degree. A student group also has to pick our proposal amongst many others.

See Customer Driver projects at NTNU website

Funding

Upper estimate for me is 5 hours per week for one semester. This includes proposing a project and presenting the proposal, meeting and advising the students at least once per week and being available for them for questions and requests. The students are required by NTNU to work for free.

For this BUIP, I propose a budget of $15 000 for upper estimate.

3 Likes

is this officially the 1st Nexa hackathon?? :smiling_face_with_three_hearts:

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.

-----BEGIN BITCOIN SIGNED MESSAGE-----
BUIP 193 : YES
-----BEGIN BITCOIN SIGNATURE-----
1IAJqeqUQ2jNrfIWxN9jn75basric8MGVri3huCRLm4s2e5Fb0Xxxd6EDuRHvU4IV0ZZV4vF1h7ceQMqz5AsbE/U=
-----END BITCOIN SIGNED MESSAGE-----

The project proposals were unfortunately rejected

Dear Customer,

Thank you for submitting your project proposals to Customer Driven Project TD4290.

After evaluating each of the projects, the TDT4290 team has decided to not accept your project this year. This was a tough decision, as we received many interesting projects, including yours.

However, we are happy to inform you that you can still propose projects next year as well :blush:

Please let me know If you have any question.

The course coordinators and supervisors wish you a great summer!

this is a pity for sure