Retroactive funding request

Summary

Proposal request for 29,000 ATOM from the community spending pool for contributions to the Cosmos community for ISO-20022 related work.

Details

This is a funding request for 29,000 ATOM from the community spending pool for retroactive funding related to ISO-20022 solutions to make blockchain technology compatible with Fed-wire, SWIFT and other banks/custodians who conform to the ISO-20022 standardization.

Doing research for corporate/enterprise scale chains, I came across an article that outlined some blockchains that claimed they were ISO-20022 compliant and started my effort to determine how to make Cosmos chains ISO-20022 compliant. Since ISO-20022 was an emerging standard that Swift, FED-Wire and other financial institutions were implementing, other Fin-Tech (Financial Technologies) products, like blockchains, would need to comply to stay relevant.

I initially did some research on these other systems to see what made them compliant, but saw nothing in the code or documentation that explained how to make them so. At the time I knew there was a fork of the CosmosSDK called Line Financial Blockchain (LFB) that was being worked on for Central Bank Digital Currencies (CBDCs). As a central bank product it would certainly need to be ISO-20022 compliant. On Dec 23, 2021, I raised an issue on LFBā€™s GitHub for a module to be developed for the cosmos community at large.

The ISO-20022 definitions are linked on that issue. At this time, I began seeking to determine how to implement ISO standards into the Cosmos tech stack. I posted a message in discord to encourage others to try to figure out how to implement ISO-20022 standards into the system as well. Working on this problem for about 9 months, on September 6, 2022 I shared a post on the cosmos forum explaining how to achieve this.

ā€“ This is the SOLUTION ā€“ Preliminary patent research stated here too (Text based explanation, but at this time didnā€™t share any code examples)
ISO-20022 - Cosmos Ecosystem Financial Messaging Standardization

After stewing over this for some time (Iā€™m also a music producer, have actively been learning/using IoT, Ai, VR/AR, Robotics, Game Development, 3d Modeling, Architectural Auto-Cad) I thought about how to turn this knowledge into a blockchain product, and also wanted to achieve end-to-end ISO compliance using digital IDā€™s with or without zero-knowledge proofs.

  1. An ā€œOpenZeppelinā€ like product for ISO-Standard contracts for all blockchain products.
    ISO Standardization <ā€” a script to build all the contracts for every chain, need to purchase all the definitions from International Standardization Organization (ISO) to proceed building a tool, for all the contracts that would be of interest. (This is a very large project that would require substantial funding, and attention to detail for contracts related to IoT solutions and financial transactions)
  2. End-to-End ISO compliance - pinged @ankurb ā€” on this, as Cheqā€™d is in the Cosmos ecosystem, have an excellent team and that is working in the digital ID sphere (Here I shared code examples and diagrams that were privately shared in other places after a videochat with a @Govmos validator team member)
    Diversification of DAO Treasury through Real-World Assets (RWAs) and Real-World Projects (RWPs)

Timeline and Deliverables

The proposal request is for the time, a year salary for a mid-level programmer, and solutions produced/shared with the Cosmos community. This is a high impact critical problem set for the long-term viability of the Cosmos ecosystem that increases the value.

There are additional products/projects that would be worthwhile to pursue as a community ā€” real estate esq. digital and real property, manufacturing, farming, manual labor, etc. Since Cosmos is inherently a global community I understand the funding options are on a global scale and the various interests the community might have cover the entire geography of the globe.

The other various projects I would like to collaborate with the community on range from $1M+ on up. Iā€™m a huge fan of HEMP, love both the agriculture and manufacturing side of this business. Real estate development. Urban Planning. These will require further discussion and additional proposals.

Governance Votes

The following items summarize the voting options and what it means for this proposal:

YES - You approve this community spend proposal to spend 29,000 ATOM
NO - You disapprove of this community spend proposal in its current form (please indicate why in the Cosmos Forum)
NO WITH VETO - You are strongly opposed to this change and will exit the network if passed.
ABSTAIN - You are impartial to the outcome of the proposal.

Recipient

cosmos128zyy8ku95je5r284zeptgy88mmspcweyw9d22

Amount

