Concurrency with UTXOs is a tricky problem that is difficult to solve and adds to transaction load unnecessarily.
I propose creating a math model and script that developers could use to structure their transactions to minimize the number of transactions and maximize the potential power of transactions.
This is the total amount allocated to UTXO Optimizer and Scheduler.
Cardano’s usage of the UTXO model is arguably its greatest benefit over the plethora of other chains that exist. The UTXO model provides greater security and once you wrap your brain around it, the development of smart contracts is greatly augmented by it. However, UTXOs can be tricky to work with for larger transactions, moreso if non-Ada assets are involved.
Suppose your wallet contains a large number of UTXOs each having different combinations of Ada and non-Ada assets. If you would like to transfer several assets contained in different UTXOs to different output addresses, this transaction could be tricky to structure. Particularly if you are using the CLI interface to do so, which many developers are.
The workaround many use is to run all the transactions sequentially using some kind of queuing mechanism, that executes transactions sequentially. This is an adequate workaround in most cases, but as Cardano grows, the concurrency of UTXOs can become a powerful tool to maximize the efficiency of transactions. The parallel nature of the UTXOs themselves can be leveraged to improve the scalability of the network.
The way to solve and maximize the efficiency would be to devise an algorithm that can schedule transactions given the current UTXO state, predict the future UTXO state, and use that to schedule subsequent transactions. Because of the deterministic nature of Cardano transactions, it is possible to structure transactions during one time period, to optimize for transactions that need to be run in the future. This also means that we can predict the future state of a wallet, if we know what the structure of the transactions are on our planning horizon.
This algorithm would compute the optimal schedule of transactions and UTXO consumptions to use per time period. So instead of running several sequential transactions, you could then use the optimal schedule to get the same done, with fewer transactions. Additionally, a smart algorithm would be able to structure these transactions in light of network parameter constraints to maximise the computational ability of each transaction and subsequently the network nodes that compute it. That way transactions maximize the usage of the potential power of Cardano transactions.
This algorithm would naturally improve the developer experience for projects that run high volumes of complex transactions (Dexes, marketplaces, games et cetera), it would reduce the burden to operate queuing infrastructure and it would subsequently reduce the volume of small transactions on the network, maximizing the computation efficiency of the network and reducing the transaction volume load.
This problem of concurrency has been solved in many different ways in the field of industrial engineering because similar problems occur in logistics and manufacturing. Most notably, the fields of Operations Research and Scheduling Theory contain a number of methods to approach these kinds of problems. Just off the top of my head, this problem could be approached using linear programming, or finite-horizon markov decision processing, or even graph traversal and optimal path algorithms.
I propose creating a math model that solves this problem using some of the aforementioned methods, and a subsequent Javascript/Python script that developers could use to structure their transactions that implements this math model. I propose taking on this challenge as part of an independent study that will count towards my post-grad degree. My degree is a Master of Science with a major in Industrial Engineering, at Wichita State University, in Wichita, Kansas, USA. The outcome of this research would count towards the final semester of my degree, with my graduation being in December of 2022.
Cardano’s success can also be attributed in part to its slow and methodical research-driven approach to solving problems. My goal is to produce a research worthy of being published at the end of this study. Ideally, I would like to see it published in a journal or conference proceedings however that decision can only be made once all the work has been completed and it would be ignorant of me to promise that during a proposal.
Cardano is also a blockchain of the people and the last thing it needs, is to have research conducted that is locked behind corporate paywalls. Wichita State University has a student-owned IP policy, which means that the ownership of this research resides with the student and is not closed behind an institutional paywall. As a member of the Cardano community, I will make this research and the codebase accessible under an MIT license.
There are many discussions that can be had about how blockchain technology can be used to reform the world of education. I believe community based funding platforms such as Catalyst could prove to be incredibly powerful ways to do so particularly as a bridging mechanism to on-board a very traditional system into the next era of technological innovation. Students can get access to very specific funding that is scoped and preconditioned well in advance and audited by a community of people with a shared governance interest that is not motivated by profit only.
Beyond solving an actual problem in Cardano, my hope is that this project could serve as inspiration for future students to make a contribution to Cardano through academic research, and use Project Catalyst as a way to help them along. In that way this would serve both as a solution to an existing problem, and a prototype for solutions to future problems.
This proposal will improve the efficiency of large and complex transactions, most of which are usually generated using the CLI, a developer tool. This tool would make projects more efficient, reduce the burden for developers to create queuing systems, and allow for the current abilities of Cardano to be maximized.
Besides these immediately tangible ways this proposal will address the challenge, I also believe that this project could become a template or prototype for future researchers to become on-boarded into the world of blockchain and specifically Cardano. There is a massive number of extremely talented individuals out there pursuing post-graduate studies, many of whose contributions will end up being shelved after submission because of the way the traditional academic system works. This proposal will serve as a proof that it is possible to solve difficult real-world problems, through targeted academic research, whilst meeting the requirements for the traditional education system.
Many of the risks that could occur, even if they occur, will be dealt with before funding is even received or fully realized. Because of the timeline of delivery to meet degree requirements, a lot of the work will be done well before funding is received, possibly even completed. Also, to preserve the privacy of my faculty advisor, their name will not be mentioned in this proposal. Here are some of the risk I can foresee and how I would address them:
27 September - Delivery of Literature Review, Thesis, and Problem Statement
2 November - Delivery of math model, relevant simulation/coding, and preliminary results
8 December - Completed paper and code base. The hope is that this deliverable will be sufficient for publication in a Journal/Conference (open-access)
I will not attempt to make a profit out of this, I will use the Catalyst funding to cover my tuition cost for this independent study. These fees are published publicly at the following link: https://www.wichita.edu/services/tuitionfees/index.php
This independent study will count towards 3 credit hours hence the multiplication by 3 where the rates are given per credit hour.
Tuition - $756.38 * 3 Credit Hours = $2269.14
Campus Infrastructure Fees - $19 * 3 = $57
Technology Fee - $1 *3 = $3
Transportation Fee - $0.75 * 3 = $2.25
Student Support Services Fee = $667.41
Engineering Program Fee = $160.29
Pretax Total (to be paid to the university) = $3159.09
Total Requested (adjusted for 22% tax) = $3,854.09
I am confident that I can meet the requirements for my post-grad studies and produce some valuable research for the Cardano community, that is why my aim is not to seek funding beyond that which is required for my tuition for this study only.
Bio: Benjamin Beer – Ben’s formal education is in Computer and Electronic Engineering with a focus on both hardware and software-based programming and system design. His Master's degree specialty focus is on the creation of industrial blockchain systems for application in the world of supply chain. He was on the NWU Solar Car racing team in South Africa as an engineer to create a web-based Race Strategy Optimization System that provides near real-time feedback in a race scenario by collating and processing large amounts of telemetric and geodesic data. As part of his post-graduate thesis, he focused on the incorporation of blockchains, specifically smart contracts, into the supply chain. This research involved significant work on Ethereum with Solidity, before being introduced to Cardano.
Linkedin: https://www.linkedin.com/in/benjamin-beer/
Twitter: @bigbenbeer
Overview of relevant experience (both academic and work):
This project will also have an assigned faculty advisor at my college, however to preserve their privacy, I will not include them on the proposal directly.
If there is scope to develop this project, or expand on the code base then definitely I will return.
In addition to check-in meetings and reports, the following auditing metrics will be used.
The code base will be shared in a public GitHub repository at the following link: https://github.com/bigbenbeer/Plethora.The final coding tool will be called Plethora because there are a plethora of UTXOs to manage (it sounds pretty cool too).
I will post the graded documents if allowed on the same Github as they become available.
If there is enough scope, the final paper will be published in an Open-Access Journal/Conference paper. If I do not seek to publish through a formal academic means, I will publish a whitepaper instead using the same public Github repository.
I will gauge interest using the feedback I receive through Github pull requests and questions. If there is enough feedback, I would submit a proposal for Fund 10 to expand on the research/codebase.
The production of both a publication-worthy paper, and a code tool developers can use to schedule transactions to maximize UTXO efficiency.
Also, I hope to help inspire other academics to become more actively involved in Cardano research even while they are studying and this proposal if funded would provide a prototype for how this can be realized. Education is something I am passionate about and I have quite literally moved 14000 miles away from my home to do so. What greater way to make a valuable contribution to humanity, than to use Project Catalyst to improve Cardano, the blockchain of the people, and in the process inspire others.
Entirely new proposal
Benjamin Beer - Bachelor of Engineering in Computer and Electronic Engineering, 18 months of graduate level research in industrial blockchain technology and formal coursework in decision support mathematics and operations research. CTO of Revelar, a Catalyst funded company.