¡Saludos de temporada de toda la comunidad de Witnet! Como siempre, este mes se ha visto a la comunidad Witnet plantear muchas preguntas. Ve a buscar una taza de chocolate caliente y lee. ¿Tienes alguna pregunta sobre Witnet? ¡Mira los enlaces al final de este artículo!
P: ¿Necesitaré CPU o GPU para minar tokens WIT?
UN: Minería WIT requiere ni GPU ni CPU, ya que la "minería" en el Protocolo Witnet no implica prueba de trabajo (PoW) o, de hecho, prueba de estaca (PoS).
En cambio, los privilegios de minería WIT se asignan a través de un sistema automático sistema de reputación – Al completar honestamente las tareas Recuperar-Atestiguar-Entregar datos, ganas puntos de reputación. Cuanto mayor sea su puntaje, más probable y con frecuencia se seleccionará su nodo para proponer bloques.
Bloques de minería solo significa agregar bloques a la punta de la cadena sin otro requisito que presentar un documento válido Prueba de elegibilidad (el mismo tipo de prueba criptográfica que da derecho a los nodos testigos para resolver solicitudes de datos).
Como minero, puede esperar ganar una parte de las recompensas adjuntas a las solicitudes de datos que se asignan aleatoriamente a su nodo, más recompensas de bloque ocasionales adicionales.
La recompensa en bloque es de 500 WIT / época (cada 90 segundos), y la tasa de emisión se reduce a la mitad con el tiempo (similar a BTC). Esto garantiza que las solicitudes de datos serán especialmente rentables durante los primeros años, lo que permite al ecosistema hacer un descubrimiento de precios razonado.
Para más información, consulte el tutorial de nuestros mineros.
P: ¿Witnet incorpora SGX o cualquier otro TEE?
UN: Tal como está actualmente, Witnet considera que el uso de entornos de ejecución de confianza (TEE) (incluido el SGX de Intel) es arriesgado para la seguridad y el espíritu de una verdadera red Oracle descentralizada. Esto es por algunas razones diferentes:
La vinculación del protocolo a una tecnología o plataforma específica plantea un elemento de centralización; Un solo punto de falla. Por ejemplo, si todos (o incluso la mayoría) de los nodos deben ejecutarse en procesadores habilitados para SGX, y se descubre una vulnerabilidad de día cero, entonces todos los nodos en SGX se ven afectados, y la seguridad y la viabilidad de la red están en peligro. sean barreras de entrada injustas, y queremos darles a todos la oportunidad de participar y ganar recompensas WIT. Esto tiene un beneficio adicional: ¡más nodos capaces de participar en la red = más descentralización! En la actualidad, la comunidad Witnet también considera que sus salvaguardas de seguridad son inadecuadas y vulnerables a los ataques (por ejemplo, las vulnerabilidades de Spectre y Memory Bus).
Como resultado, el protocolo Witnet no admite puntos finales privados por el momento, solo API públicas. Los desarrolladores de contratos aún pueden usar API autenticadas, si no les importa revelar la clave de acceso (por ejemplo, en el caso de claves de acceso temporales de solo lectura).
No hay una solución trivial para esta limitación en este momento; seguiremos trabajando para encontrar un diseño seguro para admitir todas las API y explorar todas las opciones, incluidos los TEE, sistemas como DECO, snarks de conocimiento cero, cifrado homomórfico o cualquier otra tecnología de vanguardia que llegue a mercado.
P: ¿Cómo trata Witnet con las desviaciones de datos?
Un ejemplo de solicitud de Witnet escrita en Javascript usando el "Truffle Box" de Witnet
En el ejemplo anterior, hay dos fuentes diferentes que se agregan de una manera que si uno de ellos se desvía demasiado del promedio, se excluye de los resultados Esperamos que este filtro de exclusión se use en la mayoría de las solicitudes para tratar valores atípicos.
En el futuro, podría ser una buena idea agregar soporte para análisis más sofisticados, como IQR, clustering k-means o filtros bayesianos. Mientras tanto, los desarrolladores de contratos deben usar .filter (Witnet.Filters.DeviationStandard, 1.5), que es un valor predeterminado seguro para solicitudes que tratan con tipos de valores no discretos como Integer o Float. Para valores discretos (por ejemplo, String, Boolean), la mejor opción es a menudo .filter (Witnet.Filters.Mode).