Advance Submissions
Advance submissions involve the introduction of novel algorithms tailored to solve TIG’s proof-of-work challenges. An Advance submission will often yield such a significant performance enhancement that even unoptimised code of the new algorithm outpaces the most optimised code of an existing one.
All the advance submissions lives under the tig-algorithms/advances
directory in the TIG monorepo.
Each submission is committed to their own branch in the format <CHALLENGE>/<ADVANCE>
. The method name should be unique and descriptive of the algorithm.
Before making a submission, make sure to check Code vs Advance Submissions.
Read more about Advance Submissions.
Making a Submission
After you have developed a novel algorithm, you can submit it as an Advance submission through an E-mail.
E-mail to advances@tig.foundation with subject “Advance Submission (<ADVANCE>
)”. Make sure to include the following:
-
Evidence Form: Copy and fill in the
evidence.md
form. Make sure to provide a detailed description of your Advance in Section 1. -
Invention assignment: Copy & replace
invention_assignment.docx
the highlighted parts. Both the Inventor and Witness must sign the document. -
Address Signature: Use Etherscan to sign this message:
I am signing this message to confirm my submission of advance <ADVANCE>
Make sure to use your
player_id
that is making the submission to sign the message. Send the verified Etherscan link with message and signature. -
Code implementation (Optional): Attach the code implementing your Advance. Do not submit this code to TIG separately; this will be done for you.
Notes
-
The time of submission will be taken as the timestamp of your E-Mail attaching the required documents.
-
Iterations are permitted for errors highlighted by the TIG Foundation. This will not change the timestamp of your submission.
-
250 $TIG will be deducted from your Available Fee Balance to make an Advance submission. Check out Making Top-ups to top up your Fee Balance.
-
An additional 10 $TIG will be deducted from your Available Fee Balance to make an Algorithm submission (if one is attached)
-
An advance submission can only have the same name as a code submission name if they are made by the same submitter. In this case the UAI will be the same and both the advance and code submission will be in the same branch
<CHALLENGE>/<ADVANCE>
(equivalenty<CHALLENGE>/<ALGORITHM>
)
Submission Flow
- New submissions get their branch pushed to a private version of this repository.
- A new submission made during round
X
will have its branch pushed to the public version of this repository at the start of roundX + 2
. - From the start of round
X + 3
till the start of roundX + 4
, token holders can vote on whether they consider the method to be a advance based off the submitted evidence. - At the start of round
X + 4
, if the submission has at least 50% yes votes, it becomes active. - Every block, a method’s adoption is the sum of all algorithm adoption, where the algorithm is attributed to that method. Methods with at least 50% adoption earn rewards and a merge point.
- At the end of a round, a method from each challenge with the most merge points, meeting the minimum threshold of 5040, gets merged to the
main
branch.- Merged methods are considered advances, and receive rewards every block where their adoption is greater than 0%.