oxen-io / lokinet

Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
https://lokinet.org/
GNU General Public License v3.0
1.76k stars 220 forks source link

Feature Concept: Useful Work used to Run Block Chain #1868

Closed Ryu945 closed 2 years ago

Ryu945 commented 2 years ago

This isn't fully developed so I am not sure how to implement this. The idea is that the work done in a block chain should be useful work. Whether the work is useful or not, the fact there is work that needs to be done is what secures a block chain.

One idea for useful work is website indexing. Currently, databases for websites that search engines use is monopolized by a few companies which weakens the integrity of the results. They can manipulate the database for their own purposes and no one has an alternative. The reason for this near monopoly is because it takes a lot of computer work to index the internet.

The idea is somehow require the task of indexing the internet to be part of the block chain work so that the work being done by computers on the Loki Network builds out a new website database. Then people can use a search engine with access to this database as an alternative to other search engines.

I am not sure at this time of how to incorporate indexing the internet into the block chain task.

Chief36 commented 2 years ago

Will this be feasible for node operators?

majestrate commented 2 years ago

Will this be feasible for node operators?

this depends on the details of the implementation that are currently not defined.

SomethingGettingWrong commented 2 years ago

I still think OXEN Servicenodes should use blink to lock confirmation time and then Wallet 3 could have atomic swaps and be a mixer of any ratio between 4 networks at once and that would be doing amazing work

Why cant service nodes do work by synching BTC,XMR,ETH, and OXEN full chains then working as REMOTE NODES to WALLET3 and then have Wallet 3 use one seed key to generate OXEN address then use it as entropy for a BTC,XMR ETH deterministic generated address. Then you have a wallet and a network that supports crosschain swaps

Have wallet 3 include something like this I mean i get its missing alot of context and code but its clear to see what I would be trying to do. Also. when locking senders oxen it means in the mempool with blink until either the swapcoin is sent or next block comes wihtout a btc tx then the mempool rejects the oxen tx


#include <iostream>
#include <string>

const int BTC{ 900 };
const int XMR{ 240 };
const int ETH{ 240 };
const int OXEN{240};

int main(){
int Confirimation_Lockout_time {Default};

switch (Confirmation_Lockout_time)
{
    case BTC : {
         std::cout << "Locking Senders Oxen for 15 mins and waiting for status of BTC confirmation:" << std::endl;
    }
    break;

    case XMR : {
         std::cout << "Locking Senders Oxen for 4 mins and waiting ofr status of Monero confirmation:" << std::endl;
    }
    break;

    case ETH : {
         std::cout << "Locking Senders Oxen for 4 mins and waiting for status of Eth confirmation:" << std::endl;
    }
    break;

  case  OXEN : {
         std::cout << "Sending Oxen via Blink:" << std::endl;
    }
    break;

    default: {
        std::cout << "No Coin Match Found!" << std::endl;
    }
        break;
}

std::cout << "Transaction Oxen has been locked in mempool waiting on service nodes to approve or deny swap or regular blink Tx: " << std::endl;
SomethingGettingWrong commented 2 years ago

Also you could even have a mixer by inserting

case MIXER const int {900};

Then make it a loop with the others wihtout breaks;

 case BTC : {
     std::cout << "Locking Senders Oxen for 15 mins and waiting for status of BTC confirmation:" << std::endl;
}
case XMR : {
     std::cout << "Locking Senders Oxen for 4 mins and waiting ofr status of Monero confirmation:" << std::endl;
} 
case ETH : {
     std::cout << "Locking Senders Oxen for 4 mins and waiting for status of Eth confirmation:" << std::endl;
}

THen when oxen is sent and parts of btc xmr and eth are recieved the oxen releases.. do this a few times and its mixed.

majestrate commented 2 years ago

isn't this really close to watch chainflip is doing? i think i get the proposition though, tokenize proof of useful work then allow it to be swappable on chain, that way you could have a decentralized swap for odd jobs or something. this is totally outside the scope of lokinet's domain of operation. maybe we need an issue tracker for high in the sky idea spit balling?

Ryu945 commented 2 years ago

I was thinking of doing an useful task that provides a service that needs to be done anyway. For example, indexing the internet so there are more search engine databases besides Alphabet and Microsoft. Another possibility is to have the miners on the Loki Network provide computational power to services in a way that providing it is required to calculate the next block. The Loki Network would be able to sell off this computation power.

planetoryd commented 1 year ago

@Ryu945 There has been a lot of research done on this topic. The fact is that it is not as easy as it seems. Even proving storage is already difficult enough, which is what Filecoin is working on. Indexing is far more complicated than storage. Proof of any work requires the proof to be universally verifiable with consistent result if you are doing consensus. Selling computation power is another problem, which has to be fair, and preferably verifiable. (refer to golem)