29,000 ATOM

2 Likes

Strongly agree with this proposal.

Will vote yes.

1 Like

No.

This proposal is meandering and unconvincing.
Also difficult to follow.

As presented, this is a poorly defined/documented, backdated claim for exploratory efforts that have yet to be meaningfully validated or peer-reviewed.

There is no precedence on the hub to retroactively fund mere ā€œconcepts of plansā€.

3 Likes

Separately, I think itā€™s time for a parameter change ā€”specifically, reduce community pool tax from 10% to 2% (pre proposal #87 rate).

The 8.9 m ATOM in the pool should either:
a) be burned,
b) be transferred to the ICL for direct stewardship,
or a combination of both.

@Mag @bpiv400

2 Likes

Why do you strongly agree with this proposal?

Although I donā€™t frequently disagree with you, Iā€™ve got to say that I disagree with you here. I think that the community pool is a good thing that can do good things for Cosmos, and that it should stay in place. I also think that we should generally favor smaller funding, rather than larger funding.

Like yourself, I donā€™t really know what this proposal is about and so Iā€™m inclined not to support it.

If it makes any difference to anybody I also like hemp, in cannabis form.

Edit: Grace clarified and let me know that what sheā€™s actually saying is that we should empty the community pool and then have a 2% rate thereafter. In fact I think her solution is ideal, and we should Chase it.

@bpiv400 @Mag which of these solutions do you think is better?

If icl received 8.9 million atom, what would it do with them?

If the plan is decent Iā€™d support this.

Itā€™s also okay with me to burn em.

Thank you guys so much for your work on ethereum support, I think itā€™s going to bring tremendous things to the hub.

2 Likes

Iā€™m not saying cp should be nuked.
Am saying the tax rate is too high.

2 Likes

For developers, and executives interfacing with institutions like Circle - where there will be a requirement to be ISO-20022 compliant, it is clear what is required to be in compliance. I covered 3 different protocols - Ethereum, CosmWasm and CosmosSDK, there are other VMs like Solana that I did not cover, but the explanations should suffice to be successful.

I would pay close attention and ā€œfollowā€ the communication with @ankurb for the end-to-end discussion with Cheqā€™d, as there is a 3rd party involved that performs KYC/AML checks and who would post back an attestation with a zero-knowledge proof, or without. Based on that institutions api, it is required for them to extended their api surface to support a crypto wallet address in their suite of KYC/AML validation tools. The process would be the same for any institution perfroming that sort of validation, but I even explained what logic they need to implement.

I provided that in typescript, but I donā€™t know what logic thier system uses in the backend - it could be C#.

Iā€™m glad you brought this up. Thereā€™s not much precedence for much in the crypto community. I think we should experiment and try things as a community to see what works and what doesnā€™t. This isnā€™t the only solution or concept Iā€™ve provided, itā€™s the only one Iā€™m mentioning here and focused on because my communication for the other ā€œvaluableā€ contribution seems to have been lost in a deleted thread on discord. In the beginning of crypto ā€œthe excitementtā€ about compensating community members for ā€œvaluableā€ contributions was espoused. The precedent I wouldnā€™t be so enthused about is negating the value of those contributions.

Thanks for your vote of confidence, that I understand what Iā€™ve communicated and that I understand that it is true and correct, that anyone developing any chain or smart contract, can use that insight and be ISO-20022 compliant.

When I first identified this ISO-20022 transition and asked the community try to make Cosmos chains ISO-20022 complaint, as described in that article linked on github - which was reposted to Disocrd - you also posted a comment on Line Financial Blockchain - who was develpoing lfb speficially for CBDCs. That comment is no longer thereā€¦but it is a minute issue easily explained with a delete post - beacuse the solution was shared 9 months later.

Okay hi Jason

Itā€™s a very compelling concept. However, why is this considered to be retroactive funding?

Did I miss something?

Where is the work product?

For this amount what Iā€™d like to see is at least some kind of minimum viable product and code. Additionally, I donā€™t really think that Cosmos should pay for a patent that you own.

Nowā€¦

An nft patent that the Hub owns?

Priceless

1 Like

