This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
qort_data_hosting_model [10/11/2021 10:50] – created gfactor | qort_data_hosting_model [07/21/2022 05:13] – gfactor | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== QORT Data Hosting Model ====== | ====== QORT Data Hosting Model ====== | ||
{{: | {{: | ||
+ | {{:: | ||
- | **The Data Storage model of Qortal | + | **Qortal |
- | We came up with a method | + | QDN is a 100% FREE solution to rebuilding the Internet in a decentralized fashion. Instead |
- | We have a working prototype already which works in a similar way to IPFS but we hope will be a lot more user friendly. It’s only for static sites at the moment (HTML, JS, CSS, images, other static assets) so you would need to either build it directly as a static site, or take a static copy of an existing site using a tool such as httrack, SiteSucker, Simply Static, etc. | + | Now what if you come across ‘illicit’ content during your QDN browsing? Simply click the red x next to the website you’ve viewed and delete the data. Of course this raises a lot of concerns for the typical user and we completely understand. Please keep in mind that we are building a set of layers to Qortal’s infrastructure and perfecting this will take time. The plan is to develop a White List that users can choose to opt into, which we can work together to build and essentially block out the illicit content. We will also have another White List for kids, like a YouTube for kids, so parents can feel confident that their child is safely browsing the Qortal Network. True decentralization means we have truly no control over what others post, but we reserve control over our own nodes and the data we choose to access. |
+ | |||
+ | Data can be relayed through our nodes, in order for other nodes to communicate. All of this data is end-to-end encrypted, and is also chunked so the data is not relayed on a single node. The data being relayed is only on your node long enough to conduct the transfer, and is deleted afterwards automatically. Users can choose to opt out of relay mode if their lack of understanding with this matter raises too much concern. Getting data around the network is difficult and requires more fine tuning- even with relay mode enabled (which helps the network). To disable relay mode, add this setting to your json settings: | ||
+ | |||
+ | < | ||
+ | |||
+ | QDN is accessible to everyone and does not cost anything. The only cost is registering a name (current name registration fee can be found on the [[Qortal Status Updates]] page. | ||
+ | |||
+ | We came up with a method of data storage that could be better than using IPFS. We have a working prototype already which works in a similar way to IPFS but we hope will be a lot more user friendly. It’s only for static sites at the moment (HTML, JS, CSS, images, other static assets) so you would need to either build it directly as a static site, or take a static copy of an existing site using a tool such as httrack, SiteSucker, Simply Static, etc. | ||
Here are two examples of sites hosted on a Qortal data node: | Here are two examples of sites hosted on a Qortal data node: | ||
Line 21: | Line 30: | ||
Public data is only encrypted in terms of the account that put the data there, the encryption only controls the MODIFICATION of that data. Private data, on the other hand, will be fully encrypted. We’re not entirely certain yet on how we'll decide which private data is held by other nodes. Potentially we will just have an option to allow private data to be stored as a duplicate on your node. You’ll be rewarded for that data from the fees the person putting the data up will pay for the data to be stored/ | Public data is only encrypted in terms of the account that put the data there, the encryption only controls the MODIFICATION of that data. Private data, on the other hand, will be fully encrypted. We’re not entirely certain yet on how we'll decide which private data is held by other nodes. Potentially we will just have an option to allow private data to be stored as a duplicate on your node. You’ll be rewarded for that data from the fees the person putting the data up will pay for the data to be stored/ | ||
- | |||
- | Public data will be 100% FREE and use the same transaction methodology that Q-Chat uses, to put up the data hashes on the data chain. This means that Qortal web hosting and other public data functionality will be 100% feeless, and accessible to anyone (regardless of whether they hold QORT or not.) The only reason a person looking to host data on Qortal would need QORT, would be to register a name, which is a ONE TIME FEE, and the name is then owned forever (until potentially sold in the future 'names market' | ||
Here’s the code being worked on so far for the data hosting: https:// | Here’s the code being worked on so far for the data hosting: https:// | ||
- | |||
===== Notes From CalDescent ===== | ===== Notes From CalDescent ===== | ||
Line 58: | Line 64: | ||
-Everyone' | -Everyone' | ||
- | Obviously the approach above has major drawbacks for serious / high throughput use cases, and also ones that need to store sensitive data. But it would work in projects that update their data infrequently (e.g. wordpress), so it could be a fairly straightforward way to get started. Most of the foundations are in place for this already. | + | Obviously the approach above has major drawbacks for serious / high throughput use cases, and also ones that need to store sensitive data. But it would work in projects that update their data infrequently (e.g. WordPress), so it could be a fairly straightforward way to get started. Most of the foundations are in place for this already. |
The current plan is to include a java-based version of httrack in the data nodes, so that it can automatically convert a URL and add the static copy to the data chain. After that, we'll have the ability to include a bot in the data nodes that watches a given URL for changes and then automatically creates a static copy and publishes any differences to the chain each time. I'm not sure whether this feature will make it into v1 of data nodes; it will most depend on whether there is a java-based static site downloader already available. If not we'll have to create our own, which will take a while. | The current plan is to include a java-based version of httrack in the data nodes, so that it can automatically convert a URL and add the static copy to the data chain. After that, we'll have the ability to include a bot in the data nodes that watches a given URL for changes and then automatically creates a static copy and publishes any differences to the chain each time. I'm not sure whether this feature will make it into v1 of data nodes; it will most depend on whether there is a java-based static site downloader already available. If not we'll have to create our own, which will take a while. | ||
Line 64: | Line 70: | ||
The storage nodes will have their own API endpoints to access and update data. They' | The storage nodes will have their own API endpoints to access and update data. They' | ||
- | ===== More Notes From CalDescent: ===== | + | ===== More Notes From CalDescent ===== |
- | + | ||
The way public data hosting works at the moment is by using confirmable transactions (so that there is always an on-chain record of updates to each website/ | The way public data hosting works at the moment is by using confirmable transactions (so that there is always an on-chain record of updates to each website/ | ||
Line 76: | Line 81: | ||
All of the above relates to " | All of the above relates to " | ||
+ | |||
+ | Name registration doubles as a “domain name” for websites and other data hosted by that account (in v3.0). Currently owned domain names will not be possible to transfer registration to your account on Qortal. They are completely separate and there won't be any way of linking them. Traditional domain names rely on " | ||
+ | |||
+ | You can absolutely access it via a separate browser. There are a couple of options: | ||
+ | |||
+ | 1. Using the API on a public/ | ||
+ | |||
+ | 2. Using the “domain mapping” feature with existing DNS - e.g http:// | ||
+ | |||
+ | When setting up domain mapping: you will need to add the domain name to your node(s) and then point the domain at them via DNS. You can have multiple nodes behind a single domain for better redundancy. | ||
+ | |||
+ | This “gateway” feature is now developed, so we can already support gateways to the Qortal network via an existing domain. E.g: < | ||
+ | |||
+ | or | ||
+ | |||
+ | < | ||
+ | |||
+ | etc. | ||
+ | |||
+ | Basically anyone who is willing to can provide access to the entire Qortal network of websites via a domain they own. They just have to enable the gateway service in their node’s settings (and point their domain at the node using DNS). You can always connect the traditional domain name to your Qortal site if you want to. It will just rely on centralised components, unlike using a registered name within Qortal. | ||
+ | |||
+ | ===== We Use PoW For Data Uploads ===== | ||
+ | |||
+ | We use PoW for data uploads to reduce the ability for people to spam the chain with data. For most transaction types in Qortal, we use a 0.001 QORT transaction fee. For QDN we decided to remove the fee and replace it with a " | ||
+ | |||
+ | The main reason for doing this for QDN was because we were planning on putting data hashes on a sidechain that wouldn' |