Decentralized Sharing Channels

These Decentralized Sharing Channels (public or secret) can be created by any user. They enable anyone to freely share information, search, chat, and stream multimedia with other users in an independent, fully-decentralized swarm.

For the geek in you, the "Channels" feature of Tixati is a particularly good demonstration of how to build a decentralized networked application that supports very high throughputs whilst remaining cryptographically secure in a 100% decentralized environment. This includes a linear network-coded decentralized media streaming feature, which is secured by a homomorphic hash function and elliptic-curve signatures (the first system of it's kind to be implemented successfully.)

Basic Operation

A channel with 7 users. Green signifies peer connections.
A channel is a collection of one or more peers that connect together to form a loose matrix. This is much like a normal file transfer, except instead of sharing parts of a file, peers are exchanging chat messages and shared information.

Channels are discovered either via sharing of a dsc: link to a channel, or by gathering a list of publicly-visible channels via the Gather Channels function under the Add button.

Channels can be created by any user. The Create New Channel function under the Add button opens a simple dialog window that allows the user to specify the permanent name and private key for the new channel, as well as whether the channel will announce itself to the public channel-list. An asynchronous encryption key pair is calculated which will be used as the root of the channel's public-key infrastructure.

Peers within a channel can chat, view/search each other's shared information and links, and broadcast multimedia streams.

Quick Tutorial

Start by gathering a list of publicly-visible channels. This can be done by clicking the Add button at the top of the main channel list.

A channel can be joined by double-clicking. It is best to pay attention to the Users column and join a channel with plenty of activity.

Once the status light turns green, you are connected to other peers in the channel. If the light does not turn green, this can be due to lack of other users in the channel, or not enough users in the channel that are able to accept incoming TCP or UDP connections (perhaps due to firewall or NAT issues).

After a connection is made, use the Chat button to communicate with other users in the channel. You can type in a message at the bottom of the chat window and press ENTER and it will be visible to everyone else in the channel. User names can be right-clicked for more advanced options such as sending a private message.

Links to file transfers and HTTP web resources can be shared with other users in a free-form style in the Share view. Links to files you are currently downloading or uploading can be inserted and automatically updated by clicking the Insert button and selecting Transfers from the menu. Once changes are saved, all links will be parsed into a clickable display-formatted link. The appearance will be exactly the same as what other users see when they browse you.

Use the Search view to find links to file transfers or web resources among other user's shared data. Double-click an item to download or open it.

It is important to understand that searches are done locally from information passively gathered from other users. When you first enter a channel, it takes some time for shared links and resources to accumulate as they propagate through the network. Waiting a few extra minutes and then pressing the search button again will allow more links to arrive.

Creating A Channel

Click the Add button on top and select Create from the dropdown menu.

The rest of the process is relatively straight-forward.

It is important to have at a few managers or owners in the channel if you want to be visible in the public channel-list when users gather channels. Managers and owners are also the only ones that can edit or propagate the contents of the Information tab.

For new users to enter the channel, it is best if there are at least one operator (or higher) in the channel. If a user has visited the channel within the past 48 hours, an operator does not have to be present for entry into the channel, unless the user changes their name or key.

The channel information contains directives that you can edit to control bandwidth usage and other aspects of channel operation.

Assigning Levels

Tixati channels support 12 levels for users in channels, from Owner to Banned. Using the GUI, Owner can change the level for any other user up to Manager. Creating a co-owner requires a different process. Owner must copy the Secret Key from Channels -> Network -> Options and send it to the new co-owner by private message. The recipient then copies and pastes that Secret Key into the same setting field on their client and POOF! the channel ownership is cloned. Be careful with assigning this "Owner" level, as you will be unable to demote them by force. In order to lose owner status, that person must clear the channel's Secret Key.

Users can change the level assigned to others of lessor status, up to 1 level below themselves. A Manager can't alter the level of another co-equal Manager and can only raise someone else to Operator, which is the level immediately under Manager.

What powers and privileges each level has is sometimes configurable, such as the setting for minimum level to stream media in the channel. Streaming affects all users in the channel since their bandwidth is used to propagate the stream whether or not they are playing the stream themselves or not. Aside from the default level for streaming permission, a user of lessor level can be given individual permission to stream.

Channel User Levels

Owner: This user level allows everything possible. Also controls channel 'topic'.

Manager: This level needs to be present for a channel to be advertised when someone gathers the list. This level can edit channel info and can stream by default. The streaming default level can be changed in the channel config and/or other individual user's may be granted permission to stream.

Operator: Users of this level or above must be in the channel for new users to join.

Moderator: Can kick/ban users. Pieces of this user's shared links are broadcast every 12 seconds.

Star: Pieces of this user's shared links are broadcast every 15 seconds.

VIP: Pieces of this user's shared links are broadcast every 20 seconds.

Trusted: Pieces of this user's shared links are broadcast every 30 seconds.

Normal: Default user level, which may be changed in the channel config. Pieces of this user's shared links are broadcast every 15 seconds.

Basic: Not allowed to share.

Quiet: Not allowed to post messages in chat.

Silent: Not allowed to send private messages.

Banned: User is not allowed to connect to this channel.

Other Miscellaneous Tips

Press shift-esc to clear the chat window display (when the display or text-entry is focused).

/timestamps on
/timestamps off

Only the channel owner(s) have the ability to sign topic directives in the channel info. This is necessary to make channel gather operations more efficient (keeps authorization chains very short).

Sharing .torrent metadata files

If you have socially significant files you wish to 'advertise', you can do that with tixati chatrooms. Only those in a channel with you can see your list and you have complete control over which .torrent metadata files you wish to show or give to other users in the channel. You do not have to be downloading or seeding the actual files. This function only shares the .torrent metadata file itself, not the content. Of course you can also be seeding the files too, but that is optional and controlled by your transfer list, not this link share list.

To offer/advertise certain .torrent metadata links, click the Channels page --> share button --> edit this page --> + Add --> transfers. Next, select from your list of torrent links and click add selected transfers. Again, these do not need to be active transfers, they can be in offline status.

You can also share your entire list of torrents or by categories. Explore this nice feature and give it a try. It will make these sharing channels much more interesting and useful. If you paste: ##mirror:transfers into your share window, it will advertise your entire list of transfer links.

Another option is to 'mirror' the same shares you are sharing in a different channel. This allows you to share the same items you are sharing in a different channel without needing to update both when something changes. To use this feature, go to the channel where you want to mirror the shares. Click the Share button --> Edit This Page --> + Add --> Mirror. Now select the channel you wish to mirror. Tixati will only allow you to mirror shares from a channel where you have at least one item shared.

To see who if any in a channel is advertising such torrent metadata links, mouse over their name in the nick list and if they are, it will be listed on their stat tag. Then, select their name, right click then browse from the menu that opens. Share and share alike.