Part of the work product is all the research hours to understand the ISO-20022 problem set - opportunity gap. I focused on this for some time. Can build an ā€œOpenZepplinā€ like product, but need to buy all the ISO definitions from the International Standardizations Organization.

Iā€™ve outlined how this tool can be built, and provided some logic for it. I would alter this logic slightly but for the most part itā€™s the process and method I would go through to build the contract for ALL smart contracting languages. Iā€™ve only shared an ethereum example here, but this process would be used of all languages for this tool. There is nuacnces in which definitions should be used for different transactions. For example - a swap from a stable coin to a L1 coin is a different ISO definition than a swap from a L1 coin to a L1 coin.

In any case it would be required to buy the definitions 1st.

import * as fs from 'fs';

function generateSolidityContract(definition: string): void {
    // Define the Solidity contract content
    const contractContent = `
pragma solidity ^0.8.0;

contract ISOEventContract${capitalizeFirstLetter(definition)} {
    event ISOStandardEvent(uint256 isoStandardId, string description);

    function emitISOEvent() external {
        emit ISOStandardEvent(${definition}, "${definition}");
    }
}
`;

    // Write the content to a Solidity contract file
    const filename = `ISOEventContract_${definition}.sol`;
    fs.writeFileSync(filename, contractContent);

    console.log(`Solidity contract '${filename}' generated successfully.`);
}

function capitalizeFirstLetter(str: string): string {
    return str.charAt(0).toUpperCase() + str.slice(1);
}

// Read ISO standardization definitions from the 'definitions' file
const definitions = fs.readFileSync('definitions.txt', 'utf-8').split('\n');

// Generate Solidity contracts for each definition
definitions.forEach((definition) => {
    generateSolidityContract(definition. Trim());
});

Alternative to an ISO ā€œcontract generation toolā€ such as this, Iā€™ve suggested that in the code review process, that code reviews could get some ISO certification stating that the authors of the software implemented the correct ISO definition for the code. This is a fundamental question to the entire crypto community as to the level of professionalism we operate at. A work item I wouldnā€™t mind working on more, but that requires coordination with other L1 protocols, getting the ISO organization enguaged and derterming how to get code reviewers a certification to ISO certify the logic.

Both are likely viable initiatives.

Outside of those efforts - there is the end-to-end KYC/AML digitalID system solution. I havenā€™t finished and/or tested the logic for a smart contract that would receive a ZKP attestation from the KYC/AML operator, and the sake of brevity, I just linked to that conversation. Can mock a server to test this. It would require funding to continue work.

Rust
use cosmwasm_std::{
    entry_point, to_binary, Binary, Deps, DepsMut, Env, MessageInfo, Response, StdResult,
};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use winterfell::{Proof, VerifierError};
use winterfell::crypto::hashers::{Blake3_256, Hasher};

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
    VerifyProof(VerifyProofMsg),
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct VerifyProofMsg {
    pub proof: StarkProof,
    pub public_inputs: Vec<u8>,
    pub vk: Vec<u8>, // Verification key submitted with proof
}

#[entry_point]
pub fn instantiate(
    deps: DepsMut,
    _env: Env,
    _info: MessageInfo,
    _msg: Empty, // No instantiation message needed in this example
) -> Result<Response, ContractError> {
    // Initialize the verification key hash (if using hash commitment)
    // ...
    Ok(Response::default())
}

#[entry_point]
pub fn execute(
    deps: DepsMut,
    env: Env,
    info: MessageInfo,
    msg: ExecuteMsg,
) -> Result<Response, ContractError> {
    match msg {
        ExecuteMsg::VerifyProof(proof_msg) => verify_proof(deps, env, info, proof_msg),
    }
}

#[entry_point]
pub fn verify_proof(
    deps: DepsMut,
    env: Env,
    info: MessageInfo,
    msg: VerifyProofMsg,
) -> Result<Response, ContractError> {
   
    // 1. Load Verification Key (Stored in contract storage)
    let vk = load_verification_key(deps.storage)?;

    // 2. Verify Proof
    match winterfell::verify::<Blake3_256>(&vk, &msg.proof, &msg.public_inputs) {
        Ok(()) => Ok(Response::new().add_attribute("action", "proof_verified")),
        Err(VerifierError::VerificationFailed) => Err(ContractError::InvalidProof),
        Err(err) => Err(ContractError::VerificationError(err)), // Handle other errors
    }

}

