Does Google know more about us than we do? Is there is an alternative solution? Does fully decentralized access to the information make sense?

I have been looking all the weekend to have the possibility to search over the internet without the current close source and centralized search engine.

Today 90% of the searches are made with Google, and most of the other search engines are not open. Economic advantages using dominant position in the searches have been seen in the past and in some countries searches are limited by the government. It is quite difficult today to find anything on the web or dark web without using a centralized, closed source search engine. Open source/data search engine will not replace the big players but will be useful for some use case and need to be developed in order to preserve a natural opposition to main ones for freedom.

Using "proof of stack" for ranking result can be quite surprising but it is the best available today for a truly transparent and decentralized consensus. This first version is a bit limited and allows only the first 100 stacks to appears on a specific keyword, but we can envisage the next version with a cooperative stack where the nonprofit organization can be backed by the crowd.

Giving visibility for free (stacking is temporary, we can withdraw the stack at any moment) seems quite interesting. With the number of possible keywords avoiding a group taking control of the full network. It seems that this system can give quite cheap visibility for enterprises and give them the possibility to focus on their main business.

This naming system avoids any interest to resel names as a domain name and in this way the cybersquatting and give the possibility for the newcomers to start without the need to buy an expensive domain name.

It is still an early stage proof of concept but I like to explore more the possibilities of such model.

What it does

The blochain is used to maintain a qualified list of keywords associated with existing domains/web sites. On to of it a neutral distributed application is used to browse the result of the searches and add new records. There is no economic incentive for the developers. Money is spent only on the blockchain to register a new domain. All the stack associated with a keyword is temporary and can be withdrawn any time by the owner in exchange of the release of the keyword entry. Keyword entries are ranked by stack and reverse date within the blockchain but users are free to modify the order with other algorithms when they extract it.

Anybody can register keyword/host address and add a stack on top of it. Anybody can query for addresses associated with a keyword, results will be ordered by stack value. The application is open source and fully decentralized. For search result, it displays image title and description of the website getting the information in realtime scrolling the public header of the website within the search.

The app is up and running. It needs a wallet linked to the browser in order to run action over the blockchain and smart contract so it runs only on compatible browsers (Like firefox + Metamask).

How I built it

On top of Etherum network, using Solidity smart contract, rinkeby network, php/javascript/web3/bootstrap for the DAPP client. Using op header metadata to scroll page information as just the reference of the page is stored. The application has been built locally first and has been put on the web linked to the Rinkeby test network. Using Infura for access to the test network. I have made the integration with wyre to prepare the future payment so the users can charge directly their Metamask wallet to stack on the keywords with Wyre plugin. After making working on the ETH test network I integrate my smart contract and dapp with Skale. It took 15 min with the team! Easy job to make it running and all the functionality are preserved, except the chain records obviously.

Challenges I ran into

Putting the Ethereum node online, making web3.js working, debugging my solidity code from nonexplicit errors. Hard time to be alone for a big project, but I got lots of technical help and brainstorming from mentors and other participants. I slept only 3 hours (Saturday 7am - 10 am) for the full weekend.

Accomplishments that I'm proud of

My first Dapp up and running on Ethereum test net.

What I learned

Ethereum / Solidity / web3.js

What's next for Blockchain Name System

Automatic addition of information, from existing database or lookup at the DNS usage to figure out interesting domain names. Adding the possibility for multi-stacking on the same record (Keyword / Domain) to give the possibility for the crowd to sustain nonprofit. Adding more protocols that can be linked to keywords.

Built With

Share this project: