Special Purpose Workstations
Workstation Types
Server Owner | Location | Purpose | Notes |
---|---|---|---|
Auditor | State Auditor's Office | Looks at Token Usage | This is the only service that allows State of Wyoming Officials to understand the activities of customers. Here they can actually see who is spending what money and what transactions are occurring. |
Treasurer | State Treasurer's Office | Looks at events dealing with token creation, management and deletion | All events having to do with the creation of tokens are recorded on this one network node |
Performance | University of Wyoming's Center for Blockchain and Digital Innovation | Monitors the System's Performance | This shows how many transactions are being handled, where transactions are coming from in the world, time to execute transactions and other performance indicators |
Marketing | TBD | Monitor Activities Caused by Marketing | Allows marketers to use AI, BI to see the results of their marketing campaigns and to develop strategies to improve campaigns. |
Security Note
Because of security concerns, only the Node Located in the Auditor's Office should have auditor functionality.
We can create a custom dashboard that will display the data as required. The raw data can be imported to a database such as MySQL or into a platform such as DataDog so that meaningful graphic reports can be generated for the purpose of marketing metrics, system tuning, planning and PR. These reports will be generated based on the "Standard Report Records" as shown below:
The Events Table:
Records common events such as authentications, healing, locker services
event_id | date_time | ip_address | user_id | service_command_number | amount_processed | execution_time_nanoseconds | response_status |
---|---|---|---|---|---|---|---|
1 | 6/18/2024, 9:04:25 AM | 189.23.98.223 | e004af90-7a34-454d-af17-6aec64584fe7 | 8 | 10 | 5773 | 241 |
4 bytes | 4 Bytes | 16 Bytes | 16 Bytes | 2 Bytes | 4 Bytes | 4 Bytes | 2 Byte |
Int | DateTime | bin | bin | Small Int | Small Int | Small Int | Small Int |
The first byte of the Service Details specifies if the Service Details are 8 bit or 5 bit. If the first byte is a zero, it uses 8 bit otherwise it uses 5 bit.
RAIDA Error Table "raida_errors"
error_id | date_time | error_string |
---|---|---|
4 bytes | 4 bytes | 255 bytes |
Special Command Numbers that Represent Events
Auditors events start with 500. Treasury events with 600 and Performance Events with 700.
Event ID / Command Number | Event Title | Event Details |
---|---|---|
500 | KYC Account Created | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
501 | KYC Account Deleted | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
502 | User Account Created | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
503 | User Account Deleted | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
504 | Auditor Account Created | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
505 | Auditor Account Deleted | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
506 | Treasurer Account Created | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
507 | Treasurer Account Deleted | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
508 | Auditor Account Created | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
509 | Admin Account Deleted | Records everytime a user is created. User ID is the account creator. IP Address becomes the user ID created. |
600 | Admin Rate changed | Currency ID that was changed. Amount is the rate it was changed to. |
700 | Server Starting | everything else is zeros |
701 | Page Written | User ID is blank. Page number goes in amount |
702 | Internal Error Recorded | post a detail to the RAIDA Error Table "raida_errors". |
703 | Locker Index File Full | Amount is the amount of records that are full |
Event Monitoring Role Permissions
Metric Being Recorded | Included in Auditor | Included in Treasurer | Included in Performance | Marketing |
---|---|---|---|---|
Date Time | ✅ | ✅ | ✅ | ✅ |
IP Address | ✅ | ✅ | ✅ | ✅ |
User ID* | ✅ | ✅ | ❌ | ✅ |
Service Command Number | ✅ | ✅ | ✅ | ✅ |
Execution Time Nanoseconds | ✅ | ✅ | ✅ | ❌ |
Response Status | ✅ | ✅ | ✅ | ❌ |
Token Creation | ✅ | ✅ | ❌ | ✅ |
Token Deletion | ✅ | ✅ | ❌ | ✅ |
Set Conversion Fee | ✅ | ✅ | ❌ | ❌ |
User ID Enabling | ✅ | ✅ | ❌ | ❌ |
User ID Disabling | ✅ | ✅ | ❌ | ❌ |
KYC Document Access | ✅ | ✅ | ❌ | ❌ |
Joining User ID with True Identity | ✅ | ❌ | ❌ | ❌ |
The User ID is what allows activities to be traced to people. This is the biggest privacy concern.
Data is collected on the following subjects:
- Chronology. Such as the day and time when the most authentication requests occur.
- IP Address. Where in the world are authentications happening
- Service Use. How many tokens were authenticated.
- Customer ID Use. What did a specific user do.
- Technical. Transaction completion times, number of transactions per second, etc.
- Administrative actions such as creating
Dashboards
Auditor Dashboard
Top shows all of the most important facts including the last 24 hours: Total trades, Total Tokens, Total Unique Individuals, Average Trade, Speed of trades, Biggest Trade. Averages, counts, max and mins, totals, uniques. Second row allows for the selection of common reports including biggest trades, volume over the day, AI enabled suspicious activity.
Performance Dashboard
Shows all eight columns. There is a filter by drop down on each column head. Events can be sorted by start and end date. They can choose just one command to look at. "All" is the default. Sort based on user ID is possible. Sort by IP address. Sort by nanoseconds taken. Sort by Response code ('All' is default. There is a button "Search" that causes the query to execute.
Reports Buttons
- Search
- Show Averages
- Show Counts
- Show Max and Min
- Show Totals
- Show Uniques