With a digitalID I see how a NFT fits into this narrative. I could see how a NFT minted with every transaction that includes the ISO definition for that transaction could be viable. I actually broached the subject of making the patent ownable by the hub - or a DAO aligned with the hub. Iā€™m actually not opposed to the hub or org going in that direction.

What is critical here is not storing any personal information in a public database.

SUMMARY:
The bulk of the retroactive funding is for countless hours working solo on this problem set and solution(s), and/or logic provided so far. More work requires funding. Thereā€™s several moving pieces to the overall effortā€¦none of which is required to use the information provided independently.

For Clarity Sake - and you can ā€œseeā€ what Iā€™m talking about.

The 3rd party associated with Cheqā€™d is FinClusiveā€¦this is their api for:
Add a new entity client for compliance review.
APIs: Details - Microsoft Azure API Management - Developer Portal

To include a crypto wallet validation, assosiated with their process KYC/AML validationā€¦this is the api surface that would have to be extended in a production scenario.

Their API needs to be extended to include a One to Many assosiation for blockchain addresses assosiated with the Clinet KYC/AML product. On chain addresses are still pseudo anonymous.

// 1. Define the DTO for a SINGLE blockchain
class BlockchainDTO {
    blockchain: string; // A single blockchain identifier (name, symbol, etc.)
    addresses: string[] = []; // Addresses for THIS blockchain ONLY

    constructor(blockchain: string, addresses: string[] = []) {
        this.blockchain = blockchain;
        this.addresses = addresses;
    }
}

// 2. Define the type for tracking MULTIPLE blockchains using an array of the single DTO
export type MultiBlockchainTrackingDTO = BlockchainDTO[];

// 3. Example Usage
const multiChainData: MultiBlockchainTrackingDTO = [
    new BlockchainDTO("Ethereum", ["0x123...", "0xaaa..."]),
    new BlockchainDTO("Bitcoin", ["bc1q...", "3J98..."]),
    new BlockchainDTO("Solana", ["So11..."]),
];
1 Like

To be fair Iā€™ve been intentionally vague is some ways - like not posting the exact logic I would use, or explaining everything pertaining to a web based product and/or cli tool. Itā€™s a code example.

import * as fs from 'fs';

function generateSolidityContract(definition: string): void {
    // Define the Solidity contract content
    const contractContent = `
pragma solidity ^0.8.0;

contract ISOEventContract${capitalizeFirstLetter(definition)} {
    event ISOStandardEvent(uint256 isoStandardId, string description);

    function emitISOEvent() external {
        emit ISOStandardEvent(${definition}, "${definition}");
    }
}
`;

    // Write the content to a Solidity contract file
    const filename = `ISOEventContract_${definition}.sol`;
    fs.writeFileSync(filename, contractContent);

    console.log(`Solidity contract '${filename}' generated successfully.`);
}

function capitalizeFirstLetter(str: string): string {
    return str.charAt(0).toUpperCase() + str.slice(1);
}

// Read ISO standardization definitions from the 'definitions' file
const definitions = fs.readFileSync('definitions.txt', 'utf-8').split('\n');

// Generate Solidity contracts for each definition
definitions.forEach((definition) => {
    generateSolidityContract(definition. Trim());
});

This logic is flexible and can be used for different purposes. Currently this code consumes a file called definitions.txt fs.readFileSync('definitions.txt', 'utf-8').split('\n'); - and generates a bunch of contracts depending on how many definitions are in the definitions.txt file.

  1. Using this same logic in a server with the functions: generateCosmWasmContract, generateSolidityContract, generateSolanaConract, generateSuiContract, ectā€¦with drop down menus for the chain and definition type - accomplishes essentially the same thing in a web based product.

  2. Using those same functions in a cli product where those command line options are provided
    example: iso generateContract -- CosmWasm -- iso-20022 -- colr.013.001.05 generates those contracts in a command line tool.

