GeoOracle
The GeoOracle
is the enforcement layer for regional content restrictions across the TRN platform. It ensures that posts are only accessible to users in jurisdictions permitted by the governing CountryNFT holders. Each CountryNFT defines its own moderation policies, which are applied to content based on the geographic location of the user requesting it.
This module ensures that:
Regional rules are enforced at the post hash level
CountryNFTs can govern what content is allowed in their jurisdiction
Geo-restrictions are enforced on-chain, but with enforcement logic kept private
🔐 Core Functionality
Geographic Enforcement
When a user requests a post, the
GeoOracle
checks their IP-derived geographic region.The post hash is evaluated against that region’s enforcement list.
If blocked by the user's country, the content is hidden, even if it's a retrn or part of a boosted campaign.
Post Hash Evaluation
All geo-blocking is enforced at the content hash level.
This ensures that retrns of banned content are also blocked.
The oracle does not operate on metadata or retrn wrappers — only the original post hash.
CountryNFT Rulesets
Each CountryNFT manages its own:
Public constraints (content categories, keywords, AI filters)
Private enforcement decisions (specific post hashes)
Constraints are published transparently.
Actual post-level bans are kept private and executed by that country's moderation agents.
Semantic Filtering + AI Triggering
The
GeoOracle
integrates with each country’s custom moderation AI.Semantic triggers (e.g. NSFW, violence, political dissent) can be tuned per country.
Embedding-based filters match AI patterns to constraints, then tag post hashes for enforcement.
🌐 Visibility and Transparency
Post Visibility
Blocked at hash level, regardless of wrapper or retrn
Constraint Transparency
Publicly available for each CountryNFT
Post Block Transparency
Private — only visible to the country’s enforcement agents
Appeals
Not initially supported; block decisions are silent
Inter-country Transparency
Content can be accessed if allowed in another jurisdiction
🧩 Workflow Summary
Post Creation
Creator publishes a post to IPFS and signs it into the platform.
Its hash is generated and stored.
User Request
A viewer requests content.
Their location is determined via IP analysis (off-chain → on-chain oracle adapter).
GeoOracle Evaluation
The viewer’s country ruleset is consulted.
If the post hash is in the country’s deny list, it is blocked.
Otherwise, the content is shown.
Ongoing Sync
CountryNFT agents may add or remove content from their restricted list.
Updates are propagated via governance or AI detection pipelines.
📘 Suggested Contract Architecture (Abstracted)
mapping(bytes32 => mapping(address => bool)) public isHashBannedByCountry;
function isVisibleToUser(address user, bytes32 postHash) external view returns (bool) {
address country = GeoResolver.getUserCountry(user);
return !isHashBannedByCountry[postHash][country];
}
function banPostHash(bytes32 postHash, address country) external onlyCountryOracle(country) {
isHashBannedByCountry[postHash][country] = true;
}
💼 Governance by CountryNFT
CountryNFT holders are empowered to:
Define public AI constraints (e.g. block porn, hate speech, etc.)
Maintain private enforcement lists.
Operate their own moderation agents or AI pipelines.
Post blocks do not affect earnings globally — only access from specific regions.
Users in unrestricted countries may still earn from, view, or interact with the same content.
🚫 Enforcement Guarantees
Retrn of banned post
Blocked (hash-level match triggers enforcement)
Boost of banned post
Blocked (boosts must still pass GeoOracle checks)
User in restricted country
Cannot view the post at all
Creator from restricted country
Can create content, but viewers are limited based on region
✅ Summary
The GeoOracle
is a critical enforcement engine ensuring that regional constraints are respected without compromising global decentralization. It empowers countries to define their own moderation systems while maintaining consistency, privacy, and sovereignty over content governance.
Last updated