Ā±----------+ Ā±----Ā±ā€”Ā±-----------------------------------------+
| Command | ā€” | ā€“ option | ā€“ option |
Ā±----------+ Ā±----Ā±ā€”Ā±-----------------------------------------+
| | |
| | |
| | Ā±-[ These become Positional Arguments ]ā€“+
| | | (The command receives ā€˜optionā€™ and |
| | | ā€˜optionā€™ as literal arguments, |
| | | not as flags/switches) |
| | Ā±---------------------------------------+
| |
| Ā±----------------------[ Separator: End of Options ]----------+
| | (Tells ā€˜Commandā€™ to stop looking for |
| | options like -v or --verbose. |
| | Everything following is an argument.) |
| Ā±-----------------------------------------------------------+
|
Ā±------------------------------------[ The Executable Program ]---------------+
| (The utility, script, or binary |
| you are running) |
Ā±---------------------------------------------------------------------------+

This definition I shared above is for an Interest Payment Request, not saying this is a real contract, but lets say this definition could be put into a contract for a funding proposal ā€” which the intent of this definition is likely meaning ā€” interest on some principle investment, not interest on any particular funding proposal - but for the sake of an example, it suffices.

Another example for perpetual markets:

colr.003.001.05 MarginCallRequestV05 <---- this Iso-Definition would be included in an event for a request to close a position
colr.004.001.05 MarginCallResponseV05 <----- this Iso-Definition would be included in an event
after that request was sent

Likely the same transaction in the way a decentralized blockchain works. However, a search and sort function across all L1 blockchains ā€” for all properly defined Iso events would allow a cohesive analysis on chain activity for the various definition types.

1 Like

Sounds like it might be time to put up the prop - these kinds of things keep happening

Hey Magmar, whatā€™s your thoughts on the ISO thing ? Independently from the funding request from community pool. Is it useless? Useful?

1 Like

That was an April fools joke btw.

Please fuck off with this proposal lol

1 Like

Cause it was the first of April.

1 Like

no burn please, preferable to acquire some new studf and teams instead

1 Like

Itā€™s a fair request.

I worked to solve the ISO concept for some time. There was another concept I suggested when I was working on this problem set - using Dapr, to build chains side by side. I said specifically - Iā€™m not sure what it could be used for, but it seems like itā€™s something to experiment with and try.

It ended up becoming a product in the Cosmos ecosystem built.
EDIT: This product here. https://youtube.com/clip/UgkxVKIVucjbE8NwWZsKjfrZexVTtXX1lorW?si=5m-f1LTc5sYnbpWb

After watching some of this - I did specifically suggest a Secret Network sidechain. Something else that I recall saying, was that itā€™s mainly a configuration file with the docker containers with the right ports for sidechain communicationā€¦what I didnā€™t quite grasp was how IBC would work into the equation, and I was foccused on the ISO stuff anyhow.

On anthor note - the use cases presented, are exellent - never even considered loading up the memory on the side chain and running an Ai model in it, but I get it.

Thereā€™s more ideas than just the ISO-request.

Thanks. @StunZeed.

Thereā€™s a community here. I have some NDAā€™s signed with some organizations for some of the concepts Iā€™ve put proposal up for. Nothing that Iā€™ve proposed do I think is unprofessional or unrealistic, or unfair ---- quite to the contrary in fact. These are reasonalbe requests.

When @Cosmos_Nanny states there is no presedence for ā€œretroactivlely fundingā€ someone - I generally agree with this more broadly - meaning thatā€¦there is ā€œno presedence in what a community of people aligned to a financial technology productā€ can do.

The proposals that Iā€™ve shared are seeking to explore organizing an international community beyond just software applications, in a mainly software oriented community. There is no presedence for how the community organizes - or what it can become.

What is the crypto community? What does the community represent? What is the values, and aspirations of the community? To be taken seriously? To be viable? To be intregal to the global GDP?

1 Like

At current rates, im sure a lot of the dev / validator teams that are workign with / around the hub, have spent more than 150k USD in the past 5 years. Sorry, but unsure how it all ties in

1 Like